\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\mathsf{fma}\left(1, 1, \left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) \cdot \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}\right) + \left(\mathsf{fma}\left(-\frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}, \frac{\sqrt{1}}{\sqrt[3]{9} \cdot \sqrt[3]{9}} \cdot \frac{\frac{\sqrt{1}}{x}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}\right)double f(double x, double y) {
double r369764 = 1.0;
double r369765 = x;
double r369766 = 9.0;
double r369767 = r369765 * r369766;
double r369768 = r369764 / r369767;
double r369769 = r369764 - r369768;
double r369770 = y;
double r369771 = 3.0;
double r369772 = sqrt(r369765);
double r369773 = r369771 * r369772;
double r369774 = r369770 / r369773;
double r369775 = r369769 - r369774;
return r369775;
}
double f(double x, double y) {
double r369776 = 1.0;
double r369777 = 1.0;
double r369778 = sqrt(r369777);
double r369779 = x;
double r369780 = r369778 / r369779;
double r369781 = 9.0;
double r369782 = cbrt(r369781);
double r369783 = r369780 / r369782;
double r369784 = -r369783;
double r369785 = r369782 * r369782;
double r369786 = r369778 / r369785;
double r369787 = r369784 * r369786;
double r369788 = fma(r369776, r369777, r369787);
double r369789 = r369786 * r369783;
double r369790 = fma(r369784, r369786, r369789);
double r369791 = y;
double r369792 = 3.0;
double r369793 = sqrt(r369779);
double r369794 = r369792 * r369793;
double r369795 = r369791 / r369794;
double r369796 = r369790 - r369795;
double r369797 = r369788 + r369796;
return r369797;
}




Bits error versus x




Bits error versus y
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied add-cube-cbrt0.2
Applied *-un-lft-identity0.2
Applied add-sqr-sqrt0.2
Applied times-frac0.2
Applied times-frac0.3
Applied *-un-lft-identity0.3
Applied prod-diff0.3
Applied associate--l+0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020045 +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)))))