\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{\frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}{\frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\right), y, t\right)}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r60478 = x;
double r60479 = y;
double r60480 = r60478 * r60479;
double r60481 = z;
double r60482 = r60480 + r60481;
double r60483 = r60482 * r60479;
double r60484 = 27464.7644705;
double r60485 = r60483 + r60484;
double r60486 = r60485 * r60479;
double r60487 = 230661.510616;
double r60488 = r60486 + r60487;
double r60489 = r60488 * r60479;
double r60490 = t;
double r60491 = r60489 + r60490;
double r60492 = a;
double r60493 = r60479 + r60492;
double r60494 = r60493 * r60479;
double r60495 = b;
double r60496 = r60494 + r60495;
double r60497 = r60496 * r60479;
double r60498 = c;
double r60499 = r60497 + r60498;
double r60500 = r60499 * r60479;
double r60501 = i;
double r60502 = r60500 + r60501;
double r60503 = r60491 / r60502;
return r60503;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r60504 = 1.0;
double r60505 = y;
double r60506 = a;
double r60507 = r60505 + r60506;
double r60508 = b;
double r60509 = fma(r60507, r60505, r60508);
double r60510 = c;
double r60511 = fma(r60509, r60505, r60510);
double r60512 = i;
double r60513 = fma(r60511, r60505, r60512);
double r60514 = r60504 / r60513;
double r60515 = x;
double r60516 = z;
double r60517 = fma(r60515, r60505, r60516);
double r60518 = 27464.7644705;
double r60519 = fma(r60517, r60505, r60518);
double r60520 = 230661.510616;
double r60521 = fma(r60519, r60505, r60520);
double r60522 = t;
double r60523 = fma(r60521, r60505, r60522);
double r60524 = r60504 / r60523;
double r60525 = r60514 / r60524;
return r60525;
}



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.2
rmApplied *-un-lft-identity29.2
Applied *-un-lft-identity29.2
Applied times-frac29.2
Simplified29.2
Simplified29.2
rmApplied clear-num29.4
Simplified29.4
rmApplied div-inv29.4
Applied associate-/r*29.3
Final simplification29.3
herbie shell --seed 2020064 +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)))