Average Error: 3.6 → 1.8
Time: 4.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{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z \cdot 3} \cdot \frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \sqrt[3]{\sqrt[3]{t}}}{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{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z \cdot 3} \cdot \frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \sqrt[3]{\sqrt[3]{t}}}{y}
double f(double x, double y, double z, double t) {
        double r907929 = x;
        double r907930 = y;
        double r907931 = z;
        double r907932 = 3.0;
        double r907933 = r907931 * r907932;
        double r907934 = r907930 / r907933;
        double r907935 = r907929 - r907934;
        double r907936 = t;
        double r907937 = r907933 * r907930;
        double r907938 = r907936 / r907937;
        double r907939 = r907935 + r907938;
        return r907939;
}

double f(double x, double y, double z, double t) {
        double r907940 = x;
        double r907941 = y;
        double r907942 = z;
        double r907943 = 3.0;
        double r907944 = r907942 * r907943;
        double r907945 = r907941 / r907944;
        double r907946 = r907940 - r907945;
        double r907947 = t;
        double r907948 = cbrt(r907947);
        double r907949 = r907948 * r907948;
        double r907950 = r907949 / r907944;
        double r907951 = cbrt(r907949);
        double r907952 = cbrt(r907948);
        double r907953 = r907951 * r907952;
        double r907954 = r907953 / r907941;
        double r907955 = r907950 * r907954;
        double r907956 = r907946 + r907955;
        return r907956;
}

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.7
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 add-cube-cbrt3.8

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

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

    \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{z \cdot 3} \cdot \frac{\sqrt[3]{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}}{y}\]
  7. Applied cbrt-prod1.8

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

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

Reproduce

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