Average Error: 0.0 → 0.0
Time: 10.5s
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 r30004603 = 1.0;
        double r30004604 = 8.0;
        double r30004605 = r30004603 / r30004604;
        double r30004606 = x;
        double r30004607 = r30004605 * r30004606;
        double r30004608 = y;
        double r30004609 = z;
        double r30004610 = r30004608 * r30004609;
        double r30004611 = 2.0;
        double r30004612 = r30004610 / r30004611;
        double r30004613 = r30004607 - r30004612;
        double r30004614 = t;
        double r30004615 = r30004613 + r30004614;
        return r30004615;
}

double f(double x, double y, double z, double t) {
        double r30004616 = t;
        double r30004617 = 1.0;
        double r30004618 = 8.0;
        double r30004619 = r30004617 / r30004618;
        double r30004620 = x;
        double r30004621 = r30004619 * r30004620;
        double r30004622 = y;
        double r30004623 = z;
        double r30004624 = r30004622 * r30004623;
        double r30004625 = 2.0;
        double r30004626 = r30004624 / r30004625;
        double r30004627 = r30004621 - r30004626;
        double r30004628 = r30004616 + r30004627;
        return r30004628;
}

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