\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{1}{\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644705\right), 230661.510616\right), y, t\right)}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2690764 = x;
double r2690765 = y;
double r2690766 = r2690764 * r2690765;
double r2690767 = z;
double r2690768 = r2690766 + r2690767;
double r2690769 = r2690768 * r2690765;
double r2690770 = 27464.7644705;
double r2690771 = r2690769 + r2690770;
double r2690772 = r2690771 * r2690765;
double r2690773 = 230661.510616;
double r2690774 = r2690772 + r2690773;
double r2690775 = r2690774 * r2690765;
double r2690776 = t;
double r2690777 = r2690775 + r2690776;
double r2690778 = a;
double r2690779 = r2690765 + r2690778;
double r2690780 = r2690779 * r2690765;
double r2690781 = b;
double r2690782 = r2690780 + r2690781;
double r2690783 = r2690782 * r2690765;
double r2690784 = c;
double r2690785 = r2690783 + r2690784;
double r2690786 = r2690785 * r2690765;
double r2690787 = i;
double r2690788 = r2690786 + r2690787;
double r2690789 = r2690777 / r2690788;
return r2690789;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2690790 = 1.0;
double r2690791 = y;
double r2690792 = a;
double r2690793 = r2690791 + r2690792;
double r2690794 = b;
double r2690795 = fma(r2690791, r2690793, r2690794);
double r2690796 = c;
double r2690797 = fma(r2690791, r2690795, r2690796);
double r2690798 = i;
double r2690799 = fma(r2690791, r2690797, r2690798);
double r2690800 = x;
double r2690801 = z;
double r2690802 = fma(r2690800, r2690791, r2690801);
double r2690803 = 27464.7644705;
double r2690804 = fma(r2690802, r2690791, r2690803);
double r2690805 = 230661.510616;
double r2690806 = fma(r2690791, r2690804, r2690805);
double r2690807 = t;
double r2690808 = fma(r2690806, r2690791, r2690807);
double r2690809 = r2690799 / r2690808;
double r2690810 = r2690790 / r2690809;
return r2690810;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Initial program 28.3
Simplified28.3
rmApplied add-cube-cbrt28.9
Applied associate-/l*28.9
rmApplied clear-num29.0
Simplified28.5
Final simplification28.5
herbie shell --seed 2019146 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))