Average Error: 7.7 → 2.2
Time: 7.7s
Precision: binary64
Cost: 1346
Math TeX FPCore C \[\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\]
↓
\[\begin{array}{l}
\mathbf{if}\;z \leq -3.518145339442074 \cdot 10^{-120}:\\
\;\;\;\;\frac{\frac{x}{y - z}}{t - z}\\
\mathbf{elif}\;z \leq 3.1832833041334292 \cdot 10^{-214}:\\
\;\;\;\;x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y - z} \cdot \frac{1}{t - z}\\
\end{array}\]
\frac{x}{\left(y - z\right) \cdot \left(t - z\right)} ↓
\begin{array}{l}
\mathbf{if}\;z \leq -3.518145339442074 \cdot 10^{-120}:\\
\;\;\;\;\frac{\frac{x}{y - z}}{t - z}\\
\mathbf{elif}\;z \leq 3.1832833041334292 \cdot 10^{-214}:\\
\;\;\;\;x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y - z} \cdot \frac{1}{t - z}\\
\end{array} (FPCore (x y z t) :precision binary64 (/ x (* (- y z) (- t z)))) ↓
(FPCore (x y z t)
:precision binary64
(if (<= z -3.518145339442074e-120)
(/ (/ x (- y z)) (- t z))
(if (<= z 3.1832833041334292e-214)
(* x (/ 1.0 (* (- y z) (- t z))))
(* (/ x (- y z)) (/ 1.0 (- t z)))))) double code(double x, double y, double z, double t) {
return x / ((y - z) * (t - z));
}
↓
double code(double x, double y, double z, double t) {
double tmp;
if (z <= -3.518145339442074e-120) {
tmp = (x / (y - z)) / (t - z);
} else if (z <= 3.1832833041334292e-214) {
tmp = x * (1.0 / ((y - z) * (t - z)));
} else {
tmp = (x / (y - z)) * (1.0 / (t - z));
}
return tmp;
}
Try it out Enter valid numbers for all inputs
Target Original 7.7 Target 8.6 Herbie 2.2
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{\left(y - z\right) \cdot \left(t - z\right)} < 0:\\
\;\;\;\;\frac{\frac{x}{y - z}}{t - z}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}\\
\end{array}\]
Alternatives Alternative 1 Error 8.2 Cost 21056
\[\sqrt[3]{\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}} \cdot \left(\sqrt[3]{\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}} \cdot \sqrt[3]{\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}}\right)\]
Alternative 2 Error 1.8 Cost 20032
\[\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{y - z} \cdot \frac{\sqrt[3]{x}}{t - z}\]
Alternative 3 Error 44.4 Cost 14272
\[\frac{x}{\left(t - z\right) \cdot \left({y}^{3} - {z}^{3}\right)} \cdot \left(y \cdot y + \left(z \cdot z + y \cdot z\right)\right)\]
Alternative 4 Error 23.5 Cost 14016
\[\sqrt{\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}} \cdot \sqrt{\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}}\]
Alternative 5 Error 33.1 Cost 13888
\[\sqrt{\frac{1}{y - z}} \cdot \left(\frac{x}{t - z} \cdot \sqrt{\frac{1}{y - z}}\right)\]
Alternative 6 Error 33.1 Cost 13760
\[\frac{1}{\sqrt{y - z}} \cdot \frac{\frac{x}{t - z}}{\sqrt{y - z}}\]
Alternative 7 Error 32.1 Cost 13504
\[\frac{\sqrt{x}}{y - z} \cdot \frac{\sqrt{x}}{t - z}\]
Alternative 8 Error 25.5 Cost 13440
\[\sqrt[3]{{\left(\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\right)}^{3}}\]
Alternative 9 Error 2.7 Cost 7040
\[{\left(\left(y - z\right) \cdot \frac{t - z}{x}\right)}^{-1}\]
Alternative 10 Error 44.8 Cost 1600
\[\frac{x}{\left(y \cdot y - z \cdot z\right) \cdot \left(t \cdot t - z \cdot z\right)} \cdot \left(\left(y + z\right) \cdot \left(z + t\right)\right)\]
Alternative 11 Error 23.6 Cost 1088
\[\frac{x}{\left(t - z\right) \cdot \left(y \cdot y - z \cdot z\right)} \cdot \left(y + z\right)\]
Alternative 12 Error 2.5 Cost 960
\[\frac{1}{y - z} \cdot \frac{1}{\left(t - z\right) \cdot \frac{1}{x}}\]
Alternative 13 Error 2.4 Cost 832
\[\frac{1}{y - z} \cdot \frac{1}{\frac{t - z}{x}}\]
Alternative 14 Error 2.3 Cost 832
\[\frac{\frac{1}{y - z}}{\left(t - z\right) \cdot \frac{1}{x}}\]
Alternative 15 Error 2.3 Cost 704
\[\frac{x}{y - z} \cdot \frac{1}{t - z}\]
Alternative 16 Error 2.3 Cost 704
\[\frac{\frac{1}{y - z}}{\frac{t - z}{x}}\]
Alternative 17 Error 2.7 Cost 704
\[\frac{1}{\left(y - z\right) \cdot \frac{t - z}{x}}\]
Alternative 18 Error 7.7 Cost 704
\[x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}\]
Alternative 19 Error 2.7 Cost 704
\[\frac{1}{\frac{y - z}{\frac{x}{t - z}}}\]
Alternative 20 Error 2.3 Cost 704
\[\frac{x}{t - z} \cdot \frac{1}{y - z}\]
Alternative 21 Error 23.9 Cost 576
\[\frac{\frac{1}{y}}{\frac{t - z}{x}}\]
Alternative 22 Error 26.3 Cost 576
\[\frac{\frac{-1}{z}}{\frac{t - z}{x}}\]
Alternative 23 Error 24.4 Cost 576
\[\frac{1}{y} \cdot \frac{x}{t - z}\]
Alternative 24 Error 26.5 Cost 576
\[\frac{-1}{z} \cdot \frac{x}{t - z}\]
Alternative 25 Error 2.2 Cost 576
\[\frac{\frac{x}{t - z}}{y - z}\]
Alternative 26 Error 7.7 Cost 576
\[\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\]
Alternative 27 Error 2.3 Cost 576
\[\frac{\frac{x}{y - z}}{t - z}\]
Alternative 28 Error 30.9 Cost 512
\[\frac{-x}{z \cdot \left(y - z\right)}\]
Alternative 29 Error 31.3 Cost 512
\[\frac{-x}{z \cdot \left(t - z\right)}\]
Alternative 30 Error 30.9 Cost 448
\[\frac{x}{z \cdot \left(z - y\right)}\]
Alternative 31 Error 31.3 Cost 448
\[\frac{x}{z \cdot \left(z - t\right)}\]
Alternative 32 Error 28.6 Cost 448
\[\frac{x}{\left(y - z\right) \cdot t}\]
Alternative 33 Error 28.2 Cost 448
\[\frac{x}{y \cdot \left(t - z\right)}\]
Alternative 34 Error 39.8 Cost 320
\[\frac{x}{z \cdot z}\]
Alternative 35 Error 40.5 Cost 320
\[\frac{x}{y \cdot t}\]
Alternative 36 Error 61.8 Cost 64
\[1\]
Alternative 37 Error 36.9 Cost 64
\[0\]
Alternative 38 Error 61.8 Cost 64
\[-1\]
Error Derivation Split input into 3 regimes if z < -3.5181453394420741e-120 Initial program 8.9
\[\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\]
Using strategy rm Applied associate-/r*_binary64_18663 0.7
\[\leadsto \color{blue}{\frac{\frac{x}{y - z}}{t - z}}\]
Simplified0.7
\[\leadsto \color{blue}{\frac{\frac{x}{y - z}}{t - z}}\]
if -3.5181453394420741e-120 < z < 3.1832833041334292e-214 Initial program 5.9
\[\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\]
Using strategy rm Applied div-inv_binary64_18716 6.1
\[\leadsto \color{blue}{x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}}\]
Simplified6.1
\[\leadsto \color{blue}{x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}}\]
if 3.1832833041334292e-214 < z Initial program 7.5
\[\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\]
Using strategy rm Applied *-un-lft-identity_binary64_18719 7.5
\[\leadsto \frac{\color{blue}{1 \cdot x}}{\left(y - z\right) \cdot \left(t - z\right)}\]
Applied times-frac_binary64_18725 1.6
\[\leadsto \color{blue}{\frac{1}{y - z} \cdot \frac{x}{t - z}}\]
Using strategy rm Applied div-inv_binary64_18716 1.7
\[\leadsto \frac{1}{y - z} \cdot \color{blue}{\left(x \cdot \frac{1}{t - z}\right)}\]
Applied associate-*r*_binary64_18659 1.7
\[\leadsto \color{blue}{\left(\frac{1}{y - z} \cdot x\right) \cdot \frac{1}{t - z}}\]
Simplified1.7
\[\leadsto \color{blue}{\frac{x}{y - z}} \cdot \frac{1}{t - z}\]
Simplified1.7
\[\leadsto \color{blue}{\frac{x}{y - z} \cdot \frac{1}{t - z}}\]
Recombined 3 regimes into one program. Final simplification2.2
\[\leadsto \begin{array}{l}
\mathbf{if}\;z \leq -3.518145339442074 \cdot 10^{-120}:\\
\;\;\;\;\frac{\frac{x}{y - z}}{t - z}\\
\mathbf{elif}\;z \leq 3.1832833041334292 \cdot 10^{-214}:\\
\;\;\;\;x \cdot \frac{1}{\left(y - z\right) \cdot \left(t - z\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y - z} \cdot \frac{1}{t - z}\\
\end{array}\]
Reproduce herbie shell --seed 2021042
(FPCore (x y z t)
:name "Data.Random.Distribution.Triangular:triangularCDF from random-fu-0.2.6.2, B"
:precision binary64
:herbie-target
(if (< (/ x (* (- y z) (- t z))) 0.0) (/ (/ x (- y z)) (- t z)) (* x (/ 1.0 (* (- y z) (- t z)))))
(/ x (* (- y z) (- t z))))