\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\left(\sqrt[3]{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z} \cdot \left(\frac{\sqrt[3]{x}}{z} \cdot \frac{y}{z + 1}\right)} \cdot \sqrt[3]{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z} \cdot \left(\frac{\sqrt[3]{x}}{z} \cdot \frac{y}{z + 1}\right)}\right) \cdot \sqrt[3]{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z} \cdot \left(\frac{\sqrt[3]{x}}{z} \cdot \frac{y}{z + 1}\right)}double f(double x, double y, double z) {
double r260529 = x;
double r260530 = y;
double r260531 = r260529 * r260530;
double r260532 = z;
double r260533 = r260532 * r260532;
double r260534 = 1.0;
double r260535 = r260532 + r260534;
double r260536 = r260533 * r260535;
double r260537 = r260531 / r260536;
return r260537;
}
double f(double x, double y, double z) {
double r260538 = x;
double r260539 = cbrt(r260538);
double r260540 = r260539 * r260539;
double r260541 = z;
double r260542 = r260540 / r260541;
double r260543 = r260539 / r260541;
double r260544 = y;
double r260545 = 1.0;
double r260546 = r260541 + r260545;
double r260547 = r260544 / r260546;
double r260548 = r260543 * r260547;
double r260549 = r260542 * r260548;
double r260550 = cbrt(r260549);
double r260551 = r260550 * r260550;
double r260552 = r260551 * r260550;
return r260552;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 15.0 |
|---|---|
| Target | 4.0 |
| Herbie | 1.5 |
Initial program 15.0
rmApplied times-frac11.1
rmApplied add-cube-cbrt11.5
Applied times-frac6.1
Applied associate-*l*1.3
rmApplied add-cube-cbrt1.5
Final simplification1.5
herbie shell --seed 2020089 +o rules:numerics
(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))))