\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\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 r229598 = x;
double r229599 = y;
double r229600 = r229598 * r229599;
double r229601 = z;
double r229602 = r229601 * r229601;
double r229603 = 1.0;
double r229604 = r229601 + r229603;
double r229605 = r229602 * r229604;
double r229606 = r229600 / r229605;
return r229606;
}
double f(double x, double y, double z) {
double r229607 = x;
double r229608 = cbrt(r229607);
double r229609 = r229608 * r229608;
double r229610 = z;
double r229611 = r229609 / r229610;
double r229612 = r229608 / r229610;
double r229613 = y;
double r229614 = 1.0;
double r229615 = r229610 + r229614;
double r229616 = r229613 / r229615;
double r229617 = r229612 * r229616;
double r229618 = r229611 * r229617;
return r229618;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 14.9 |
|---|---|
| Target | 4.5 |
| Herbie | 1.2 |
Initial program 14.9
rmApplied times-frac10.8
rmApplied add-cube-cbrt11.1
Applied times-frac6.1
Applied associate-*l*1.2
Final simplification1.2
herbie shell --seed 2020025 +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))))