\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{\sqrt{x}}{\frac{y}{3}}}double f(double x, double y) {
double r291435 = 1.0;
double r291436 = x;
double r291437 = 9.0;
double r291438 = r291436 * r291437;
double r291439 = r291435 / r291438;
double r291440 = r291435 - r291439;
double r291441 = y;
double r291442 = 3.0;
double r291443 = sqrt(r291436);
double r291444 = r291442 * r291443;
double r291445 = r291441 / r291444;
double r291446 = r291440 - r291445;
return r291446;
}
double f(double x, double y) {
double r291447 = 1.0;
double r291448 = x;
double r291449 = r291447 / r291448;
double r291450 = 9.0;
double r291451 = r291449 / r291450;
double r291452 = r291447 - r291451;
double r291453 = 1.0;
double r291454 = sqrt(r291448);
double r291455 = y;
double r291456 = 3.0;
double r291457 = r291455 / r291456;
double r291458 = r291454 / r291457;
double r291459 = r291453 / r291458;
double r291460 = r291452 - r291459;
return r291460;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied associate-/r*0.2
rmApplied *-un-lft-identity0.2
Applied *-un-lft-identity0.2
Applied times-frac0.2
Applied associate-/l*0.2
Final simplification0.2
herbie shell --seed 2019323 +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)))))