\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)3 \cdot \left(\left(\frac{\frac{2001599834386887}{18014398509481984}}{x} + \left(y - 1\right)\right) \cdot \sqrt{x}\right)double f(double x, double y) {
double r283800 = 3.0;
double r283801 = x;
double r283802 = sqrt(r283801);
double r283803 = r283800 * r283802;
double r283804 = y;
double r283805 = 1.0;
double r283806 = 9.0;
double r283807 = r283801 * r283806;
double r283808 = r283805 / r283807;
double r283809 = r283804 + r283808;
double r283810 = r283809 - r283805;
double r283811 = r283803 * r283810;
return r283811;
}
double f(double x, double y) {
double r283812 = 3.0;
double r283813 = 2001599834386887.0;
double r283814 = 18014398509481984.0;
double r283815 = r283813 / r283814;
double r283816 = x;
double r283817 = r283815 / r283816;
double r283818 = y;
double r283819 = 1.0;
double r283820 = r283818 - r283819;
double r283821 = r283817 + r283820;
double r283822 = sqrt(r283816);
double r283823 = r283821 * r283822;
double r283824 = r283812 * r283823;
return r283824;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
Taylor expanded around 0 0.4
Simplified0.4
rmApplied pow10.4
Applied pow10.4
Applied pow10.4
Applied pow-prod-down0.4
Applied pow-prod-down0.4
Simplified0.4
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019303
(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)))