Average Error: 0.0 → 0.0
Time: 6.3s
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 r35435852 = 1.0;
        double r35435853 = 8.0;
        double r35435854 = r35435852 / r35435853;
        double r35435855 = x;
        double r35435856 = r35435854 * r35435855;
        double r35435857 = y;
        double r35435858 = z;
        double r35435859 = r35435857 * r35435858;
        double r35435860 = 2.0;
        double r35435861 = r35435859 / r35435860;
        double r35435862 = r35435856 - r35435861;
        double r35435863 = t;
        double r35435864 = r35435862 + r35435863;
        return r35435864;
}

double f(double x, double y, double z, double t) {
        double r35435865 = t;
        double r35435866 = 1.0;
        double r35435867 = 8.0;
        double r35435868 = r35435866 / r35435867;
        double r35435869 = x;
        double r35435870 = r35435868 * r35435869;
        double r35435871 = y;
        double r35435872 = z;
        double r35435873 = r35435871 * r35435872;
        double r35435874 = 2.0;
        double r35435875 = r35435873 / r35435874;
        double r35435876 = r35435870 - r35435875;
        double r35435877 = r35435865 + r35435876;
        return r35435877;
}

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