\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 r297492 = 1.0;
double r297493 = x;
double r297494 = 9.0;
double r297495 = r297493 * r297494;
double r297496 = r297492 / r297495;
double r297497 = r297492 - r297496;
double r297498 = y;
double r297499 = 3.0;
double r297500 = sqrt(r297493);
double r297501 = r297499 * r297500;
double r297502 = r297498 / r297501;
double r297503 = r297497 - r297502;
return r297503;
}
double f(double x, double y) {
double r297504 = 1.0;
double r297505 = x;
double r297506 = r297504 / r297505;
double r297507 = 9.0;
double r297508 = r297506 / r297507;
double r297509 = r297504 - r297508;
double r297510 = 1.0;
double r297511 = sqrt(r297505);
double r297512 = y;
double r297513 = 3.0;
double r297514 = r297512 / r297513;
double r297515 = r297511 / r297514;
double r297516 = r297510 / r297515;
double r297517 = r297509 - r297516;
return r297517;
}




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 *-un-lft-identity0.2
Applied *-un-lft-identity0.2
Applied distribute-lft-out--0.2
Simplified0.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)))))