\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\left(\frac{1}{\frac{\sqrt[3]{1 + z}}{\frac{\sqrt[3]{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{1 + z}}}} \cdot \frac{\sqrt[3]{x}}{\frac{\sqrt[3]{1 + z}}{\sqrt[3]{\sqrt[3]{y}}}}\right) \cdot \left(\frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}} \cdot \frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}}\right)double f(double x, double y, double z) {
double r17939705 = x;
double r17939706 = y;
double r17939707 = r17939705 * r17939706;
double r17939708 = z;
double r17939709 = r17939708 * r17939708;
double r17939710 = 1.0;
double r17939711 = r17939708 + r17939710;
double r17939712 = r17939709 * r17939711;
double r17939713 = r17939707 / r17939712;
return r17939713;
}
double f(double x, double y, double z) {
double r17939714 = 1.0;
double r17939715 = 1.0;
double r17939716 = z;
double r17939717 = r17939715 + r17939716;
double r17939718 = cbrt(r17939717);
double r17939719 = y;
double r17939720 = cbrt(r17939719);
double r17939721 = r17939720 * r17939720;
double r17939722 = cbrt(r17939721);
double r17939723 = r17939722 / r17939718;
double r17939724 = r17939718 / r17939723;
double r17939725 = r17939714 / r17939724;
double r17939726 = x;
double r17939727 = cbrt(r17939726);
double r17939728 = cbrt(r17939720);
double r17939729 = r17939718 / r17939728;
double r17939730 = r17939727 / r17939729;
double r17939731 = r17939725 * r17939730;
double r17939732 = r17939716 / r17939720;
double r17939733 = r17939727 / r17939732;
double r17939734 = r17939733 * r17939733;
double r17939735 = r17939731 * r17939734;
return r17939735;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 14.9 |
|---|---|
| Target | 3.9 |
| Herbie | 2.7 |
Initial program 14.9
rmApplied associate-/l*13.6
rmApplied add-cube-cbrt14.0
Applied times-frac12.1
Applied add-cube-cbrt12.2
Applied times-frac9.8
Simplified2.6
rmApplied add-cube-cbrt2.6
Applied cbrt-prod2.7
Applied add-cube-cbrt2.7
Applied times-frac2.7
Applied *-un-lft-identity2.7
Applied cbrt-prod2.7
Applied times-frac2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019179
(FPCore (x y z)
:name "Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2"
:herbie-target
(if (< z 249.6182814532307) (/ (* y (/ x z)) (+ z (* z z))) (/ (* (/ (/ y z) (+ 1.0 z)) x) z))
(/ (* x y) (* (* z z) (+ z 1.0))))