\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 r63312 = x;
double r63313 = y;
double r63314 = r63312 * r63313;
double r63315 = z;
double r63316 = r63314 + r63315;
double r63317 = r63316 * r63313;
double r63318 = 27464.7644705;
double r63319 = r63317 + r63318;
double r63320 = r63319 * r63313;
double r63321 = 230661.510616;
double r63322 = r63320 + r63321;
double r63323 = r63322 * r63313;
double r63324 = t;
double r63325 = r63323 + r63324;
double r63326 = a;
double r63327 = r63313 + r63326;
double r63328 = r63327 * r63313;
double r63329 = b;
double r63330 = r63328 + r63329;
double r63331 = r63330 * r63313;
double r63332 = c;
double r63333 = r63331 + r63332;
double r63334 = r63333 * r63313;
double r63335 = i;
double r63336 = r63334 + r63335;
double r63337 = r63325 / r63336;
return r63337;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63338 = x;
double r63339 = y;
double r63340 = z;
double r63341 = fma(r63338, r63339, r63340);
double r63342 = 27464.7644705;
double r63343 = fma(r63341, r63339, r63342);
double r63344 = cbrt(r63343);
double r63345 = cbrt(r63344);
double r63346 = r63345 * r63345;
double r63347 = r63346 * r63345;
double r63348 = r63347 * r63344;
double r63349 = r63348 * r63344;
double r63350 = 230661.510616;
double r63351 = fma(r63349, r63339, r63350);
double r63352 = t;
double r63353 = fma(r63351, r63339, r63352);
double r63354 = a;
double r63355 = r63339 + r63354;
double r63356 = b;
double r63357 = fma(r63355, r63339, r63356);
double r63358 = c;
double r63359 = fma(r63357, r63339, r63358);
double r63360 = i;
double r63361 = fma(r63359, r63339, r63360);
double r63362 = r63353 / r63361;
return r63362;
}



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)))