Average Error: 3.4 → 1.4
Time: 7.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{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z}}{\frac{y}{\frac{\sqrt[3]{t}}{3}}}\]
\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{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z}}{\frac{y}{\frac{\sqrt[3]{t}}{3}}}
double f(double x, double y, double z, double t) {
        double r759722 = x;
        double r759723 = y;
        double r759724 = z;
        double r759725 = 3.0;
        double r759726 = r759724 * r759725;
        double r759727 = r759723 / r759726;
        double r759728 = r759722 - r759727;
        double r759729 = t;
        double r759730 = r759726 * r759723;
        double r759731 = r759729 / r759730;
        double r759732 = r759728 + r759731;
        return r759732;
}

double f(double x, double y, double z, double t) {
        double r759733 = x;
        double r759734 = y;
        double r759735 = z;
        double r759736 = 3.0;
        double r759737 = r759735 * r759736;
        double r759738 = r759734 / r759737;
        double r759739 = r759733 - r759738;
        double r759740 = t;
        double r759741 = cbrt(r759740);
        double r759742 = r759741 * r759741;
        double r759743 = r759742 / r759735;
        double r759744 = r759741 / r759736;
        double r759745 = r759734 / r759744;
        double r759746 = r759743 / r759745;
        double r759747 = r759739 + r759746;
        return r759747;
}

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.4
Target1.7
Herbie1.4
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]

Derivation

  1. Initial program 3.4

    \[\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.7

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \color{blue}{\frac{\frac{t}{z \cdot 3}}{y}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt1.9

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}{z \cdot 3}}{y}\]
  6. Applied times-frac1.9

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\color{blue}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z} \cdot \frac{\sqrt[3]{t}}{3}}}{y}\]
  7. Applied associate-/l*1.4

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

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

Reproduce

herbie shell --seed 2019354 
(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))))