\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(\left(\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)} \cdot \sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(y, \left(\mathsf{fma}\left(y, x, z\right)\right), 27464.7644705\right)}}\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 r8487285 = x;
double r8487286 = y;
double r8487287 = r8487285 * r8487286;
double r8487288 = z;
double r8487289 = r8487287 + r8487288;
double r8487290 = r8487289 * r8487286;
double r8487291 = 27464.7644705;
double r8487292 = r8487290 + r8487291;
double r8487293 = r8487292 * r8487286;
double r8487294 = 230661.510616;
double r8487295 = r8487293 + r8487294;
double r8487296 = r8487295 * r8487286;
double r8487297 = t;
double r8487298 = r8487296 + r8487297;
double r8487299 = a;
double r8487300 = r8487286 + r8487299;
double r8487301 = r8487300 * r8487286;
double r8487302 = b;
double r8487303 = r8487301 + r8487302;
double r8487304 = r8487303 * r8487286;
double r8487305 = c;
double r8487306 = r8487304 + r8487305;
double r8487307 = r8487306 * r8487286;
double r8487308 = i;
double r8487309 = r8487307 + r8487308;
double r8487310 = r8487298 / r8487309;
return r8487310;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r8487311 = y;
double r8487312 = x;
double r8487313 = z;
double r8487314 = fma(r8487311, r8487312, r8487313);
double r8487315 = 27464.7644705;
double r8487316 = fma(r8487311, r8487314, r8487315);
double r8487317 = cbrt(r8487316);
double r8487318 = r8487317 * r8487317;
double r8487319 = cbrt(r8487317);
double r8487320 = r8487319 * r8487319;
double r8487321 = r8487320 * r8487319;
double r8487322 = r8487318 * r8487321;
double r8487323 = 230661.510616;
double r8487324 = fma(r8487311, r8487322, r8487323);
double r8487325 = t;
double r8487326 = fma(r8487311, r8487324, r8487325);
double r8487327 = a;
double r8487328 = r8487327 + r8487311;
double r8487329 = b;
double r8487330 = fma(r8487328, r8487311, r8487329);
double r8487331 = c;
double r8487332 = fma(r8487311, r8487330, r8487331);
double r8487333 = i;
double r8487334 = fma(r8487332, r8487311, r8487333);
double r8487335 = r8487326 / r8487334;
return r8487335;
}



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 add-cube-cbrt28.0
rmApplied add-cube-cbrt28.0
Final simplification28.0
herbie shell --seed 2019125 +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)))