Average Error: 3.7 → 1.0
Time: 3.7s
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}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\frac{\sqrt[3]{t}}{3}}{\sqrt[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{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\frac{\sqrt[3]{t}}{3}}{\sqrt[3]{y}}
double f(double x, double y, double z, double t) {
        double r722693 = x;
        double r722694 = y;
        double r722695 = z;
        double r722696 = 3.0;
        double r722697 = r722695 * r722696;
        double r722698 = r722694 / r722697;
        double r722699 = r722693 - r722698;
        double r722700 = t;
        double r722701 = r722697 * r722694;
        double r722702 = r722700 / r722701;
        double r722703 = r722699 + r722702;
        return r722703;
}

double f(double x, double y, double z, double t) {
        double r722704 = x;
        double r722705 = y;
        double r722706 = z;
        double r722707 = 3.0;
        double r722708 = r722706 * r722707;
        double r722709 = r722705 / r722708;
        double r722710 = r722704 - r722709;
        double r722711 = t;
        double r722712 = cbrt(r722711);
        double r722713 = r722712 * r722712;
        double r722714 = r722713 / r722706;
        double r722715 = cbrt(r722705);
        double r722716 = r722715 * r722715;
        double r722717 = r722714 / r722716;
        double r722718 = r722712 / r722707;
        double r722719 = r722718 / r722715;
        double r722720 = r722717 * r722719;
        double r722721 = r722710 + r722720;
        return r722721;
}

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

Derivation

  1. Initial program 3.7

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

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}\]
  6. Applied add-cube-cbrt2.0

    \[\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}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}\]
  7. Applied times-frac2.0

    \[\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}}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}\]
  8. Applied times-frac1.0

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

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

Reproduce

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