\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)\mathsf{fma}\left(676.5203681218851, {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \left(\frac{\sqrt{2} \cdot \log 6.5}{e^{0.5 + 6}} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(169.13009203047127, {\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5} \cdot \left(\frac{\sqrt{2} \cdot z}{e^{0.5 + 6}} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(676.5203681218851, {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \left(\frac{\sqrt{2}}{\left(z \cdot e^{6}\right) \cdot e^{0.5}} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(2581.191799681222, \sqrt{\pi} \cdot \left(\frac{\sqrt{2} \cdot z}{e^{0.5 + 6}} \cdot {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5}\right), 338.26018406094255 \cdot \left(\frac{\sqrt{\pi} \cdot \left(\left(\log 6.5 \cdot \log 6.5\right) \cdot \left(\sqrt{2} \cdot z\right)\right)}{e^{0.5 + 6}} \cdot {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5}\right)\right)\right)\right)\right) - 1656.8104518737205 \cdot \left(\left(\frac{\log 6.5 \cdot \left(\sqrt{2} \cdot z\right)}{e^{0.5 + 6}} \cdot \sqrt{\pi}\right) \cdot {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} + \left(\sqrt{\pi} \cdot \frac{\sqrt{2}}{e^{0.5 + 6}}\right) \cdot {\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5}\right)double f(double z) {
double r5397721 = atan2(1.0, 0.0);
double r5397722 = 2.0;
double r5397723 = r5397721 * r5397722;
double r5397724 = sqrt(r5397723);
double r5397725 = z;
double r5397726 = 1.0;
double r5397727 = r5397725 - r5397726;
double r5397728 = 7.0;
double r5397729 = r5397727 + r5397728;
double r5397730 = 0.5;
double r5397731 = r5397729 + r5397730;
double r5397732 = r5397727 + r5397730;
double r5397733 = pow(r5397731, r5397732);
double r5397734 = r5397724 * r5397733;
double r5397735 = -r5397731;
double r5397736 = exp(r5397735);
double r5397737 = r5397734 * r5397736;
double r5397738 = 0.9999999999998099;
double r5397739 = 676.5203681218851;
double r5397740 = r5397727 + r5397726;
double r5397741 = r5397739 / r5397740;
double r5397742 = r5397738 + r5397741;
double r5397743 = -1259.1392167224028;
double r5397744 = r5397727 + r5397722;
double r5397745 = r5397743 / r5397744;
double r5397746 = r5397742 + r5397745;
double r5397747 = 771.3234287776531;
double r5397748 = 3.0;
double r5397749 = r5397727 + r5397748;
double r5397750 = r5397747 / r5397749;
double r5397751 = r5397746 + r5397750;
double r5397752 = -176.6150291621406;
double r5397753 = 4.0;
double r5397754 = r5397727 + r5397753;
double r5397755 = r5397752 / r5397754;
double r5397756 = r5397751 + r5397755;
double r5397757 = 12.507343278686905;
double r5397758 = 5.0;
double r5397759 = r5397727 + r5397758;
double r5397760 = r5397757 / r5397759;
double r5397761 = r5397756 + r5397760;
double r5397762 = -0.13857109526572012;
double r5397763 = 6.0;
double r5397764 = r5397727 + r5397763;
double r5397765 = r5397762 / r5397764;
double r5397766 = r5397761 + r5397765;
double r5397767 = 9.984369578019572e-06;
double r5397768 = r5397767 / r5397729;
double r5397769 = r5397766 + r5397768;
double r5397770 = 1.5056327351493116e-07;
double r5397771 = 8.0;
double r5397772 = r5397727 + r5397771;
double r5397773 = r5397770 / r5397772;
double r5397774 = r5397769 + r5397773;
double r5397775 = r5397737 * r5397774;
return r5397775;
}
double f(double z) {
double r5397776 = 676.5203681218851;
double r5397777 = 1.0;
double r5397778 = 6.5;
double r5397779 = 1.0;
double r5397780 = pow(r5397778, r5397779);
double r5397781 = r5397777 / r5397780;
double r5397782 = 0.5;
double r5397783 = pow(r5397781, r5397782);
double r5397784 = 2.0;
double r5397785 = sqrt(r5397784);
double r5397786 = log(r5397778);
double r5397787 = r5397785 * r5397786;
double r5397788 = 6.0;
double r5397789 = r5397782 + r5397788;
double r5397790 = exp(r5397789);
double r5397791 = r5397787 / r5397790;
double r5397792 = atan2(1.0, 0.0);
double r5397793 = sqrt(r5397792);
double r5397794 = r5397791 * r5397793;
double r5397795 = r5397783 * r5397794;
double r5397796 = 169.13009203047127;
double r5397797 = 5.0;
double r5397798 = pow(r5397778, r5397797);
double r5397799 = r5397777 / r5397798;
double r5397800 = pow(r5397799, r5397782);
double r5397801 = z;
double r5397802 = r5397785 * r5397801;
double r5397803 = r5397802 / r5397790;
double r5397804 = r5397803 * r5397793;
double r5397805 = r5397800 * r5397804;
double r5397806 = exp(r5397788);
double r5397807 = r5397801 * r5397806;
double r5397808 = exp(r5397782);
double r5397809 = r5397807 * r5397808;
double r5397810 = r5397785 / r5397809;
double r5397811 = r5397810 * r5397793;
double r5397812 = r5397783 * r5397811;
double r5397813 = 2581.191799681222;
double r5397814 = r5397803 * r5397783;
double r5397815 = r5397793 * r5397814;
double r5397816 = 338.26018406094255;
double r5397817 = r5397786 * r5397786;
double r5397818 = r5397817 * r5397802;
double r5397819 = r5397793 * r5397818;
double r5397820 = r5397819 / r5397790;
double r5397821 = r5397820 * r5397783;
double r5397822 = r5397816 * r5397821;
double r5397823 = fma(r5397813, r5397815, r5397822);
double r5397824 = fma(r5397776, r5397812, r5397823);
double r5397825 = fma(r5397796, r5397805, r5397824);
double r5397826 = fma(r5397776, r5397795, r5397825);
double r5397827 = 1656.8104518737205;
double r5397828 = r5397786 * r5397802;
double r5397829 = r5397828 / r5397790;
double r5397830 = r5397829 * r5397793;
double r5397831 = r5397830 * r5397783;
double r5397832 = r5397785 / r5397790;
double r5397833 = r5397793 * r5397832;
double r5397834 = r5397833 * r5397783;
double r5397835 = r5397831 + r5397834;
double r5397836 = r5397827 * r5397835;
double r5397837 = r5397826 - r5397836;
return r5397837;
}



Bits error versus z
Initial program 60.0
Simplified1.0
rmApplied sub-neg1.0
Applied exp-sum1.0
Applied associate-/r*0.8
Taylor expanded around 0 1.1
Simplified1.1
Final simplification1.1
herbie shell --seed 2019135 +o rules:numerics
(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)))))