\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(\sqrt{x} \cdot \left(y + \frac{1}{9 \cdot x}\right)\right) \cdot 3 + 1 \cdot \left(\sqrt{x} \cdot \left(-3\right)\right)double f(double x, double y) {
double r13337970 = 3.0;
double r13337971 = x;
double r13337972 = sqrt(r13337971);
double r13337973 = r13337970 * r13337972;
double r13337974 = y;
double r13337975 = 1.0;
double r13337976 = 9.0;
double r13337977 = r13337971 * r13337976;
double r13337978 = r13337975 / r13337977;
double r13337979 = r13337974 + r13337978;
double r13337980 = r13337979 - r13337975;
double r13337981 = r13337973 * r13337980;
return r13337981;
}
double f(double x, double y) {
double r13337982 = x;
double r13337983 = sqrt(r13337982);
double r13337984 = y;
double r13337985 = 1.0;
double r13337986 = 9.0;
double r13337987 = r13337986 * r13337982;
double r13337988 = r13337985 / r13337987;
double r13337989 = r13337984 + r13337988;
double r13337990 = r13337983 * r13337989;
double r13337991 = 3.0;
double r13337992 = r13337990 * r13337991;
double r13337993 = -r13337991;
double r13337994 = r13337983 * r13337993;
double r13337995 = r13337985 * r13337994;
double r13337996 = r13337992 + r13337995;
return r13337996;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied sub-neg0.4
Applied distribute-lft-in0.4
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019200 +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)))