\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{\frac{2001599834386887}{18014398509481984}}{x}\right) - 1\right)double f(double x, double y) {
double r341072 = 3.0;
double r341073 = x;
double r341074 = sqrt(r341073);
double r341075 = r341072 * r341074;
double r341076 = y;
double r341077 = 1.0;
double r341078 = 9.0;
double r341079 = r341073 * r341078;
double r341080 = r341077 / r341079;
double r341081 = r341076 + r341080;
double r341082 = r341081 - r341077;
double r341083 = r341075 * r341082;
return r341083;
}
double f(double x, double y) {
double r341084 = 3.0;
double r341085 = x;
double r341086 = sqrt(r341085);
double r341087 = r341084 * r341086;
double r341088 = y;
double r341089 = 2001599834386887.0;
double r341090 = 18014398509481984.0;
double r341091 = r341089 / r341090;
double r341092 = r341091 / r341085;
double r341093 = r341088 + r341092;
double r341094 = 1.0;
double r341095 = r341093 - r341094;
double r341096 = r341087 * r341095;
return r341096;
}




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
Final simplification0.4
herbie shell --seed 2019304
(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)))