\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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(\mathsf{fma}\left(\left(\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right)}}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right)}, y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r51308 = x;
double r51309 = y;
double r51310 = r51308 * r51309;
double r51311 = z;
double r51312 = r51310 + r51311;
double r51313 = r51312 * r51309;
double r51314 = 27464.7644705;
double r51315 = r51313 + r51314;
double r51316 = r51315 * r51309;
double r51317 = 230661.510616;
double r51318 = r51316 + r51317;
double r51319 = r51318 * r51309;
double r51320 = t;
double r51321 = r51319 + r51320;
double r51322 = a;
double r51323 = r51309 + r51322;
double r51324 = r51323 * r51309;
double r51325 = b;
double r51326 = r51324 + r51325;
double r51327 = r51326 * r51309;
double r51328 = c;
double r51329 = r51327 + r51328;
double r51330 = r51329 * r51309;
double r51331 = i;
double r51332 = r51330 + r51331;
double r51333 = r51321 / r51332;
return r51333;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r51334 = x;
double r51335 = y;
double r51336 = z;
double r51337 = fma(r51334, r51335, r51336);
double r51338 = 27464.7644705;
double r51339 = fma(r51337, r51335, r51338);
double r51340 = cbrt(r51339);
double r51341 = cbrt(r51340);
double r51342 = r51341 * r51341;
double r51343 = r51342 * r51341;
double r51344 = r51343 * r51340;
double r51345 = r51344 * r51340;
double r51346 = 230661.510616;
double r51347 = fma(r51345, r51335, r51346);
double r51348 = t;
double r51349 = fma(r51347, r51335, r51348);
double r51350 = a;
double r51351 = r51335 + r51350;
double r51352 = b;
double r51353 = fma(r51351, r51335, r51352);
double r51354 = c;
double r51355 = fma(r51353, r51335, r51354);
double r51356 = i;
double r51357 = fma(r51355, r51335, r51356);
double r51358 = r51349 / r51357;
return r51358;
}



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.7
Simplified28.7
rmApplied add-cube-cbrt28.8
rmApplied add-cube-cbrt28.8
Final simplification28.8
herbie shell --seed 2019323 +o rules:numerics
(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)))