\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{\left(230661.510616 + \left(27464.7644705 + \left(x \cdot \left(y \cdot y\right) + y \cdot z\right)\right) \cdot y\right) \cdot y + t}{i + y \cdot \left(\left(\left(a + y\right) \cdot y + b\right) \cdot y + c\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1240448 = x;
double r1240449 = y;
double r1240450 = r1240448 * r1240449;
double r1240451 = z;
double r1240452 = r1240450 + r1240451;
double r1240453 = r1240452 * r1240449;
double r1240454 = 27464.7644705;
double r1240455 = r1240453 + r1240454;
double r1240456 = r1240455 * r1240449;
double r1240457 = 230661.510616;
double r1240458 = r1240456 + r1240457;
double r1240459 = r1240458 * r1240449;
double r1240460 = t;
double r1240461 = r1240459 + r1240460;
double r1240462 = a;
double r1240463 = r1240449 + r1240462;
double r1240464 = r1240463 * r1240449;
double r1240465 = b;
double r1240466 = r1240464 + r1240465;
double r1240467 = r1240466 * r1240449;
double r1240468 = c;
double r1240469 = r1240467 + r1240468;
double r1240470 = r1240469 * r1240449;
double r1240471 = i;
double r1240472 = r1240470 + r1240471;
double r1240473 = r1240461 / r1240472;
return r1240473;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1240474 = 230661.510616;
double r1240475 = 27464.7644705;
double r1240476 = x;
double r1240477 = y;
double r1240478 = r1240477 * r1240477;
double r1240479 = r1240476 * r1240478;
double r1240480 = z;
double r1240481 = r1240477 * r1240480;
double r1240482 = r1240479 + r1240481;
double r1240483 = r1240475 + r1240482;
double r1240484 = r1240483 * r1240477;
double r1240485 = r1240474 + r1240484;
double r1240486 = r1240485 * r1240477;
double r1240487 = t;
double r1240488 = r1240486 + r1240487;
double r1240489 = i;
double r1240490 = a;
double r1240491 = r1240490 + r1240477;
double r1240492 = r1240491 * r1240477;
double r1240493 = b;
double r1240494 = r1240492 + r1240493;
double r1240495 = r1240494 * r1240477;
double r1240496 = c;
double r1240497 = r1240495 + r1240496;
double r1240498 = r1240477 * r1240497;
double r1240499 = r1240489 + r1240498;
double r1240500 = r1240488 / r1240499;
return r1240500;
}



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
Results
Initial program 28.3
Taylor expanded around 0 28.3
Simplified28.3
Final simplification28.3
herbie shell --seed 2019153
(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)))