Average Error: 0.0 → 0.0
Time: 10.6s
Precision: 64
\[begin + \left(end - begin\right) \cdot t\]
\[begin + \left(end - begin\right) \cdot t\]
begin + \left(end - begin\right) \cdot t
begin + \left(end - begin\right) \cdot t
double f(double begin, double end, double t) {
        double r1847800 = begin;
        double r1847801 = end;
        double r1847802 = r1847801 - r1847800;
        double r1847803 = t;
        double r1847804 = r1847802 * r1847803;
        double r1847805 = r1847800 + r1847804;
        return r1847805;
}

double f(double begin, double end, double t) {
        double r1847806 = begin;
        double r1847807 = end;
        double r1847808 = r1847807 - r1847806;
        double r1847809 = t;
        double r1847810 = r1847808 * r1847809;
        double r1847811 = r1847806 + r1847810;
        return r1847811;
}

Error

Bits error versus begin

Bits error versus end

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[begin + \left(end - begin\right) \cdot t\]
  2. Final simplification0.0

    \[\leadsto begin + \left(end - begin\right) \cdot t\]

Reproduce

herbie shell --seed 1 
(FPCore (begin end t)
  :name "begin + (end - begin) * t"
  :precision binary64
  (+ begin (* (- end begin) t)))