\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 r308209 = 1.0;
double r308210 = x;
double r308211 = 9.0;
double r308212 = r308210 * r308211;
double r308213 = r308209 / r308212;
double r308214 = r308209 - r308213;
double r308215 = y;
double r308216 = 3.0;
double r308217 = sqrt(r308210);
double r308218 = r308216 * r308217;
double r308219 = r308215 / r308218;
double r308220 = r308214 - r308219;
return r308220;
}
double f(double x, double y) {
double r308221 = 1.0;
double r308222 = x;
double r308223 = r308221 / r308222;
double r308224 = 9.0;
double r308225 = r308223 / r308224;
double r308226 = r308221 - r308225;
double r308227 = 1.0;
double r308228 = sqrt(r308222);
double r308229 = y;
double r308230 = 3.0;
double r308231 = r308229 / r308230;
double r308232 = r308228 / r308231;
double r308233 = r308227 / r308232;
double r308234 = r308226 - r308233;
return r308234;
}




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