\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\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}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r56942 = x;
double r56943 = y;
double r56944 = r56942 * r56943;
double r56945 = z;
double r56946 = r56944 + r56945;
double r56947 = r56946 * r56943;
double r56948 = 27464.7644705;
double r56949 = r56947 + r56948;
double r56950 = r56949 * r56943;
double r56951 = 230661.510616;
double r56952 = r56950 + r56951;
double r56953 = r56952 * r56943;
double r56954 = t;
double r56955 = r56953 + r56954;
double r56956 = a;
double r56957 = r56943 + r56956;
double r56958 = r56957 * r56943;
double r56959 = b;
double r56960 = r56958 + r56959;
double r56961 = r56960 * r56943;
double r56962 = c;
double r56963 = r56961 + r56962;
double r56964 = r56963 * r56943;
double r56965 = i;
double r56966 = r56964 + r56965;
double r56967 = r56955 / r56966;
return r56967;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r56968 = 1.0;
double r56969 = y;
double r56970 = a;
double r56971 = r56969 + r56970;
double r56972 = r56971 * r56969;
double r56973 = b;
double r56974 = r56972 + r56973;
double r56975 = r56974 * r56969;
double r56976 = c;
double r56977 = r56975 + r56976;
double r56978 = r56977 * r56969;
double r56979 = i;
double r56980 = r56978 + r56979;
double r56981 = x;
double r56982 = r56981 * r56969;
double r56983 = z;
double r56984 = r56982 + r56983;
double r56985 = r56984 * r56969;
double r56986 = 27464.7644705;
double r56987 = r56985 + r56986;
double r56988 = r56987 * r56969;
double r56989 = 230661.510616;
double r56990 = r56988 + r56989;
double r56991 = r56990 * r56969;
double r56992 = t;
double r56993 = r56991 + r56992;
double r56994 = r56980 / r56993;
double r56995 = r56968 / r56994;
return r56995;
}



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.1
rmApplied clear-num29.3
Final simplification29.3
herbie shell --seed 2020059
(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)))