\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)3 \cdot \left(\sqrt{x} \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)double f(double x, double y) {
double r53394895 = 3.0;
double r53394896 = x;
double r53394897 = sqrt(r53394896);
double r53394898 = r53394895 * r53394897;
double r53394899 = y;
double r53394900 = 1.0;
double r53394901 = 9.0;
double r53394902 = r53394896 * r53394901;
double r53394903 = r53394900 / r53394902;
double r53394904 = r53394899 + r53394903;
double r53394905 = r53394904 - r53394900;
double r53394906 = r53394898 * r53394905;
return r53394906;
}
double f(double x, double y) {
double r53394907 = 3.0;
double r53394908 = x;
double r53394909 = sqrt(r53394908);
double r53394910 = y;
double r53394911 = 1.0;
double r53394912 = 9.0;
double r53394913 = r53394908 * r53394912;
double r53394914 = r53394911 / r53394913;
double r53394915 = r53394910 + r53394914;
double r53394916 = r53394915 - r53394911;
double r53394917 = r53394909 * r53394916;
double r53394918 = r53394907 * r53394917;
return r53394918;
}




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
Final simplification0.4
herbie shell --seed 2019173 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:herbie-target
(* 3.0 (+ (* y (sqrt x)) (* (- (/ 1.0 (* x 9.0)) 1.0) (sqrt x))))
(* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))