\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, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3281494 = x;
double r3281495 = y;
double r3281496 = r3281494 * r3281495;
double r3281497 = z;
double r3281498 = r3281496 + r3281497;
double r3281499 = r3281498 * r3281495;
double r3281500 = 27464.7644705;
double r3281501 = r3281499 + r3281500;
double r3281502 = r3281501 * r3281495;
double r3281503 = 230661.510616;
double r3281504 = r3281502 + r3281503;
double r3281505 = r3281504 * r3281495;
double r3281506 = t;
double r3281507 = r3281505 + r3281506;
double r3281508 = a;
double r3281509 = r3281495 + r3281508;
double r3281510 = r3281509 * r3281495;
double r3281511 = b;
double r3281512 = r3281510 + r3281511;
double r3281513 = r3281512 * r3281495;
double r3281514 = c;
double r3281515 = r3281513 + r3281514;
double r3281516 = r3281515 * r3281495;
double r3281517 = i;
double r3281518 = r3281516 + r3281517;
double r3281519 = r3281507 / r3281518;
return r3281519;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3281520 = y;
double r3281521 = x;
double r3281522 = z;
double r3281523 = fma(r3281520, r3281521, r3281522);
double r3281524 = 27464.7644705;
double r3281525 = fma(r3281520, r3281523, r3281524);
double r3281526 = 230661.510616;
double r3281527 = fma(r3281520, r3281525, r3281526);
double r3281528 = t;
double r3281529 = fma(r3281520, r3281527, r3281528);
double r3281530 = a;
double r3281531 = r3281520 + r3281530;
double r3281532 = b;
double r3281533 = fma(r3281531, r3281520, r3281532);
double r3281534 = c;
double r3281535 = fma(r3281520, r3281533, r3281534);
double r3281536 = i;
double r3281537 = fma(r3281535, r3281520, r3281536);
double r3281538 = r3281529 / r3281537;
return r3281538;
}



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 29.0
Simplified29.0
Final simplification29.0
herbie shell --seed 2019168 +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)))