\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(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1571952 = x;
double r1571953 = y;
double r1571954 = r1571952 * r1571953;
double r1571955 = z;
double r1571956 = r1571954 + r1571955;
double r1571957 = r1571956 * r1571953;
double r1571958 = 27464.7644705;
double r1571959 = r1571957 + r1571958;
double r1571960 = r1571959 * r1571953;
double r1571961 = 230661.510616;
double r1571962 = r1571960 + r1571961;
double r1571963 = r1571962 * r1571953;
double r1571964 = t;
double r1571965 = r1571963 + r1571964;
double r1571966 = a;
double r1571967 = r1571953 + r1571966;
double r1571968 = r1571967 * r1571953;
double r1571969 = b;
double r1571970 = r1571968 + r1571969;
double r1571971 = r1571970 * r1571953;
double r1571972 = c;
double r1571973 = r1571971 + r1571972;
double r1571974 = r1571973 * r1571953;
double r1571975 = i;
double r1571976 = r1571974 + r1571975;
double r1571977 = r1571965 / r1571976;
return r1571977;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1571978 = 1.0;
double r1571979 = y;
double r1571980 = a;
double r1571981 = r1571979 + r1571980;
double r1571982 = b;
double r1571983 = fma(r1571981, r1571979, r1571982);
double r1571984 = c;
double r1571985 = fma(r1571979, r1571983, r1571984);
double r1571986 = i;
double r1571987 = fma(r1571985, r1571979, r1571986);
double r1571988 = x;
double r1571989 = z;
double r1571990 = fma(r1571979, r1571988, r1571989);
double r1571991 = 27464.7644705;
double r1571992 = fma(r1571979, r1571990, r1571991);
double r1571993 = 230661.510616;
double r1571994 = fma(r1571979, r1571992, r1571993);
double r1571995 = t;
double r1571996 = fma(r1571979, r1571994, r1571995);
double r1571997 = r1571987 / r1571996;
double r1571998 = r1571978 / r1571997;
return r1571998;
}



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 27.7
Simplified27.7
rmApplied clear-num28.0
Final simplification28.0
herbie shell --seed 2019156 +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)))