\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{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)\right), 230661.510616\right)\right), t\right)}{\mathsf{fma}\left(\left(\mathsf{fma}\left(y, \left(\mathsf{fma}\left(\left(a + y\right), y, b\right)\right), c\right)\right), y, i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r21449024 = x;
double r21449025 = y;
double r21449026 = r21449024 * r21449025;
double r21449027 = z;
double r21449028 = r21449026 + r21449027;
double r21449029 = r21449028 * r21449025;
double r21449030 = 27464.7644705;
double r21449031 = r21449029 + r21449030;
double r21449032 = r21449031 * r21449025;
double r21449033 = 230661.510616;
double r21449034 = r21449032 + r21449033;
double r21449035 = r21449034 * r21449025;
double r21449036 = t;
double r21449037 = r21449035 + r21449036;
double r21449038 = a;
double r21449039 = r21449025 + r21449038;
double r21449040 = r21449039 * r21449025;
double r21449041 = b;
double r21449042 = r21449040 + r21449041;
double r21449043 = r21449042 * r21449025;
double r21449044 = c;
double r21449045 = r21449043 + r21449044;
double r21449046 = r21449045 * r21449025;
double r21449047 = i;
double r21449048 = r21449046 + r21449047;
double r21449049 = r21449037 / r21449048;
return r21449049;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r21449050 = y;
double r21449051 = x;
double r21449052 = z;
double r21449053 = fma(r21449050, r21449051, r21449052);
double r21449054 = 27464.7644705;
double r21449055 = fma(r21449050, r21449053, r21449054);
double r21449056 = 230661.510616;
double r21449057 = fma(r21449050, r21449055, r21449056);
double r21449058 = t;
double r21449059 = fma(r21449050, r21449057, r21449058);
double r21449060 = a;
double r21449061 = r21449060 + r21449050;
double r21449062 = b;
double r21449063 = fma(r21449061, r21449050, r21449062);
double r21449064 = c;
double r21449065 = fma(r21449050, r21449063, r21449064);
double r21449066 = i;
double r21449067 = fma(r21449065, r21449050, r21449066);
double r21449068 = r21449059 / r21449067;
return r21449068;
}



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 29.1
rmApplied clear-num29.3
rmApplied div-inv29.4
Applied associate-/r*29.2
Simplified29.2
rmApplied div-inv29.2
Applied *-un-lft-identity29.2
Applied add-cube-cbrt29.2
Applied times-frac29.2
Applied times-frac29.2
Simplified29.2
Simplified29.1
Final simplification29.1
herbie shell --seed 2019124 +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)))