\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\left(\left(\frac{z}{e^{6.5}} \cdot 2351.6663247613023 - \frac{1604.7704235566525}{e^{6.5}}\right) + \frac{676.5203681218851}{\left(z \cdot \sqrt{e^{6.5}}\right) \cdot \sqrt{e^{6.5}}}\right) \cdot \left(\sqrt{\pi \cdot 2} \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(0.5 + \left(z - 1\right)\right)}\right)double f(double z) {
double r3087515 = atan2(1.0, 0.0);
double r3087516 = 2.0;
double r3087517 = r3087515 * r3087516;
double r3087518 = sqrt(r3087517);
double r3087519 = z;
double r3087520 = 1.0;
double r3087521 = r3087519 - r3087520;
double r3087522 = 7.0;
double r3087523 = r3087521 + r3087522;
double r3087524 = 0.5;
double r3087525 = r3087523 + r3087524;
double r3087526 = r3087521 + r3087524;
double r3087527 = pow(r3087525, r3087526);
double r3087528 = r3087518 * r3087527;
double r3087529 = -r3087525;
double r3087530 = exp(r3087529);
double r3087531 = r3087528 * r3087530;
double r3087532 = 0.9999999999998099;
double r3087533 = 676.5203681218851;
double r3087534 = r3087521 + r3087520;
double r3087535 = r3087533 / r3087534;
double r3087536 = r3087532 + r3087535;
double r3087537 = -1259.1392167224028;
double r3087538 = r3087521 + r3087516;
double r3087539 = r3087537 / r3087538;
double r3087540 = r3087536 + r3087539;
double r3087541 = 771.3234287776531;
double r3087542 = 3.0;
double r3087543 = r3087521 + r3087542;
double r3087544 = r3087541 / r3087543;
double r3087545 = r3087540 + r3087544;
double r3087546 = -176.6150291621406;
double r3087547 = 4.0;
double r3087548 = r3087521 + r3087547;
double r3087549 = r3087546 / r3087548;
double r3087550 = r3087545 + r3087549;
double r3087551 = 12.507343278686905;
double r3087552 = 5.0;
double r3087553 = r3087521 + r3087552;
double r3087554 = r3087551 / r3087553;
double r3087555 = r3087550 + r3087554;
double r3087556 = -0.13857109526572012;
double r3087557 = 6.0;
double r3087558 = r3087521 + r3087557;
double r3087559 = r3087556 / r3087558;
double r3087560 = r3087555 + r3087559;
double r3087561 = 9.984369578019572e-06;
double r3087562 = r3087561 / r3087523;
double r3087563 = r3087560 + r3087562;
double r3087564 = 1.5056327351493116e-07;
double r3087565 = 8.0;
double r3087566 = r3087521 + r3087565;
double r3087567 = r3087564 / r3087566;
double r3087568 = r3087563 + r3087567;
double r3087569 = r3087531 * r3087568;
return r3087569;
}
double f(double z) {
double r3087570 = z;
double r3087571 = 6.5;
double r3087572 = exp(r3087571);
double r3087573 = r3087570 / r3087572;
double r3087574 = 2351.6663247613023;
double r3087575 = r3087573 * r3087574;
double r3087576 = 1604.7704235566525;
double r3087577 = r3087576 / r3087572;
double r3087578 = r3087575 - r3087577;
double r3087579 = 676.5203681218851;
double r3087580 = sqrt(r3087572);
double r3087581 = r3087570 * r3087580;
double r3087582 = r3087581 * r3087580;
double r3087583 = r3087579 / r3087582;
double r3087584 = r3087578 + r3087583;
double r3087585 = atan2(1.0, 0.0);
double r3087586 = 2.0;
double r3087587 = r3087585 * r3087586;
double r3087588 = sqrt(r3087587);
double r3087589 = 0.5;
double r3087590 = -6.0;
double r3087591 = r3087570 - r3087590;
double r3087592 = r3087589 + r3087591;
double r3087593 = 1.0;
double r3087594 = r3087570 - r3087593;
double r3087595 = r3087589 + r3087594;
double r3087596 = pow(r3087592, r3087595);
double r3087597 = r3087588 * r3087596;
double r3087598 = r3087584 * r3087597;
return r3087598;
}



Bits error versus z
Results
Initial program 59.9
Simplified0.8
Taylor expanded around 0 1.2
Simplified1.2
rmApplied add-sqr-sqrt1.2
Applied associate-*l*1.2
Final simplification1.2
herbie shell --seed 2019155
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))