Average Error: 11.1 → 1.2
Time: 17.9s
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 r524011 = x;
        double r524012 = y;
        double r524013 = z;
        double r524014 = r524012 - r524013;
        double r524015 = t;
        double r524016 = r524014 * r524015;
        double r524017 = a;
        double r524018 = r524017 - r524013;
        double r524019 = r524016 / r524018;
        double r524020 = r524011 + r524019;
        return r524020;
}

double f(double x, double y, double z, double t, double a) {
        double r524021 = y;
        double r524022 = z;
        double r524023 = r524021 - r524022;
        double r524024 = cbrt(r524023);
        double r524025 = a;
        double r524026 = r524025 - r524022;
        double r524027 = cbrt(r524026);
        double r524028 = r524024 / r524027;
        double r524029 = t;
        double r524030 = r524027 / r524029;
        double r524031 = r524024 / r524030;
        double r524032 = cbrt(r524031);
        double r524033 = r524032 * r524032;
        double r524034 = r524032 * r524033;
        double r524035 = r524028 * r524034;
        double r524036 = r524035 * r524028;
        double r524037 = x;
        double r524038 = r524036 + r524037;
        return r524038;
}

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))))