Average Error: 3.9 → 0.8
Time: 8.8s
Precision: binary64
Cost: 1602
Math TeX FPCore C \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
↓
\[\begin{array}{l}
\mathbf{if}\;t \leq -2.408599115432412 \cdot 10^{+106}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + t \cdot \frac{\frac{0.3333333333333333}{z}}{y}\\
\mathbf{elif}\;t \leq 1.4493721208221 \cdot 10^{-48}:\\
\;\;\;\;x + -0.3333333333333333 \cdot \frac{y - \frac{t}{y}}{z}\\
\mathbf{else}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{z \cdot \left(y \cdot 3\right)}\\
\end{array}\]
\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y} ↓
\begin{array}{l}
\mathbf{if}\;t \leq -2.408599115432412 \cdot 10^{+106}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + t \cdot \frac{\frac{0.3333333333333333}{z}}{y}\\
\mathbf{elif}\;t \leq 1.4493721208221 \cdot 10^{-48}:\\
\;\;\;\;x + -0.3333333333333333 \cdot \frac{y - \frac{t}{y}}{z}\\
\mathbf{else}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{z \cdot \left(y \cdot 3\right)}\\
\end{array} (FPCore (x y z t)
:precision binary64
(+ (- x (/ y (* z 3.0))) (/ t (* (* z 3.0) y)))) ↓
(FPCore (x y z t)
:precision binary64
(if (<= t -2.408599115432412e+106)
(+ (- x (/ y (* z 3.0))) (* t (/ (/ 0.3333333333333333 z) y)))
(if (<= t 1.4493721208221e-48)
(+ x (* -0.3333333333333333 (/ (- y (/ t y)) z)))
(+ (- x (/ y (* z 3.0))) (/ t (* z (* y 3.0))))))) double code(double x, double y, double z, double t) {
return (x - (y / (z * 3.0))) + (t / ((z * 3.0) * y));
}
↓
double code(double x, double y, double z, double t) {
double tmp;
if (t <= -2.408599115432412e+106) {
tmp = (x - (y / (z * 3.0))) + (t * ((0.3333333333333333 / z) / y));
} else if (t <= 1.4493721208221e-48) {
tmp = x + (-0.3333333333333333 * ((y - (t / y)) / z));
} else {
tmp = (x - (y / (z * 3.0))) + (t / (z * (y * 3.0)));
}
return tmp;
}
Try it out Enter valid numbers for all inputs
Target Original 3.9 Target 1.7 Herbie 0.8
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
Alternatives Alternative 1 Error 35.2 Cost 33088
\[x + \frac{\sqrt[3]{-0.3333333333333333} \cdot \sqrt[3]{-0.3333333333333333}}{\sqrt{z}} \cdot \left(\left(y - \frac{t}{y}\right) \cdot \frac{\sqrt[3]{-0.3333333333333333}}{\sqrt{z}}\right)\]
Alternative 2 Error 47.0 Cost 26688
\[x + \left(\frac{-0.3333333333333333}{z} \cdot \left(\sqrt{y} + \sqrt{\frac{t}{y}}\right)\right) \cdot \left(\sqrt{y} - \sqrt{\frac{t}{y}}\right)\]
Alternative 3 Error 4.7 Cost 21184
\[\frac{t}{y \cdot \left(z \cdot 3\right)} + \sqrt[3]{x - \frac{y}{z \cdot 3}} \cdot \left(\sqrt[3]{x - \frac{y}{z \cdot 3}} \cdot \sqrt[3]{x - \frac{y}{z \cdot 3}}\right)\]
Alternative 4 Error 4.1 Cost 21184
\[\left(x - \frac{y}{z \cdot 3}\right) + \sqrt[3]{\frac{t}{y \cdot \left(z \cdot 3\right)}} \cdot \left(\sqrt[3]{\frac{t}{y \cdot \left(z \cdot 3\right)}} \cdot \sqrt[3]{\frac{t}{y \cdot \left(z \cdot 3\right)}}\right)\]
Alternative 5 Error 4.3 Cost 21184
\[x + \sqrt[3]{\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)} \cdot \left(\sqrt[3]{\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)} \cdot \sqrt[3]{\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)}\right)\]
Alternative 6 Error 4.3 Cost 20672
\[x + \sqrt[3]{y - \frac{t}{y}} \cdot \left(\frac{-0.3333333333333333}{z} \cdot \left(\sqrt[3]{y - \frac{t}{y}} \cdot \sqrt[3]{y - \frac{t}{y}}\right)\right)\]
Alternative 7 Error 4.4 Cost 20416
\[x + \left(\sqrt[3]{\frac{-0.3333333333333333}{z}} \cdot \sqrt[3]{\frac{-0.3333333333333333}{z}}\right) \cdot \left(\left(y - \frac{t}{y}\right) \cdot \sqrt[3]{\frac{-0.3333333333333333}{z}}\right)\]
Alternative 8 Error 38.3 Cost 14528
\[x + \frac{-0.3333333333333333 \cdot \left({y}^{3} - {\left(\frac{t}{y}\right)}^{3}\right)}{z \cdot \left(y \cdot y + \frac{t}{y} \cdot \left(y + \frac{t}{y}\right)\right)}\]
Alternative 9 Error 34.0 Cost 14144
\[x + \sqrt{\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)} \cdot \sqrt{\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)}\]
Alternative 10 Error 35.1 Cost 13760
\[x + \frac{1}{\sqrt{z}} \cdot \left(\left(y - \frac{t}{y}\right) \cdot \frac{-0.3333333333333333}{\sqrt{z}}\right)\]
Alternative 11 Error 32.8 Cost 13760
\[x + \sqrt{\frac{-0.3333333333333333}{z}} \cdot \left(\left(y - \frac{t}{y}\right) \cdot \sqrt{\frac{-0.3333333333333333}{z}}\right)\]
Alternative 12 Error 34.0 Cost 13632
\[x + \frac{-0.3333333333333333}{z} \cdot \left(y - \frac{\frac{t}{\sqrt{y}}}{\sqrt{y}}\right)\]
Alternative 13 Error 35.1 Cost 13632
\[x + \left(y - \frac{t}{y}\right) \cdot \frac{\frac{-0.3333333333333333}{\sqrt{z}}}{\sqrt{z}}\]
Alternative 14 Error 36.1 Cost 13568
\[x + \frac{-0.3333333333333333}{z} \cdot \sqrt[3]{{\left(y - \frac{t}{y}\right)}^{3}}\]
Alternative 15 Error 31.1 Cost 13568
\[x + \sqrt[3]{-0.037037037037037035 \cdot {\left(\frac{y - \frac{t}{y}}{z}\right)}^{3}}\]
Alternative 16 Error 36.8 Cost 2112
\[\frac{x \cdot x - \left(y - \frac{t}{y}\right) \cdot \left(\frac{y - \frac{t}{y}}{z} \cdot \frac{0.1111111111111111}{z}\right)}{x - \frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)}\]
Alternative 17 Error 30.6 Cost 1472
\[x + \frac{\frac{-0.3333333333333333}{z} \cdot \left(y \cdot y - \frac{t}{y} \cdot \frac{t}{y}\right)}{y + \frac{t}{y}}\]
Alternative 18 Error 27.9 Cost 1472
\[x + \frac{-0.3333333333333333 \cdot \left(y \cdot y - \frac{t}{y} \cdot \frac{t}{y}\right)}{z \cdot \left(y + \frac{t}{y}\right)}\]
Alternative 19 Error 3.9 Cost 1088
\[\frac{t}{y \cdot \left(z \cdot 3\right)} + \left(x - \frac{1}{\frac{z}{\frac{y}{3}}}\right)\]
Alternative 20 Error 3.8 Cost 1088
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{1}{\frac{z \cdot 3}{\frac{t}{y}}}\]
Alternative 21 Error 3.9 Cost 960
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{y \cdot \left(z \cdot 3\right)}\]
Alternative 22 Error 3.9 Cost 960
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{z \cdot \left(y \cdot 3\right)}\]
Alternative 23 Error 3.9 Cost 960
\[\frac{t}{y \cdot \left(z \cdot 3\right)} + \left(x - \frac{\frac{y}{z}}{3}\right)\]
Alternative 24 Error 4.2 Cost 960
\[\left(x - \frac{y}{z \cdot 3}\right) + t \cdot \frac{\frac{0.3333333333333333}{z}}{y}\]
Alternative 25 Error 3.9 Cost 960
\[\left(x - \frac{y}{z \cdot 3}\right) - \frac{t}{z \cdot \left(y \cdot -3\right)}\]
Alternative 26 Error 29.5 Cost 832
\[\frac{t}{y \cdot \left(z \cdot 3\right)} + y \cdot \frac{-0.3333333333333333}{z}\]
Alternative 27 Error 3.9 Cost 832
\[x + \left(y - \frac{t}{y}\right) \cdot \left(-0.3333333333333333 \cdot \frac{1}{z}\right)\]
Alternative 28 Error 3.9 Cost 832
\[x + \left(y - \frac{t}{y}\right) \cdot \frac{1}{\frac{z}{-0.3333333333333333}}\]
Alternative 29 Error 3.8 Cost 704
\[x + \frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)\]
Alternative 30 Error 3.9 Cost 704
\[x + -0.3333333333333333 \cdot \frac{y - \frac{t}{y}}{z}\]
Alternative 31 Error 3.8 Cost 704
\[x + \frac{-0.3333333333333333 \cdot \left(y - \frac{t}{y}\right)}{z}\]
Alternative 32 Error 23.1 Cost 704
\[x + \frac{t}{y} \cdot \left(0.3333333333333333 \cdot \frac{1}{z}\right)\]
Alternative 33 Error 23.1 Cost 704
\[x + \frac{1}{\frac{z \cdot 3}{\frac{t}{y}}}\]
Alternative 34 Error 22.9 Cost 576
\[x + \frac{t}{y \cdot \left(z \cdot 3\right)}\]
Alternative 35 Error 29.4 Cost 576
\[\frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)\]
Alternative 36 Error 23.1 Cost 576
\[x + \frac{0.3333333333333333}{z} \cdot \frac{t}{y}\]
Alternative 37 Error 18.3 Cost 576
\[x + y \cdot \left(-0.3333333333333333 \cdot \frac{1}{z}\right)\]
Alternative 38 Error 48.1 Cost 448
\[\frac{0.3333333333333333}{z} \cdot \frac{t}{y}\]
Alternative 39 Error 18.3 Cost 448
\[x + y \cdot \frac{-0.3333333333333333}{z}\]
Alternative 40 Error 43.9 Cost 320
\[y \cdot \frac{-0.3333333333333333}{z}\]
Alternative 41 Error 37.3 Cost 64
\[x\]
Alternative 42 Error 62.0 Cost 64
\[1\]
Alternative 43 Error 62.4 Cost 64
\[0\]
Alternative 44 Error 61.9 Cost 64
\[-1\]
Error Derivation Split input into 3 regimes if t < -2.40859911543241194e106 Initial program 0.6
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
Using strategy rm Applied div-inv_binary64_18383 0.6
\[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \color{blue}{t \cdot \frac{1}{\left(z \cdot 3\right) \cdot y}}\]
Simplified0.6
\[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + t \cdot \color{blue}{\frac{\frac{0.3333333333333333}{z}}{y}}\]
Simplified0.6
\[\leadsto \color{blue}{\left(x - \frac{y}{z \cdot 3}\right) + t \cdot \frac{\frac{0.3333333333333333}{z}}{y}}\]
if -2.40859911543241194e106 < t < 1.4493721208220999e-48 Initial program 5.7
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
Simplified0.7
\[\leadsto \color{blue}{x + \frac{-0.3333333333333333}{z} \cdot \left(y - \frac{t}{y}\right)}\]
Using strategy rm Applied div-inv_binary64_18383 0.8
\[\leadsto x + \color{blue}{\left(-0.3333333333333333 \cdot \frac{1}{z}\right)} \cdot \left(y - \frac{t}{y}\right)\]
Applied associate-*l*_binary64_18327 0.9
\[\leadsto x + \color{blue}{-0.3333333333333333 \cdot \left(\frac{1}{z} \cdot \left(y - \frac{t}{y}\right)\right)}\]
Simplified0.9
\[\leadsto x + -0.3333333333333333 \cdot \color{blue}{\frac{y - \frac{t}{y}}{z}}\]
Simplified0.9
\[\leadsto \color{blue}{x + -0.3333333333333333 \cdot \frac{y - \frac{t}{y}}{z}}\]
if 1.4493721208220999e-48 < t Initial program 0.8
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
Using strategy rm Applied associate-*l*_binary64_18327 0.8
\[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\color{blue}{z \cdot \left(3 \cdot y\right)}}\]
Simplified0.8
\[\leadsto \color{blue}{\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{z \cdot \left(y \cdot 3\right)}}\]
Recombined 3 regimes into one program. Final simplification0.8
\[\leadsto \begin{array}{l}
\mathbf{if}\;t \leq -2.408599115432412 \cdot 10^{+106}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + t \cdot \frac{\frac{0.3333333333333333}{z}}{y}\\
\mathbf{elif}\;t \leq 1.4493721208221 \cdot 10^{-48}:\\
\;\;\;\;x + -0.3333333333333333 \cdot \frac{y - \frac{t}{y}}{z}\\
\mathbf{else}:\\
\;\;\;\;\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{z \cdot \left(y \cdot 3\right)}\\
\end{array}\]
Reproduce herbie shell --seed 2021042
(FPCore (x y z t)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, H"
:precision binary64
:herbie-target
(+ (- x (/ y (* z 3.0))) (/ (/ t (* z 3.0)) y))
(+ (- x (/ y (* z 3.0))) (/ t (* (* z 3.0) y))))