\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \frac{\frac{1}{x}}{9}\right) - \frac{1}{\frac{3 \cdot \sqrt{x}}{y}}double f(double x, double y) {
double r328715 = 1.0;
double r328716 = x;
double r328717 = 9.0;
double r328718 = r328716 * r328717;
double r328719 = r328715 / r328718;
double r328720 = r328715 - r328719;
double r328721 = y;
double r328722 = 3.0;
double r328723 = sqrt(r328716);
double r328724 = r328722 * r328723;
double r328725 = r328721 / r328724;
double r328726 = r328720 - r328725;
return r328726;
}
double f(double x, double y) {
double r328727 = 1.0;
double r328728 = x;
double r328729 = r328727 / r328728;
double r328730 = 9.0;
double r328731 = r328729 / r328730;
double r328732 = r328727 - r328731;
double r328733 = 1.0;
double r328734 = 3.0;
double r328735 = sqrt(r328728);
double r328736 = r328734 * r328735;
double r328737 = y;
double r328738 = r328736 / r328737;
double r328739 = r328733 / r328738;
double r328740 = r328732 - r328739;
return r328740;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2020056 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:precision binary64
:herbie-target
(- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))
(- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))