\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot 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) \cdot 1}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63583 = x;
double r63584 = y;
double r63585 = r63583 * r63584;
double r63586 = z;
double r63587 = r63585 + r63586;
double r63588 = r63587 * r63584;
double r63589 = 27464.7644705;
double r63590 = r63588 + r63589;
double r63591 = r63590 * r63584;
double r63592 = 230661.510616;
double r63593 = r63591 + r63592;
double r63594 = r63593 * r63584;
double r63595 = t;
double r63596 = r63594 + r63595;
double r63597 = a;
double r63598 = r63584 + r63597;
double r63599 = r63598 * r63584;
double r63600 = b;
double r63601 = r63599 + r63600;
double r63602 = r63601 * r63584;
double r63603 = c;
double r63604 = r63602 + r63603;
double r63605 = r63604 * r63584;
double r63606 = i;
double r63607 = r63605 + r63606;
double r63608 = r63596 / r63607;
return r63608;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63609 = x;
double r63610 = y;
double r63611 = r63609 * r63610;
double r63612 = z;
double r63613 = r63611 + r63612;
double r63614 = r63613 * r63610;
double r63615 = 27464.7644705;
double r63616 = r63614 + r63615;
double r63617 = r63616 * r63610;
double r63618 = 230661.510616;
double r63619 = r63617 + r63618;
double r63620 = r63619 * r63610;
double r63621 = t;
double r63622 = r63620 + r63621;
double r63623 = 1.0;
double r63624 = a;
double r63625 = r63610 + r63624;
double r63626 = b;
double r63627 = fma(r63625, r63610, r63626);
double r63628 = c;
double r63629 = fma(r63627, r63610, r63628);
double r63630 = i;
double r63631 = fma(r63629, r63610, r63630);
double r63632 = r63631 * r63623;
double r63633 = r63623 / r63632;
double r63634 = r63622 * r63633;
return r63634;
}



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