\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 r2014955 = x;
double r2014956 = y;
double r2014957 = r2014955 * r2014956;
double r2014958 = z;
double r2014959 = r2014957 + r2014958;
double r2014960 = r2014959 * r2014956;
double r2014961 = 27464.7644705;
double r2014962 = r2014960 + r2014961;
double r2014963 = r2014962 * r2014956;
double r2014964 = 230661.510616;
double r2014965 = r2014963 + r2014964;
double r2014966 = r2014965 * r2014956;
double r2014967 = t;
double r2014968 = r2014966 + r2014967;
double r2014969 = a;
double r2014970 = r2014956 + r2014969;
double r2014971 = r2014970 * r2014956;
double r2014972 = b;
double r2014973 = r2014971 + r2014972;
double r2014974 = r2014973 * r2014956;
double r2014975 = c;
double r2014976 = r2014974 + r2014975;
double r2014977 = r2014976 * r2014956;
double r2014978 = i;
double r2014979 = r2014977 + r2014978;
double r2014980 = r2014968 / r2014979;
return r2014980;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2014981 = 1.0;
double r2014982 = y;
double r2014983 = a;
double r2014984 = r2014982 + r2014983;
double r2014985 = b;
double r2014986 = fma(r2014984, r2014982, r2014985);
double r2014987 = c;
double r2014988 = fma(r2014982, r2014986, r2014987);
double r2014989 = i;
double r2014990 = fma(r2014988, r2014982, r2014989);
double r2014991 = x;
double r2014992 = z;
double r2014993 = fma(r2014982, r2014991, r2014992);
double r2014994 = 27464.7644705;
double r2014995 = fma(r2014982, r2014993, r2014994);
double r2014996 = 230661.510616;
double r2014997 = fma(r2014982, r2014995, r2014996);
double r2014998 = t;
double r2014999 = fma(r2014982, r2014997, r2014998);
double r2015000 = r2014990 / r2014999;
double r2015001 = r2014981 / r2015000;
return r2015001;
}



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.9
Simplified27.9
rmApplied clear-num28.1
Final simplification28.1
herbie shell --seed 2019158 +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)))