\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\frac{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\frac{\sqrt[3]{x}}{z} \cdot \frac{y}{z + 1}\right)}{z} \cdot 1double f(double x, double y, double z) {
double r210244 = x;
double r210245 = y;
double r210246 = r210244 * r210245;
double r210247 = z;
double r210248 = r210247 * r210247;
double r210249 = 1.0;
double r210250 = r210247 + r210249;
double r210251 = r210248 * r210250;
double r210252 = r210246 / r210251;
return r210252;
}
double f(double x, double y, double z) {
double r210253 = x;
double r210254 = cbrt(r210253);
double r210255 = r210254 * r210254;
double r210256 = z;
double r210257 = r210254 / r210256;
double r210258 = y;
double r210259 = 1.0;
double r210260 = r210256 + r210259;
double r210261 = r210258 / r210260;
double r210262 = r210257 * r210261;
double r210263 = r210255 * r210262;
double r210264 = r210263 / r210256;
double r210265 = 1.0;
double r210266 = r210264 * r210265;
return r210266;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 15.3 |
|---|---|
| Target | 4.2 |
| Herbie | 2.2 |
Initial program 15.3
rmApplied times-frac11.3
rmApplied *-un-lft-identity11.3
Applied times-frac6.0
Applied associate-*l*2.6
rmApplied *-un-lft-identity2.6
Applied add-cube-cbrt2.6
Applied times-frac2.6
Applied associate-*l*2.6
Simplified2.6
rmApplied *-un-lft-identity2.6
Applied add-cube-cbrt3.1
Applied times-frac3.1
Applied associate-*l*2.2
Final simplification2.2
herbie shell --seed 2019303
(FPCore (x y z)
:name "Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< z 249.618281453230708) (/ (* y (/ x z)) (+ z (* z z))) (/ (* (/ (/ y z) (+ 1 z)) x) z))
(/ (* x y) (* (* z z) (+ z 1))))