Average Error: 0.0 → 0.0
Time: 919.0ms
Precision: 64
\[\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t\]
\[\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t\]
\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t
\left(\frac{1}{8} \cdot x - \frac{y \cdot z}{2}\right) + t
double f(double x, double y, double z, double t) {
        double r721415 = 1.0;
        double r721416 = 8.0;
        double r721417 = r721415 / r721416;
        double r721418 = x;
        double r721419 = r721417 * r721418;
        double r721420 = y;
        double r721421 = z;
        double r721422 = r721420 * r721421;
        double r721423 = 2.0;
        double r721424 = r721422 / r721423;
        double r721425 = r721419 - r721424;
        double r721426 = t;
        double r721427 = r721425 + r721426;
        return r721427;
}

double f(double x, double y, double z, double t) {
        double r721428 = 1.0;
        double r721429 = 8.0;
        double r721430 = r721428 / r721429;
        double r721431 = x;
        double r721432 = r721430 * r721431;
        double r721433 = y;
        double r721434 = z;
        double r721435 = r721433 * r721434;
        double r721436 = 2.0;
        double r721437 = r721435 / r721436;
        double r721438 = r721432 - r721437;
        double r721439 = t;
        double r721440 = r721438 + r721439;
        return r721440;
}

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

Reproduce

herbie shell --seed 2020056 +o rules:numerics
(FPCore (x y z t)
  :name "Diagrams.Solve.Polynomial:quartForm  from diagrams-solve-0.1, B"
  :precision binary64

  :herbie-target
  (- (+ (/ x 8) t) (* (/ z 2) y))

  (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t))