\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \frac{y}{3 \cdot \sqrt{x}}\right) - \frac{1}{9 \cdot x}double f(double x, double y) {
double r309647 = 1.0;
double r309648 = x;
double r309649 = 9.0;
double r309650 = r309648 * r309649;
double r309651 = r309647 / r309650;
double r309652 = r309647 - r309651;
double r309653 = y;
double r309654 = 3.0;
double r309655 = sqrt(r309648);
double r309656 = r309654 * r309655;
double r309657 = r309653 / r309656;
double r309658 = r309652 - r309657;
return r309658;
}
double f(double x, double y) {
double r309659 = 1.0;
double r309660 = y;
double r309661 = 3.0;
double r309662 = x;
double r309663 = sqrt(r309662);
double r309664 = r309661 * r309663;
double r309665 = r309660 / r309664;
double r309666 = r309659 - r309665;
double r309667 = 9.0;
double r309668 = r309667 * r309662;
double r309669 = r309659 / r309668;
double r309670 = r309666 - r309669;
return r309670;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied add-sqr-sqrt0.2
Applied associate-/r*0.2
Final simplification0.2
herbie shell --seed 2019297
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:precision binary64
:herbie-target
(- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))
(- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))