\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(3 \cdot \sqrt{x}\right) \cdot y + \sqrt{x} \cdot \left(\left(\frac{\frac{1}{x} \cdot 1}{9} - 1\right) \cdot 3\right)double f(double x, double y) {
double r342219 = 3.0;
double r342220 = x;
double r342221 = sqrt(r342220);
double r342222 = r342219 * r342221;
double r342223 = y;
double r342224 = 1.0;
double r342225 = 9.0;
double r342226 = r342220 * r342225;
double r342227 = r342224 / r342226;
double r342228 = r342223 + r342227;
double r342229 = r342228 - r342224;
double r342230 = r342222 * r342229;
return r342230;
}
double f(double x, double y) {
double r342231 = 3.0;
double r342232 = x;
double r342233 = sqrt(r342232);
double r342234 = r342231 * r342233;
double r342235 = y;
double r342236 = r342234 * r342235;
double r342237 = 1.0;
double r342238 = r342237 / r342232;
double r342239 = 1.0;
double r342240 = r342238 * r342239;
double r342241 = 9.0;
double r342242 = r342240 / r342241;
double r342243 = r342242 - r342239;
double r342244 = r342243 * r342231;
double r342245 = r342233 * r342244;
double r342246 = r342236 + r342245;
return r342246;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied div-inv0.4
Simplified0.4
rmApplied associate--l+0.4
Applied distribute-lft-in0.4
Simplified0.4
Simplified0.4
rmApplied associate-*r*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019196
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:herbie-target
(* 3.0 (+ (* y (sqrt x)) (* (- (/ 1.0 (* x 9.0)) 1.0) (sqrt x))))
(* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))