\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{\frac{1}{x}}{9}\right) - 1\right)double f(double x, double y) {
double r396519 = 3.0;
double r396520 = x;
double r396521 = sqrt(r396520);
double r396522 = r396519 * r396521;
double r396523 = y;
double r396524 = 1.0;
double r396525 = 9.0;
double r396526 = r396520 * r396525;
double r396527 = r396524 / r396526;
double r396528 = r396523 + r396527;
double r396529 = r396528 - r396524;
double r396530 = r396522 * r396529;
return r396530;
}
double f(double x, double y) {
double r396531 = 3.0;
double r396532 = x;
double r396533 = sqrt(r396532);
double r396534 = r396531 * r396533;
double r396535 = y;
double r396536 = 1.0;
double r396537 = r396536 / r396532;
double r396538 = 9.0;
double r396539 = r396537 / r396538;
double r396540 = r396535 + r396539;
double r396541 = r396540 - r396536;
double r396542 = r396534 * r396541;
return r396542;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2020047 +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)))