\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\begin{array}{l}
\mathbf{if}\;z \le 2.13775994420652332 \cdot 10^{-181}:\\
\;\;\;\;\frac{\frac{{\left(\sqrt[3]{x}\right)}^{3}}{z}}{\frac{z + 1}{y}} \cdot \frac{1}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z + 1} \cdot \frac{\frac{\sqrt[3]{x}}{z} \cdot y}{z}\\
\end{array}double f(double x, double y, double z) {
double r365135 = x;
double r365136 = y;
double r365137 = r365135 * r365136;
double r365138 = z;
double r365139 = r365138 * r365138;
double r365140 = 1.0;
double r365141 = r365138 + r365140;
double r365142 = r365139 * r365141;
double r365143 = r365137 / r365142;
return r365143;
}
double f(double x, double y, double z) {
double r365144 = z;
double r365145 = 2.1377599442065233e-181;
bool r365146 = r365144 <= r365145;
double r365147 = x;
double r365148 = cbrt(r365147);
double r365149 = 3.0;
double r365150 = pow(r365148, r365149);
double r365151 = r365150 / r365144;
double r365152 = 1.0;
double r365153 = r365144 + r365152;
double r365154 = y;
double r365155 = r365153 / r365154;
double r365156 = r365151 / r365155;
double r365157 = 1.0;
double r365158 = r365157 / r365144;
double r365159 = r365156 * r365158;
double r365160 = r365148 * r365148;
double r365161 = r365160 / r365153;
double r365162 = r365148 / r365144;
double r365163 = r365162 * r365154;
double r365164 = r365163 / r365144;
double r365165 = r365161 * r365164;
double r365166 = r365146 ? r365159 : r365165;
return r365166;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 15.0 |
|---|---|
| Target | 4.1 |
| Herbie | 2.8 |
if z < 2.1377599442065233e-181Initial program 18.2
rmApplied associate-/l*16.7
Simplified15.1
rmApplied associate-/l*9.1
rmApplied add-cube-cbrt9.6
Applied times-frac7.4
Simplified4.5
rmApplied div-inv4.5
Applied associate-*r*1.8
Simplified3.4
if 2.1377599442065233e-181 < z Initial program 11.3
rmApplied associate-/l*9.3
Simplified7.5
rmApplied associate-/l*5.8
rmApplied add-cube-cbrt6.2
Applied times-frac3.7
Simplified2.2
Final simplification2.8
herbie shell --seed 2020042
(FPCore (x y z)
:name "Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< z 249.6182814532307) (/ (* y (/ x z)) (+ z (* z z))) (/ (* (/ (/ y z) (+ 1 z)) x) z))
(/ (* x y) (* (* z z) (+ z 1))))