\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)\frac{\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \left(\frac{12.507343278686905}{4 + z} + \left(\frac{-0.13857109526572012}{z - -5} + \frac{-176.6150291621406}{z + 3}\right)\right)\right) + \left(\left(\frac{-1259.1392167224028}{z + 1} + \left(\frac{771.3234287776531}{2 + z} + \left(0.9999999999998099 + \frac{676.5203681218851}{z}\right)\right)\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{z - -7}\right)}{e^{0.5 + \left(z - -6\right)}} \cdot \frac{\frac{{\left(0.5 + \left(z - -6\right)\right)}^{z}}{{\left(\sqrt[3]{0.5 + \left(z - -6\right)}\right)}^{\left(1 - 0.5\right)}}}{\frac{{\left(\sqrt[3]{0.5 + \left(z - -6\right)}\right)}^{\left(1 - 0.5\right)}}{\frac{\sqrt{\pi \cdot 2}}{{\left(\sqrt[3]{0.5 + \left(z - -6\right)}\right)}^{\left(1 - 0.5\right)}}}}double f(double z) {
double r3364558 = atan2(1.0, 0.0);
double r3364559 = 2.0;
double r3364560 = r3364558 * r3364559;
double r3364561 = sqrt(r3364560);
double r3364562 = z;
double r3364563 = 1.0;
double r3364564 = r3364562 - r3364563;
double r3364565 = 7.0;
double r3364566 = r3364564 + r3364565;
double r3364567 = 0.5;
double r3364568 = r3364566 + r3364567;
double r3364569 = r3364564 + r3364567;
double r3364570 = pow(r3364568, r3364569);
double r3364571 = r3364561 * r3364570;
double r3364572 = -r3364568;
double r3364573 = exp(r3364572);
double r3364574 = r3364571 * r3364573;
double r3364575 = 0.9999999999998099;
double r3364576 = 676.5203681218851;
double r3364577 = r3364564 + r3364563;
double r3364578 = r3364576 / r3364577;
double r3364579 = r3364575 + r3364578;
double r3364580 = -1259.1392167224028;
double r3364581 = r3364564 + r3364559;
double r3364582 = r3364580 / r3364581;
double r3364583 = r3364579 + r3364582;
double r3364584 = 771.3234287776531;
double r3364585 = 3.0;
double r3364586 = r3364564 + r3364585;
double r3364587 = r3364584 / r3364586;
double r3364588 = r3364583 + r3364587;
double r3364589 = -176.6150291621406;
double r3364590 = 4.0;
double r3364591 = r3364564 + r3364590;
double r3364592 = r3364589 / r3364591;
double r3364593 = r3364588 + r3364592;
double r3364594 = 12.507343278686905;
double r3364595 = 5.0;
double r3364596 = r3364564 + r3364595;
double r3364597 = r3364594 / r3364596;
double r3364598 = r3364593 + r3364597;
double r3364599 = -0.13857109526572012;
double r3364600 = 6.0;
double r3364601 = r3364564 + r3364600;
double r3364602 = r3364599 / r3364601;
double r3364603 = r3364598 + r3364602;
double r3364604 = 9.984369578019572e-06;
double r3364605 = r3364604 / r3364566;
double r3364606 = r3364603 + r3364605;
double r3364607 = 1.5056327351493116e-07;
double r3364608 = 8.0;
double r3364609 = r3364564 + r3364608;
double r3364610 = r3364607 / r3364609;
double r3364611 = r3364606 + r3364610;
double r3364612 = r3364574 * r3364611;
return r3364612;
}
double f(double z) {
double r3364613 = 9.984369578019572e-06;
double r3364614 = z;
double r3364615 = -6.0;
double r3364616 = r3364614 - r3364615;
double r3364617 = r3364613 / r3364616;
double r3364618 = 12.507343278686905;
double r3364619 = 4.0;
double r3364620 = r3364619 + r3364614;
double r3364621 = r3364618 / r3364620;
double r3364622 = -0.13857109526572012;
double r3364623 = -5.0;
double r3364624 = r3364614 - r3364623;
double r3364625 = r3364622 / r3364624;
double r3364626 = -176.6150291621406;
double r3364627 = 3.0;
double r3364628 = r3364614 + r3364627;
double r3364629 = r3364626 / r3364628;
double r3364630 = r3364625 + r3364629;
double r3364631 = r3364621 + r3364630;
double r3364632 = r3364617 + r3364631;
double r3364633 = -1259.1392167224028;
double r3364634 = 1.0;
double r3364635 = r3364614 + r3364634;
double r3364636 = r3364633 / r3364635;
double r3364637 = 771.3234287776531;
double r3364638 = 2.0;
double r3364639 = r3364638 + r3364614;
double r3364640 = r3364637 / r3364639;
double r3364641 = 0.9999999999998099;
double r3364642 = 676.5203681218851;
double r3364643 = r3364642 / r3364614;
double r3364644 = r3364641 + r3364643;
double r3364645 = r3364640 + r3364644;
double r3364646 = r3364636 + r3364645;
double r3364647 = 1.5056327351493116e-07;
double r3364648 = -7.0;
double r3364649 = r3364614 - r3364648;
double r3364650 = r3364647 / r3364649;
double r3364651 = r3364646 + r3364650;
double r3364652 = r3364632 + r3364651;
double r3364653 = 0.5;
double r3364654 = r3364653 + r3364616;
double r3364655 = exp(r3364654);
double r3364656 = r3364652 / r3364655;
double r3364657 = pow(r3364654, r3364614);
double r3364658 = cbrt(r3364654);
double r3364659 = r3364634 - r3364653;
double r3364660 = pow(r3364658, r3364659);
double r3364661 = r3364657 / r3364660;
double r3364662 = atan2(1.0, 0.0);
double r3364663 = r3364662 * r3364638;
double r3364664 = sqrt(r3364663);
double r3364665 = r3364664 / r3364660;
double r3364666 = r3364660 / r3364665;
double r3364667 = r3364661 / r3364666;
double r3364668 = r3364656 * r3364667;
return r3364668;
}



Bits error versus z
Results
Initial program 59.9
Simplified0.8
rmApplied associate-+l-0.8
Applied pow-sub0.8
Applied associate-*l/0.8
rmApplied add-cube-cbrt0.8
Applied unpow-prod-down0.8
Applied associate-/r*0.9
rmApplied unpow-prod-down0.9
Applied times-frac1.3
Applied associate-/l*0.8
Final simplification0.8
herbie shell --seed 2019154
(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)))))