\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(\left(y + \frac{1}{x \cdot 9}\right) \cdot \sqrt{x}\right) \cdot 3 + \left(\left(-1\right) \cdot \sqrt{x}\right) \cdot 3double f(double x, double y) {
double r378870 = 3.0;
double r378871 = x;
double r378872 = sqrt(r378871);
double r378873 = r378870 * r378872;
double r378874 = y;
double r378875 = 1.0;
double r378876 = 9.0;
double r378877 = r378871 * r378876;
double r378878 = r378875 / r378877;
double r378879 = r378874 + r378878;
double r378880 = r378879 - r378875;
double r378881 = r378873 * r378880;
return r378881;
}
double f(double x, double y) {
double r378882 = y;
double r378883 = 1.0;
double r378884 = x;
double r378885 = 9.0;
double r378886 = r378884 * r378885;
double r378887 = r378883 / r378886;
double r378888 = r378882 + r378887;
double r378889 = sqrt(r378884);
double r378890 = r378888 * r378889;
double r378891 = 3.0;
double r378892 = r378890 * r378891;
double r378893 = -r378883;
double r378894 = r378893 * r378889;
double r378895 = r378894 * r378891;
double r378896 = r378892 + r378895;
return r378896;
}




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 add-cube-cbrt0.4
Applied associate-*l*0.6
rmApplied sub-neg0.6
Applied distribute-lft-in0.6
Applied distribute-lft-in0.6
Applied distribute-lft-in0.6
Simplified0.5
Simplified0.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)))