Average Error: 0 → 0
Time: 9.9s
Precision: 64
\[\left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB\]
\[\left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB\]
\left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB
\left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB
double f(double f, double flLambda, double PointA, double PointB) {
        double r1743844 = 1.0;
        double r1743845 = f;
        double r1743846 = r1743844 * r1743845;
        double r1743847 = flLambda;
        double r1743848 = r1743846 - r1743847;
        double r1743849 = PointA;
        double r1743850 = r1743848 * r1743849;
        double r1743851 = PointB;
        double r1743852 = r1743847 * r1743851;
        double r1743853 = r1743850 + r1743852;
        return r1743853;
}

double f(double f, double flLambda, double PointA, double PointB) {
        double r1743854 = 1.0;
        double r1743855 = f;
        double r1743856 = r1743854 * r1743855;
        double r1743857 = flLambda;
        double r1743858 = r1743856 - r1743857;
        double r1743859 = PointA;
        double r1743860 = r1743858 * r1743859;
        double r1743861 = PointB;
        double r1743862 = r1743857 * r1743861;
        double r1743863 = r1743860 + r1743862;
        return r1743863;
}

Error

Bits error versus f

Bits error versus flLambda

Bits error versus PointA

Bits error versus PointB

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0

    \[\left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB\]
  2. Final simplification0

    \[\leadsto \left(1 \cdot f - flLambda\right) \cdot PointA + flLambda \cdot PointB\]

Reproduce

herbie shell --seed 1 
(FPCore (f flLambda PointA PointB)
  :name "((1.0f - flLambda) * PointA) + (flLambda * PointB)"
  :precision binary32
  (+ (* (- (* 1 f) flLambda) PointA) (* flLambda PointB)))