\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 r280127 = x;
double r280128 = y;
double r280129 = r280127 * r280128;
double r280130 = z;
double r280131 = r280130 * r280130;
double r280132 = 1.0;
double r280133 = r280130 + r280132;
double r280134 = r280131 * r280133;
double r280135 = r280129 / r280134;
return r280135;
}
double f(double x, double y, double z) {
double r280136 = x;
double r280137 = cbrt(r280136);
double r280138 = r280137 * r280137;
double r280139 = z;
double r280140 = r280138 / r280139;
double r280141 = r280137 / r280139;
double r280142 = y;
double r280143 = 1.0;
double r280144 = r280139 + r280143;
double r280145 = r280142 / r280144;
double r280146 = r280141 * r280145;
double r280147 = r280140 * r280146;
return r280147;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 15.1 |
|---|---|
| Target | 4.0 |
| Herbie | 1.2 |
Initial program 15.1
rmApplied times-frac11.2
rmApplied add-cube-cbrt11.6
Applied times-frac6.5
Applied associate-*l*1.2
Final simplification1.2
herbie shell --seed 2019235
(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))))