Average Error: 0.0 → 0.0
Time: 19.8s
Precision: 64
\[\left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right) + t\]
\[t + \left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right)\]
\left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right) + t
t + \left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right)
double f(double x, double y, double z, double t) {
        double r37457540 = 1.0;
        double r37457541 = 8.0;
        double r37457542 = r37457540 / r37457541;
        double r37457543 = x;
        double r37457544 = r37457542 * r37457543;
        double r37457545 = y;
        double r37457546 = z;
        double r37457547 = r37457545 * r37457546;
        double r37457548 = 2.0;
        double r37457549 = r37457547 / r37457548;
        double r37457550 = r37457544 - r37457549;
        double r37457551 = t;
        double r37457552 = r37457550 + r37457551;
        return r37457552;
}

double f(double x, double y, double z, double t) {
        double r37457553 = t;
        double r37457554 = 1.0;
        double r37457555 = 8.0;
        double r37457556 = r37457554 / r37457555;
        double r37457557 = x;
        double r37457558 = r37457556 * r37457557;
        double r37457559 = y;
        double r37457560 = z;
        double r37457561 = r37457559 * r37457560;
        double r37457562 = 2.0;
        double r37457563 = r37457561 / r37457562;
        double r37457564 = r37457558 - r37457563;
        double r37457565 = r37457553 + r37457564;
        return r37457565;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.0
Target0.0
Herbie0.0
\[\left(\frac{x}{8.0} + t\right) - \frac{z}{2.0} \cdot y\]

Derivation

  1. Initial program 0.0

    \[\left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right) + t\]
  2. Final simplification0.0

    \[\leadsto t + \left(\frac{1.0}{8.0} \cdot x - \frac{y \cdot z}{2.0}\right)\]

Reproduce

herbie shell --seed 2019162 
(FPCore (x y z t)
  :name "Diagrams.Solve.Polynomial:quartForm  from diagrams-solve-0.1, B"

  :herbie-target
  (- (+ (/ x 8.0) t) (* (/ z 2.0) y))

  (+ (- (* (/ 1.0 8.0) x) (/ (* y z) 2.0)) t))