\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\mathsf{fma}\left(1, 1 - \frac{1}{x \cdot 9}, \frac{\frac{-y}{3}}{\sqrt{x}}\right)double f(double x, double y) {
double r224511 = 1.0;
double r224512 = x;
double r224513 = 9.0;
double r224514 = r224512 * r224513;
double r224515 = r224511 / r224514;
double r224516 = r224511 - r224515;
double r224517 = y;
double r224518 = 3.0;
double r224519 = sqrt(r224512);
double r224520 = r224518 * r224519;
double r224521 = r224517 / r224520;
double r224522 = r224516 - r224521;
return r224522;
}
double f(double x, double y) {
double r224523 = 1.0;
double r224524 = 1.0;
double r224525 = x;
double r224526 = 9.0;
double r224527 = r224525 * r224526;
double r224528 = r224524 / r224527;
double r224529 = r224524 - r224528;
double r224530 = y;
double r224531 = -r224530;
double r224532 = 3.0;
double r224533 = r224531 / r224532;
double r224534 = sqrt(r224525);
double r224535 = r224533 / r224534;
double r224536 = fma(r224523, r224529, r224535);
return r224536;
}




Bits error versus x




Bits error versus y
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied fma-neg0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019347 +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)))))