Average Error: 0.0 → 0.0
Time: 25.6s
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 r33298411 = 1.0;
        double r33298412 = 8.0;
        double r33298413 = r33298411 / r33298412;
        double r33298414 = x;
        double r33298415 = r33298413 * r33298414;
        double r33298416 = y;
        double r33298417 = z;
        double r33298418 = r33298416 * r33298417;
        double r33298419 = 2.0;
        double r33298420 = r33298418 / r33298419;
        double r33298421 = r33298415 - r33298420;
        double r33298422 = t;
        double r33298423 = r33298421 + r33298422;
        return r33298423;
}

double f(double x, double y, double z, double t) {
        double r33298424 = t;
        double r33298425 = 1.0;
        double r33298426 = 8.0;
        double r33298427 = r33298425 / r33298426;
        double r33298428 = x;
        double r33298429 = r33298427 * r33298428;
        double r33298430 = y;
        double r33298431 = z;
        double r33298432 = r33298430 * r33298431;
        double r33298433 = 2.0;
        double r33298434 = r33298432 / r33298433;
        double r33298435 = r33298429 - r33298434;
        double r33298436 = r33298424 + r33298435;
        return r33298436;
}

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