\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 r349874 = x;
double r349875 = y;
double r349876 = r349874 * r349875;
double r349877 = z;
double r349878 = r349877 * r349877;
double r349879 = 1.0;
double r349880 = r349877 + r349879;
double r349881 = r349878 * r349880;
double r349882 = r349876 / r349881;
return r349882;
}
double f(double x, double y, double z) {
double r349883 = x;
double r349884 = cbrt(r349883);
double r349885 = r349884 * r349884;
double r349886 = z;
double r349887 = r349885 / r349886;
double r349888 = r349884 / r349886;
double r349889 = y;
double r349890 = 1.0;
double r349891 = r349886 + r349890;
double r349892 = r349889 / r349891;
double r349893 = r349888 * r349892;
double r349894 = r349887 * r349893;
double r349895 = cbrt(r349894);
double r349896 = r349895 * r349895;
double r349897 = r349896 * r349895;
return r349897;
}




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
(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))))