\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 r423215 = 3.0;
double r423216 = x;
double r423217 = sqrt(r423216);
double r423218 = r423215 * r423217;
double r423219 = y;
double r423220 = 1.0;
double r423221 = 9.0;
double r423222 = r423216 * r423221;
double r423223 = r423220 / r423222;
double r423224 = r423219 + r423223;
double r423225 = r423224 - r423220;
double r423226 = r423218 * r423225;
return r423226;
}
double f(double x, double y) {
double r423227 = 3.0;
double r423228 = x;
double r423229 = sqrt(r423228);
double r423230 = r423227 * r423229;
double r423231 = y;
double r423232 = 1.0;
double r423233 = r423232 / r423228;
double r423234 = 9.0;
double r423235 = r423233 / r423234;
double r423236 = r423231 + r423235;
double r423237 = r423236 - r423232;
double r423238 = r423230 * r423237;
return r423238;
}




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
(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)))