\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{1}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)} \cdot \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)double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1099444 = x;
double r1099445 = y;
double r1099446 = r1099444 * r1099445;
double r1099447 = z;
double r1099448 = r1099446 + r1099447;
double r1099449 = r1099448 * r1099445;
double r1099450 = 27464.7644705;
double r1099451 = r1099449 + r1099450;
double r1099452 = r1099451 * r1099445;
double r1099453 = 230661.510616;
double r1099454 = r1099452 + r1099453;
double r1099455 = r1099454 * r1099445;
double r1099456 = t;
double r1099457 = r1099455 + r1099456;
double r1099458 = a;
double r1099459 = r1099445 + r1099458;
double r1099460 = r1099459 * r1099445;
double r1099461 = b;
double r1099462 = r1099460 + r1099461;
double r1099463 = r1099462 * r1099445;
double r1099464 = c;
double r1099465 = r1099463 + r1099464;
double r1099466 = r1099465 * r1099445;
double r1099467 = i;
double r1099468 = r1099466 + r1099467;
double r1099469 = r1099457 / r1099468;
return r1099469;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r1099470 = 1.0;
double r1099471 = y;
double r1099472 = a;
double r1099473 = r1099471 + r1099472;
double r1099474 = b;
double r1099475 = fma(r1099473, r1099471, r1099474);
double r1099476 = c;
double r1099477 = fma(r1099471, r1099475, r1099476);
double r1099478 = i;
double r1099479 = fma(r1099477, r1099471, r1099478);
double r1099480 = r1099470 / r1099479;
double r1099481 = x;
double r1099482 = z;
double r1099483 = fma(r1099471, r1099481, r1099482);
double r1099484 = 27464.7644705;
double r1099485 = fma(r1099471, r1099483, r1099484);
double r1099486 = 230661.510616;
double r1099487 = fma(r1099471, r1099485, r1099486);
double r1099488 = t;
double r1099489 = fma(r1099471, r1099487, r1099488);
double r1099490 = r1099480 * r1099489;
return r1099490;
}



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.3
Simplified28.3
rmApplied div-inv28.4
Final simplification28.4
herbie shell --seed 2019153 +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)))