\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}\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) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r87528 = x;
double r87529 = y;
double r87530 = r87528 * r87529;
double r87531 = z;
double r87532 = r87530 + r87531;
double r87533 = r87532 * r87529;
double r87534 = 27464.7644705;
double r87535 = r87533 + r87534;
double r87536 = r87535 * r87529;
double r87537 = 230661.510616;
double r87538 = r87536 + r87537;
double r87539 = r87538 * r87529;
double r87540 = t;
double r87541 = r87539 + r87540;
double r87542 = a;
double r87543 = r87529 + r87542;
double r87544 = r87543 * r87529;
double r87545 = b;
double r87546 = r87544 + r87545;
double r87547 = r87546 * r87529;
double r87548 = c;
double r87549 = r87547 + r87548;
double r87550 = r87549 * r87529;
double r87551 = i;
double r87552 = r87550 + r87551;
double r87553 = r87541 / r87552;
return r87553;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r87554 = x;
double r87555 = y;
double r87556 = z;
double r87557 = fma(r87554, r87555, r87556);
double r87558 = 27464.7644705;
double r87559 = fma(r87557, r87555, r87558);
double r87560 = 230661.510616;
double r87561 = fma(r87559, r87555, r87560);
double r87562 = t;
double r87563 = fma(r87561, r87555, r87562);
double r87564 = 1.0;
double r87565 = a;
double r87566 = r87555 + r87565;
double r87567 = b;
double r87568 = fma(r87566, r87555, r87567);
double r87569 = c;
double r87570 = fma(r87568, r87555, r87569);
double r87571 = i;
double r87572 = fma(r87570, r87555, r87571);
double r87573 = r87564 / r87572;
double r87574 = r87563 * r87573;
return r87574;
}



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.3
Simplified29.3
rmApplied div-inv29.3
Final simplification29.3
herbie shell --seed 2020045 +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)))