Average Error: 3.6 → 1.8
Time: 17.3s
Precision: 64
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{\frac{t}{z}}{3}}{y}\]
\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}
\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{\frac{t}{z}}{3}}{y}
double f(double x, double y, double z, double t) {
        double r564851 = x;
        double r564852 = y;
        double r564853 = z;
        double r564854 = 3.0;
        double r564855 = r564853 * r564854;
        double r564856 = r564852 / r564855;
        double r564857 = r564851 - r564856;
        double r564858 = t;
        double r564859 = r564855 * r564852;
        double r564860 = r564858 / r564859;
        double r564861 = r564857 + r564860;
        return r564861;
}

double f(double x, double y, double z, double t) {
        double r564862 = x;
        double r564863 = y;
        double r564864 = z;
        double r564865 = 3.0;
        double r564866 = r564864 * r564865;
        double r564867 = r564863 / r564866;
        double r564868 = r564862 - r564867;
        double r564869 = t;
        double r564870 = r564869 / r564864;
        double r564871 = r564870 / r564865;
        double r564872 = r564871 / r564863;
        double r564873 = r564868 + r564872;
        return r564873;
}

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

Original3.6
Target1.8
Herbie1.8
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]

Derivation

  1. Initial program 3.6

    \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
  2. Using strategy rm
  3. Applied associate-/r*1.8

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \color{blue}{\frac{\frac{t}{z \cdot 3}}{y}}\]
  4. Using strategy rm
  5. Applied associate-/r*1.8

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\color{blue}{\frac{\frac{t}{z}}{3}}}{y}\]
  6. Final simplification1.8

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{\frac{t}{z}}{3}}{y}\]

Reproduce

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

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

  (+ (- x (/ y (* z 3))) (/ t (* (* z 3) y))))