\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \frac{\frac{1}{x}}{9}\right) - \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(\frac{\frac{1}{\sqrt[3]{\sqrt[3]{3}}}}{\sqrt[3]{\sqrt[3]{3}}} \cdot \frac{\frac{y}{\sqrt[3]{\sqrt[3]{3}}}}{\sqrt{x}}\right)double f(double x, double y) {
double r367918 = 1.0;
double r367919 = x;
double r367920 = 9.0;
double r367921 = r367919 * r367920;
double r367922 = r367918 / r367921;
double r367923 = r367918 - r367922;
double r367924 = y;
double r367925 = 3.0;
double r367926 = sqrt(r367919);
double r367927 = r367925 * r367926;
double r367928 = r367924 / r367927;
double r367929 = r367923 - r367928;
return r367929;
}
double f(double x, double y) {
double r367930 = 1.0;
double r367931 = x;
double r367932 = r367930 / r367931;
double r367933 = 9.0;
double r367934 = r367932 / r367933;
double r367935 = r367930 - r367934;
double r367936 = 1.0;
double r367937 = 3.0;
double r367938 = cbrt(r367937);
double r367939 = r367938 * r367938;
double r367940 = r367936 / r367939;
double r367941 = cbrt(r367938);
double r367942 = r367936 / r367941;
double r367943 = r367942 / r367941;
double r367944 = y;
double r367945 = r367944 / r367941;
double r367946 = sqrt(r367931);
double r367947 = r367945 / r367946;
double r367948 = r367943 * r367947;
double r367949 = r367940 * r367948;
double r367950 = r367935 - r367949;
return r367950;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied associate-/r*0.2
rmApplied *-un-lft-identity0.2
Applied sqrt-prod0.2
Applied add-cube-cbrt0.2
Applied *-un-lft-identity0.2
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied sqrt-prod0.3
Applied add-cube-cbrt0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019326
(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)))))