\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(\left(y + \left(\frac{\frac{1}{x}}{9} - 1\right)\right) \cdot 3\right) \cdot \sqrt{x}double f(double x, double y) {
double r463546 = 3.0;
double r463547 = x;
double r463548 = sqrt(r463547);
double r463549 = r463546 * r463548;
double r463550 = y;
double r463551 = 1.0;
double r463552 = 9.0;
double r463553 = r463547 * r463552;
double r463554 = r463551 / r463553;
double r463555 = r463550 + r463554;
double r463556 = r463555 - r463551;
double r463557 = r463549 * r463556;
return r463557;
}
double f(double x, double y) {
double r463558 = y;
double r463559 = 1.0;
double r463560 = x;
double r463561 = r463559 / r463560;
double r463562 = 9.0;
double r463563 = r463561 / r463562;
double r463564 = r463563 - r463559;
double r463565 = r463558 + r463564;
double r463566 = 3.0;
double r463567 = r463565 * r463566;
double r463568 = sqrt(r463560);
double r463569 = r463567 * r463568;
return r463569;
}




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
rmApplied associate-*l*0.4
rmApplied pow10.4
Applied pow10.4
Applied pow-prod-down0.4
Applied pow10.4
Applied pow-prod-down0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020043 +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)))