\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 \left(\left(y + \frac{0.1111111111111111049432054187491303309798}{x}\right) - 1\right)double f(double x, double y) {
double r325362 = 3.0;
double r325363 = x;
double r325364 = sqrt(r325363);
double r325365 = r325362 * r325364;
double r325366 = y;
double r325367 = 1.0;
double r325368 = 9.0;
double r325369 = r325363 * r325368;
double r325370 = r325367 / r325369;
double r325371 = r325366 + r325370;
double r325372 = r325371 - r325367;
double r325373 = r325365 * r325372;
return r325373;
}
double f(double x, double y) {
double r325374 = 3.0;
double r325375 = x;
double r325376 = sqrt(r325375);
double r325377 = r325374 * r325376;
double r325378 = y;
double r325379 = 0.1111111111111111;
double r325380 = r325379 / r325375;
double r325381 = r325378 + r325380;
double r325382 = 1.0;
double r325383 = r325381 - r325382;
double r325384 = r325377 * r325383;
return r325384;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
Taylor expanded around 0 0.4
Final simplification0.4
herbie shell --seed 2019303 +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)))