Average Error: 0.0 → 0.0
Time: 21.7s
Precision: 64
\[x + \left(y - x\right) \cdot z\]
\[x + \left(y - x\right) \cdot z\]
x + \left(y - x\right) \cdot z
x + \left(y - x\right) \cdot z
double f(double x, double y, double z) {
        double r10712660 = x;
        double r10712661 = y;
        double r10712662 = r10712661 - r10712660;
        double r10712663 = z;
        double r10712664 = r10712662 * r10712663;
        double r10712665 = r10712660 + r10712664;
        return r10712665;
}

double f(double x, double y, double z) {
        double r10712666 = x;
        double r10712667 = y;
        double r10712668 = r10712667 - r10712666;
        double r10712669 = z;
        double r10712670 = r10712668 * r10712669;
        double r10712671 = r10712666 + r10712670;
        return r10712671;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[x + \left(y - x\right) \cdot z\]
  2. Final simplification0.0

    \[\leadsto x + \left(y - x\right) \cdot z\]

Reproduce

herbie shell --seed 2019162 
(FPCore (x y z)
  :name "Diagrams.ThreeD.Shapes:frustum from diagrams-lib-1.3.0.3, B"
  (+ x (* (- y x) z)))