\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \left(\frac{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{9}}}{\left|\sqrt[3]{9}\right|} \cdot \frac{\sqrt[3]{1}}{x}\right) \cdot \frac{1}{\sqrt{\sqrt[3]{9}}}\right) - \frac{y}{3 \cdot \sqrt{x}}double f(double x, double y) {
double r277045 = 1.0;
double r277046 = x;
double r277047 = 9.0;
double r277048 = r277046 * r277047;
double r277049 = r277045 / r277048;
double r277050 = r277045 - r277049;
double r277051 = y;
double r277052 = 3.0;
double r277053 = sqrt(r277046);
double r277054 = r277052 * r277053;
double r277055 = r277051 / r277054;
double r277056 = r277050 - r277055;
return r277056;
}
double f(double x, double y) {
double r277057 = 1.0;
double r277058 = cbrt(r277057);
double r277059 = r277058 * r277058;
double r277060 = 9.0;
double r277061 = sqrt(r277060);
double r277062 = r277059 / r277061;
double r277063 = cbrt(r277060);
double r277064 = fabs(r277063);
double r277065 = r277062 / r277064;
double r277066 = x;
double r277067 = r277058 / r277066;
double r277068 = r277065 * r277067;
double r277069 = 1.0;
double r277070 = sqrt(r277063);
double r277071 = r277069 / r277070;
double r277072 = r277068 * r277071;
double r277073 = r277057 - r277072;
double r277074 = y;
double r277075 = 3.0;
double r277076 = sqrt(r277066);
double r277077 = r277075 * r277076;
double r277078 = r277074 / r277077;
double r277079 = r277073 - r277078;
return r277079;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied associate-/r*0.2
Simplified0.2
rmApplied add-cube-cbrt0.2
Applied sqrt-prod0.2
Applied add-cube-cbrt0.2
Applied times-frac0.3
Applied times-frac0.2
Simplified0.2
rmApplied div-inv0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2019212 +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)))))