\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}\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r58914 = x;
double r58915 = y;
double r58916 = r58914 * r58915;
double r58917 = z;
double r58918 = r58916 + r58917;
double r58919 = r58918 * r58915;
double r58920 = 27464.7644705;
double r58921 = r58919 + r58920;
double r58922 = r58921 * r58915;
double r58923 = 230661.510616;
double r58924 = r58922 + r58923;
double r58925 = r58924 * r58915;
double r58926 = t;
double r58927 = r58925 + r58926;
double r58928 = a;
double r58929 = r58915 + r58928;
double r58930 = r58929 * r58915;
double r58931 = b;
double r58932 = r58930 + r58931;
double r58933 = r58932 * r58915;
double r58934 = c;
double r58935 = r58933 + r58934;
double r58936 = r58935 * r58915;
double r58937 = i;
double r58938 = r58936 + r58937;
double r58939 = r58927 / r58938;
return r58939;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r58940 = x;
double r58941 = y;
double r58942 = r58940 * r58941;
double r58943 = z;
double r58944 = r58942 + r58943;
double r58945 = r58944 * r58941;
double r58946 = 27464.7644705;
double r58947 = r58945 + r58946;
double r58948 = r58947 * r58941;
double r58949 = 230661.510616;
double r58950 = r58948 + r58949;
double r58951 = r58950 * r58941;
double r58952 = t;
double r58953 = r58951 + r58952;
double r58954 = 1.0;
double r58955 = a;
double r58956 = r58941 + r58955;
double r58957 = r58956 * r58941;
double r58958 = b;
double r58959 = r58957 + r58958;
double r58960 = r58959 * r58941;
double r58961 = c;
double r58962 = r58960 + r58961;
double r58963 = r58962 * r58941;
double r58964 = i;
double r58965 = r58963 + r58964;
double r58966 = r58954 / r58965;
double r58967 = r58953 * r58966;
return r58967;
}



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
Results
Initial program 29.3
rmApplied div-inv29.4
Final simplification29.4
herbie shell --seed 2019318
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))