Average Error: 0.0 → 0.0
Time: 10.4s
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 r37049696 = 1.0;
        double r37049697 = 8.0;
        double r37049698 = r37049696 / r37049697;
        double r37049699 = x;
        double r37049700 = r37049698 * r37049699;
        double r37049701 = y;
        double r37049702 = z;
        double r37049703 = r37049701 * r37049702;
        double r37049704 = 2.0;
        double r37049705 = r37049703 / r37049704;
        double r37049706 = r37049700 - r37049705;
        double r37049707 = t;
        double r37049708 = r37049706 + r37049707;
        return r37049708;
}

double f(double x, double y, double z, double t) {
        double r37049709 = t;
        double r37049710 = 1.0;
        double r37049711 = 8.0;
        double r37049712 = r37049710 / r37049711;
        double r37049713 = x;
        double r37049714 = r37049712 * r37049713;
        double r37049715 = y;
        double r37049716 = z;
        double r37049717 = r37049715 * r37049716;
        double r37049718 = 2.0;
        double r37049719 = r37049717 / r37049718;
        double r37049720 = r37049714 - r37049719;
        double r37049721 = r37049709 + r37049720;
        return r37049721;
}

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