\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(3 \cdot \left(\left(\frac{\frac{1}{x}}{9} + y\right) - 1\right)\right) \cdot \sqrt{x}double f(double x, double y) {
double r317312 = 3.0;
double r317313 = x;
double r317314 = sqrt(r317313);
double r317315 = r317312 * r317314;
double r317316 = y;
double r317317 = 1.0;
double r317318 = 9.0;
double r317319 = r317313 * r317318;
double r317320 = r317317 / r317319;
double r317321 = r317316 + r317320;
double r317322 = r317321 - r317317;
double r317323 = r317315 * r317322;
return r317323;
}
double f(double x, double y) {
double r317324 = 3.0;
double r317325 = 1.0;
double r317326 = x;
double r317327 = r317325 / r317326;
double r317328 = 9.0;
double r317329 = r317327 / r317328;
double r317330 = y;
double r317331 = r317329 + r317330;
double r317332 = r317331 - r317325;
double r317333 = r317324 * r317332;
double r317334 = sqrt(r317326);
double r317335 = r317333 * r317334;
return r317335;
}




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
rmApplied associate-/r*0.4
rmApplied div-inv0.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 2019308
(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)))