\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{1}{\frac{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r56904 = x;
double r56905 = y;
double r56906 = r56904 * r56905;
double r56907 = z;
double r56908 = r56906 + r56907;
double r56909 = r56908 * r56905;
double r56910 = 27464.7644705;
double r56911 = r56909 + r56910;
double r56912 = r56911 * r56905;
double r56913 = 230661.510616;
double r56914 = r56912 + r56913;
double r56915 = r56914 * r56905;
double r56916 = t;
double r56917 = r56915 + r56916;
double r56918 = a;
double r56919 = r56905 + r56918;
double r56920 = r56919 * r56905;
double r56921 = b;
double r56922 = r56920 + r56921;
double r56923 = r56922 * r56905;
double r56924 = c;
double r56925 = r56923 + r56924;
double r56926 = r56925 * r56905;
double r56927 = i;
double r56928 = r56926 + r56927;
double r56929 = r56917 / r56928;
return r56929;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r56930 = 1.0;
double r56931 = y;
double r56932 = a;
double r56933 = r56931 + r56932;
double r56934 = r56933 * r56931;
double r56935 = b;
double r56936 = r56934 + r56935;
double r56937 = r56936 * r56931;
double r56938 = c;
double r56939 = r56937 + r56938;
double r56940 = r56939 * r56931;
double r56941 = i;
double r56942 = r56940 + r56941;
double r56943 = x;
double r56944 = z;
double r56945 = fma(r56943, r56931, r56944);
double r56946 = 27464.7644705;
double r56947 = fma(r56945, r56931, r56946);
double r56948 = 230661.510616;
double r56949 = fma(r56947, r56931, r56948);
double r56950 = t;
double r56951 = fma(r56949, r56931, r56950);
double r56952 = r56942 / r56951;
double r56953 = r56930 / r56952;
return r56953;
}



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.7
rmApplied *-un-lft-identity28.7
Applied associate-/r*28.7
Simplified28.7
rmApplied clear-num29.0
Final simplification29.0
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))