Average Error: 0.0 → 0.0
Time: 5.3s
Precision: 64
\[\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t\]
\[t + \left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right)\]
\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t
t + \left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right)
double f(double x, double y, double z, double t) {
        double r544680 = 1.0;
        double r544681 = 8.0;
        double r544682 = r544680 / r544681;
        double r544683 = x;
        double r544684 = r544682 * r544683;
        double r544685 = y;
        double r544686 = z;
        double r544687 = r544685 * r544686;
        double r544688 = 2.0;
        double r544689 = r544687 / r544688;
        double r544690 = r544684 - r544689;
        double r544691 = t;
        double r544692 = r544690 + r544691;
        return r544692;
}

double f(double x, double y, double z, double t) {
        double r544693 = t;
        double r544694 = 1.0;
        double r544695 = 8.0;
        double r544696 = r544694 / r544695;
        double r544697 = x;
        double r544698 = r544696 * r544697;
        double r544699 = y;
        double r544700 = z;
        double r544701 = r544699 * r544700;
        double r544702 = 2.0;
        double r544703 = r544701 / r544702;
        double r544704 = r544698 - r544703;
        double r544705 = r544693 + r544704;
        return r544705;
}

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} + t\right) - \frac{z}{2} \cdot y\]

Derivation

  1. Initial program 0.0

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

    \[\leadsto t + \left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right)\]

Reproduce

herbie shell --seed 2019194 
(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))