Average Error: 0.0 → 0.0
Time: 5.1s
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 r566064 = 1.0;
        double r566065 = 8.0;
        double r566066 = r566064 / r566065;
        double r566067 = x;
        double r566068 = r566066 * r566067;
        double r566069 = y;
        double r566070 = z;
        double r566071 = r566069 * r566070;
        double r566072 = 2.0;
        double r566073 = r566071 / r566072;
        double r566074 = r566068 - r566073;
        double r566075 = t;
        double r566076 = r566074 + r566075;
        return r566076;
}

double f(double x, double y, double z, double t) {
        double r566077 = t;
        double r566078 = 1.0;
        double r566079 = 8.0;
        double r566080 = r566078 / r566079;
        double r566081 = x;
        double r566082 = r566080 * r566081;
        double r566083 = y;
        double r566084 = z;
        double r566085 = r566083 * r566084;
        double r566086 = 2.0;
        double r566087 = r566085 / r566086;
        double r566088 = r566082 - r566087;
        double r566089 = r566077 + r566088;
        return r566089;
}

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