\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(\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), y, 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 r2069360 = x;
double r2069361 = y;
double r2069362 = r2069360 * r2069361;
double r2069363 = z;
double r2069364 = r2069362 + r2069363;
double r2069365 = r2069364 * r2069361;
double r2069366 = 27464.7644705;
double r2069367 = r2069365 + r2069366;
double r2069368 = r2069367 * r2069361;
double r2069369 = 230661.510616;
double r2069370 = r2069368 + r2069369;
double r2069371 = r2069370 * r2069361;
double r2069372 = t;
double r2069373 = r2069371 + r2069372;
double r2069374 = a;
double r2069375 = r2069361 + r2069374;
double r2069376 = r2069375 * r2069361;
double r2069377 = b;
double r2069378 = r2069376 + r2069377;
double r2069379 = r2069378 * r2069361;
double r2069380 = c;
double r2069381 = r2069379 + r2069380;
double r2069382 = r2069381 * r2069361;
double r2069383 = i;
double r2069384 = r2069382 + r2069383;
double r2069385 = r2069373 / r2069384;
return r2069385;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2069386 = y;
double r2069387 = x;
double r2069388 = z;
double r2069389 = fma(r2069386, r2069387, r2069388);
double r2069390 = 27464.7644705;
double r2069391 = fma(r2069386, r2069389, r2069390);
double r2069392 = 230661.510616;
double r2069393 = fma(r2069386, r2069391, r2069392);
double r2069394 = t;
double r2069395 = fma(r2069393, r2069386, r2069394);
double r2069396 = a;
double r2069397 = r2069386 + r2069396;
double r2069398 = b;
double r2069399 = fma(r2069397, r2069386, r2069398);
double r2069400 = c;
double r2069401 = fma(r2069386, r2069399, r2069400);
double r2069402 = i;
double r2069403 = fma(r2069401, r2069386, r2069402);
double r2069404 = r2069395 / r2069403;
return r2069404;
}



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.1
Simplified28.1
rmApplied *-un-lft-identity28.1
Applied associate-/l*28.3
rmApplied div-inv28.3
Applied *-un-lft-identity28.3
Applied times-frac28.2
Simplified28.1
rmApplied associate-*l/28.1
Simplified28.1
Final simplification28.1
herbie shell --seed 2019143 +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)))