\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \frac{1}{x \cdot 9}\right) - \frac{1}{3} \cdot \frac{y}{{x}^{\frac{1}{2}}}double f(double x, double y) {
double r404425 = 1.0;
double r404426 = x;
double r404427 = 9.0;
double r404428 = r404426 * r404427;
double r404429 = r404425 / r404428;
double r404430 = r404425 - r404429;
double r404431 = y;
double r404432 = 3.0;
double r404433 = sqrt(r404426);
double r404434 = r404432 * r404433;
double r404435 = r404431 / r404434;
double r404436 = r404430 - r404435;
return r404436;
}
double f(double x, double y) {
double r404437 = 1.0;
double r404438 = x;
double r404439 = 9.0;
double r404440 = r404438 * r404439;
double r404441 = r404437 / r404440;
double r404442 = r404437 - r404441;
double r404443 = 1.0;
double r404444 = 3.0;
double r404445 = r404443 / r404444;
double r404446 = y;
double r404447 = 0.5;
double r404448 = pow(r404438, r404447);
double r404449 = r404446 / r404448;
double r404450 = r404445 * r404449;
double r404451 = r404442 - r404450;
return r404451;
}




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 *-un-lft-identity0.2
Applied times-frac0.3
Simplified0.3
rmApplied div-inv0.3
Applied associate-/l*0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020062
(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)))))