\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 + \sqrt{\frac{1}{x \cdot 9}} \cdot \sqrt{\frac{1}{x \cdot 9}}\right) - 1\right)double f(double x, double y) {
double r429438 = 3.0;
double r429439 = x;
double r429440 = sqrt(r429439);
double r429441 = r429438 * r429440;
double r429442 = y;
double r429443 = 1.0;
double r429444 = 9.0;
double r429445 = r429439 * r429444;
double r429446 = r429443 / r429445;
double r429447 = r429442 + r429446;
double r429448 = r429447 - r429443;
double r429449 = r429441 * r429448;
return r429449;
}
double f(double x, double y) {
double r429450 = 3.0;
double r429451 = x;
double r429452 = sqrt(r429451);
double r429453 = r429450 * r429452;
double r429454 = y;
double r429455 = 1.0;
double r429456 = 9.0;
double r429457 = r429451 * r429456;
double r429458 = r429455 / r429457;
double r429459 = sqrt(r429458);
double r429460 = r429459 * r429459;
double r429461 = r429454 + r429460;
double r429462 = r429461 - r429455;
double r429463 = r429453 * r429462;
return r429463;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2020018 +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)))