\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{1}{\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 r12987194 = x;
double r12987195 = y;
double r12987196 = r12987194 * r12987195;
double r12987197 = z;
double r12987198 = r12987196 + r12987197;
double r12987199 = r12987198 * r12987195;
double r12987200 = 27464.7644705;
double r12987201 = r12987199 + r12987200;
double r12987202 = r12987201 * r12987195;
double r12987203 = 230661.510616;
double r12987204 = r12987202 + r12987203;
double r12987205 = r12987204 * r12987195;
double r12987206 = t;
double r12987207 = r12987205 + r12987206;
double r12987208 = a;
double r12987209 = r12987195 + r12987208;
double r12987210 = r12987209 * r12987195;
double r12987211 = b;
double r12987212 = r12987210 + r12987211;
double r12987213 = r12987212 * r12987195;
double r12987214 = c;
double r12987215 = r12987213 + r12987214;
double r12987216 = r12987215 * r12987195;
double r12987217 = i;
double r12987218 = r12987216 + r12987217;
double r12987219 = r12987207 / r12987218;
return r12987219;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r12987220 = 1.0;
double r12987221 = y;
double r12987222 = x;
double r12987223 = z;
double r12987224 = fma(r12987221, r12987222, r12987223);
double r12987225 = 27464.7644705;
double r12987226 = fma(r12987221, r12987224, r12987225);
double r12987227 = 230661.510616;
double r12987228 = fma(r12987221, r12987226, r12987227);
double r12987229 = t;
double r12987230 = fma(r12987221, r12987228, r12987229);
double r12987231 = a;
double r12987232 = r12987231 + r12987221;
double r12987233 = b;
double r12987234 = fma(r12987232, r12987221, r12987233);
double r12987235 = c;
double r12987236 = fma(r12987221, r12987234, r12987235);
double r12987237 = i;
double r12987238 = fma(r12987236, r12987221, r12987237);
double r12987239 = r12987230 / r12987238;
double r12987240 = r12987220 / r12987239;
double r12987241 = r12987220 / r12987240;
return r12987241;
}



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 28.5
Simplified28.5
rmApplied *-un-lft-identity28.5
Applied associate-/l*28.7
rmApplied *-un-lft-identity28.7
Applied associate-/l*28.7
Final simplification28.7
herbie shell --seed 2019107 +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)))