\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)3 \cdot \left(\left(\frac{1 \cdot \sqrt{x}}{x \cdot 9} + \left(-1\right) \cdot \sqrt{x}\right) + \sqrt{x} \cdot y\right)double f(double x, double y) {
double r518240 = 3.0;
double r518241 = x;
double r518242 = sqrt(r518241);
double r518243 = r518240 * r518242;
double r518244 = y;
double r518245 = 1.0;
double r518246 = 9.0;
double r518247 = r518241 * r518246;
double r518248 = r518245 / r518247;
double r518249 = r518244 + r518248;
double r518250 = r518249 - r518245;
double r518251 = r518243 * r518250;
return r518251;
}
double f(double x, double y) {
double r518252 = 3.0;
double r518253 = 1.0;
double r518254 = x;
double r518255 = sqrt(r518254);
double r518256 = r518253 * r518255;
double r518257 = 9.0;
double r518258 = r518254 * r518257;
double r518259 = r518256 / r518258;
double r518260 = -r518253;
double r518261 = r518260 * r518255;
double r518262 = r518259 + r518261;
double r518263 = y;
double r518264 = r518255 * r518263;
double r518265 = r518262 + r518264;
double r518266 = r518252 * r518265;
return r518266;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied associate-*l*0.4
Simplified0.4
rmApplied distribute-lft-in0.4
rmApplied sub-neg0.4
Applied distribute-lft-in0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019351 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:precision binary64
:herbie-target
(* 3 (+ (* y (sqrt x)) (* (- (/ 1 (* x 9)) 1) (sqrt x))))
(* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)))