\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}\frac{\left(230661.5106160000141244381666183471679688 + \left(\left(y \cdot 27464.7644704999984242022037506103515625 + {y}^{3} \cdot x\right) + z \cdot \left(y \cdot y\right)\right)\right) \cdot y + t}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(a + y\right) + b\right)\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r60580 = x;
double r60581 = y;
double r60582 = r60580 * r60581;
double r60583 = z;
double r60584 = r60582 + r60583;
double r60585 = r60584 * r60581;
double r60586 = 27464.7644705;
double r60587 = r60585 + r60586;
double r60588 = r60587 * r60581;
double r60589 = 230661.510616;
double r60590 = r60588 + r60589;
double r60591 = r60590 * r60581;
double r60592 = t;
double r60593 = r60591 + r60592;
double r60594 = a;
double r60595 = r60581 + r60594;
double r60596 = r60595 * r60581;
double r60597 = b;
double r60598 = r60596 + r60597;
double r60599 = r60598 * r60581;
double r60600 = c;
double r60601 = r60599 + r60600;
double r60602 = r60601 * r60581;
double r60603 = i;
double r60604 = r60602 + r60603;
double r60605 = r60593 / r60604;
return r60605;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r60606 = 230661.510616;
double r60607 = y;
double r60608 = 27464.7644705;
double r60609 = r60607 * r60608;
double r60610 = 3.0;
double r60611 = pow(r60607, r60610);
double r60612 = x;
double r60613 = r60611 * r60612;
double r60614 = r60609 + r60613;
double r60615 = z;
double r60616 = r60607 * r60607;
double r60617 = r60615 * r60616;
double r60618 = r60614 + r60617;
double r60619 = r60606 + r60618;
double r60620 = r60619 * r60607;
double r60621 = t;
double r60622 = r60620 + r60621;
double r60623 = i;
double r60624 = c;
double r60625 = a;
double r60626 = r60625 + r60607;
double r60627 = r60607 * r60626;
double r60628 = b;
double r60629 = r60627 + r60628;
double r60630 = r60607 * r60629;
double r60631 = r60624 + r60630;
double r60632 = r60607 * r60631;
double r60633 = r60623 + r60632;
double r60634 = r60622 / r60633;
return r60634;
}



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
Results
Initial program 28.6
Simplified28.6
Taylor expanded around inf 28.7
Simplified28.7
Final simplification28.7
herbie shell --seed 2019195
(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)))