\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}0 \cdot \frac{\frac{y}{3}}{\sqrt{x}} + \left(\left(1 - \frac{\frac{1}{\sqrt{9}}}{\sqrt{\sqrt[3]{9}}} \cdot \frac{\frac{1}{\left|\sqrt[3]{9}\right|}}{x}\right) - \frac{\frac{y}{3}}{\sqrt{x}}\right)double f(double x, double y) {
double r15863821 = 1.0;
double r15863822 = x;
double r15863823 = 9.0;
double r15863824 = r15863822 * r15863823;
double r15863825 = r15863821 / r15863824;
double r15863826 = r15863821 - r15863825;
double r15863827 = y;
double r15863828 = 3.0;
double r15863829 = sqrt(r15863822);
double r15863830 = r15863828 * r15863829;
double r15863831 = r15863827 / r15863830;
double r15863832 = r15863826 - r15863831;
return r15863832;
}
double f(double x, double y) {
double r15863833 = 0.0;
double r15863834 = y;
double r15863835 = 3.0;
double r15863836 = r15863834 / r15863835;
double r15863837 = x;
double r15863838 = sqrt(r15863837);
double r15863839 = r15863836 / r15863838;
double r15863840 = r15863833 * r15863839;
double r15863841 = 1.0;
double r15863842 = 1.0;
double r15863843 = 9.0;
double r15863844 = sqrt(r15863843);
double r15863845 = r15863842 / r15863844;
double r15863846 = cbrt(r15863843);
double r15863847 = sqrt(r15863846);
double r15863848 = r15863845 / r15863847;
double r15863849 = fabs(r15863846);
double r15863850 = r15863841 / r15863849;
double r15863851 = r15863850 / r15863837;
double r15863852 = r15863848 * r15863851;
double r15863853 = r15863841 - r15863852;
double r15863854 = r15863853 - r15863839;
double r15863855 = r15863840 + r15863854;
return r15863855;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied add-cube-cbrt0.5
Applied add-sqr-sqrt29.8
Applied prod-diff29.8
Simplified0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-/r*0.2
rmApplied add-cube-cbrt0.2
Applied sqrt-prod0.2
Applied div-inv0.3
Applied times-frac0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019192 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:herbie-target
(- (- 1.0 (/ (/ 1.0 x) 9.0)) (/ y (* 3.0 (sqrt x))))
(- (- 1.0 (/ 1.0 (* x 9.0))) (/ y (* 3.0 (sqrt x)))))