Average Error: 11.1 → 1.2
Time: 17.1s
Precision: 64
\[x + \frac{\left(y - z\right) \cdot t}{a - z}\]
\[\left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}} \cdot \left(\sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}} \cdot \sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}}\right)\right)\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x\]
x + \frac{\left(y - z\right) \cdot t}{a - z}
\left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}} \cdot \left(\sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}} \cdot \sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}}\right)\right)\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x
double f(double x, double y, double z, double t, double a) {
        double r396314 = x;
        double r396315 = y;
        double r396316 = z;
        double r396317 = r396315 - r396316;
        double r396318 = t;
        double r396319 = r396317 * r396318;
        double r396320 = a;
        double r396321 = r396320 - r396316;
        double r396322 = r396319 / r396321;
        double r396323 = r396314 + r396322;
        return r396323;
}

double f(double x, double y, double z, double t, double a) {
        double r396324 = y;
        double r396325 = z;
        double r396326 = r396324 - r396325;
        double r396327 = cbrt(r396326);
        double r396328 = a;
        double r396329 = r396328 - r396325;
        double r396330 = cbrt(r396329);
        double r396331 = r396327 / r396330;
        double r396332 = t;
        double r396333 = r396330 / r396332;
        double r396334 = r396327 / r396333;
        double r396335 = cbrt(r396334);
        double r396336 = r396335 * r396335;
        double r396337 = r396335 * r396336;
        double r396338 = r396331 * r396337;
        double r396339 = r396338 * r396331;
        double r396340 = x;
        double r396341 = r396339 + r396340;
        return r396341;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original11.1
Target0.5
Herbie1.2
\[\begin{array}{l} \mathbf{if}\;t \lt -1.068297449017406694366747246993994850729 \cdot 10^{-39}:\\ \;\;\;\;x + \frac{y - z}{a - z} \cdot t\\ \mathbf{elif}\;t \lt 3.911094988758637497591020599238553861375 \cdot 10^{-141}:\\ \;\;\;\;x + \frac{\left(y - z\right) \cdot t}{a - z}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y - z}{a - z} \cdot t\\ \end{array}\]

Derivation

  1. Initial program 11.1

    \[x + \frac{\left(y - z\right) \cdot t}{a - z}\]
  2. Simplified2.8

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

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

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

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

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

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

    \[\leadsto \left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \color{blue}{\left(\frac{t}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}}\right)} + x\]
  12. Applied associate-*r*1.8

    \[\leadsto \color{blue}{\left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \frac{t}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}}} + x\]
  13. Simplified3.5

    \[\leadsto \color{blue}{\left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z} \cdot t}{\sqrt[3]{a - z}}\right)} \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x\]
  14. Using strategy rm
  15. Applied add-cube-cbrt3.7

    \[\leadsto \left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \color{blue}{\left(\left(\sqrt[3]{\frac{\sqrt[3]{y - z} \cdot t}{\sqrt[3]{a - z}}} \cdot \sqrt[3]{\frac{\sqrt[3]{y - z} \cdot t}{\sqrt[3]{a - z}}}\right) \cdot \sqrt[3]{\frac{\sqrt[3]{y - z} \cdot t}{\sqrt[3]{a - z}}}\right)}\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x\]
  16. Simplified4.2

    \[\leadsto \left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\color{blue}{\left(\sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}} \cdot \sqrt[3]{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{t}}}\right)} \cdot \sqrt[3]{\frac{\sqrt[3]{y - z} \cdot t}{\sqrt[3]{a - z}}}\right)\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x\]
  17. Simplified1.2

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

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

Reproduce

herbie shell --seed 2019194 
(FPCore (x y z t a)
  :name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, A"

  :herbie-target
  (if (< t -1.0682974490174067e-39) (+ x (* (/ (- y z) (- a z)) t)) (if (< t 3.9110949887586375e-141) (+ x (/ (* (- y z) t) (- a z))) (+ x (* (/ (- y z) (- a z)) t))))

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