\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}{\sqrt{x}}}{3}\right)double f(double x, double y) {
double r540219 = 1.0;
double r540220 = x;
double r540221 = 9.0;
double r540222 = r540220 * r540221;
double r540223 = r540219 / r540222;
double r540224 = r540219 - r540223;
double r540225 = y;
double r540226 = 3.0;
double r540227 = sqrt(r540220);
double r540228 = r540226 * r540227;
double r540229 = r540225 / r540228;
double r540230 = r540224 - r540229;
return r540230;
}
double f(double x, double y) {
double r540231 = 1.0;
double r540232 = 1.0;
double r540233 = x;
double r540234 = 9.0;
double r540235 = r540233 * r540234;
double r540236 = r540232 / r540235;
double r540237 = r540232 - r540236;
double r540238 = y;
double r540239 = sqrt(r540233);
double r540240 = r540238 / r540239;
double r540241 = -r540240;
double r540242 = 3.0;
double r540243 = r540241 / r540242;
double r540244 = fma(r540231, r540237, r540243);
return r540244;
}




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 2020042 +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)))))