Average Error: 0.0 → 0.0
Time: 969.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 r626673 = 1.0;
        double r626674 = 8.0;
        double r626675 = r626673 / r626674;
        double r626676 = x;
        double r626677 = r626675 * r626676;
        double r626678 = y;
        double r626679 = z;
        double r626680 = r626678 * r626679;
        double r626681 = 2.0;
        double r626682 = r626680 / r626681;
        double r626683 = r626677 - r626682;
        double r626684 = t;
        double r626685 = r626683 + r626684;
        return r626685;
}

double f(double x, double y, double z, double t) {
        double r626686 = 1.0;
        double r626687 = 8.0;
        double r626688 = r626686 / r626687;
        double r626689 = x;
        double r626690 = r626688 * r626689;
        double r626691 = y;
        double r626692 = z;
        double r626693 = r626691 * r626692;
        double r626694 = 2.0;
        double r626695 = r626693 / r626694;
        double r626696 = r626690 - r626695;
        double r626697 = t;
        double r626698 = r626696 + r626697;
        return r626698;
}

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