\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(0 \cdot \frac{\frac{1}{x}}{9} + \left(1 - \frac{\frac{1}{x}}{9}\right)\right) - \frac{1}{\frac{\sqrt{x}}{\frac{y}{3}}}double f(double x, double y) {
double r280070 = 1.0;
double r280071 = x;
double r280072 = 9.0;
double r280073 = r280071 * r280072;
double r280074 = r280070 / r280073;
double r280075 = r280070 - r280074;
double r280076 = y;
double r280077 = 3.0;
double r280078 = sqrt(r280071);
double r280079 = r280077 * r280078;
double r280080 = r280076 / r280079;
double r280081 = r280075 - r280080;
return r280081;
}
double f(double x, double y) {
double r280082 = 0.0;
double r280083 = 1.0;
double r280084 = x;
double r280085 = r280083 / r280084;
double r280086 = 9.0;
double r280087 = r280085 / r280086;
double r280088 = r280082 * r280087;
double r280089 = r280083 - r280087;
double r280090 = r280088 + r280089;
double r280091 = 1.0;
double r280092 = sqrt(r280084);
double r280093 = y;
double r280094 = 3.0;
double r280095 = r280093 / r280094;
double r280096 = r280092 / r280095;
double r280097 = r280091 / r280096;
double r280098 = r280090 - r280097;
return r280098;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied add-cube-cbrt0.5
Applied add-sqr-sqrt0.5
Applied prod-diff0.5
Simplified0.2
Simplified0.2
rmApplied clear-num0.2
Final simplification0.2
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:precision binary64
:herbie-target
(- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))
(- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))