Average Error: 0.0 → 0.0
Time: 12.2s
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 r35588743 = 1.0;
        double r35588744 = 8.0;
        double r35588745 = r35588743 / r35588744;
        double r35588746 = x;
        double r35588747 = r35588745 * r35588746;
        double r35588748 = y;
        double r35588749 = z;
        double r35588750 = r35588748 * r35588749;
        double r35588751 = 2.0;
        double r35588752 = r35588750 / r35588751;
        double r35588753 = r35588747 - r35588752;
        double r35588754 = t;
        double r35588755 = r35588753 + r35588754;
        return r35588755;
}

double f(double x, double y, double z, double t) {
        double r35588756 = t;
        double r35588757 = 1.0;
        double r35588758 = 8.0;
        double r35588759 = r35588757 / r35588758;
        double r35588760 = x;
        double r35588761 = r35588759 * r35588760;
        double r35588762 = y;
        double r35588763 = z;
        double r35588764 = r35588762 * r35588763;
        double r35588765 = 2.0;
        double r35588766 = r35588764 / r35588765;
        double r35588767 = r35588761 - r35588766;
        double r35588768 = r35588756 + r35588767;
        return r35588768;
}

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 2019163 
(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))