\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \left(\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}^{\left(\left(\left(1 - z\right) - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \left(\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}^{\left(\left(\left(1 - z\right) - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r205741 = atan2(1.0, 0.0);
double r205742 = z;
double r205743 = r205741 * r205742;
double r205744 = sin(r205743);
double r205745 = r205741 / r205744;
double r205746 = 2.0;
double r205747 = r205741 * r205746;
double r205748 = sqrt(r205747);
double r205749 = 1.0;
double r205750 = r205749 - r205742;
double r205751 = r205750 - r205749;
double r205752 = 7.0;
double r205753 = r205751 + r205752;
double r205754 = 0.5;
double r205755 = r205753 + r205754;
double r205756 = r205751 + r205754;
double r205757 = pow(r205755, r205756);
double r205758 = r205748 * r205757;
double r205759 = -r205755;
double r205760 = exp(r205759);
double r205761 = r205758 * r205760;
double r205762 = 0.9999999999998099;
double r205763 = 676.5203681218851;
double r205764 = r205751 + r205749;
double r205765 = r205763 / r205764;
double r205766 = r205762 + r205765;
double r205767 = -1259.1392167224028;
double r205768 = r205751 + r205746;
double r205769 = r205767 / r205768;
double r205770 = r205766 + r205769;
double r205771 = 771.3234287776531;
double r205772 = 3.0;
double r205773 = r205751 + r205772;
double r205774 = r205771 / r205773;
double r205775 = r205770 + r205774;
double r205776 = -176.6150291621406;
double r205777 = 4.0;
double r205778 = r205751 + r205777;
double r205779 = r205776 / r205778;
double r205780 = r205775 + r205779;
double r205781 = 12.507343278686905;
double r205782 = 5.0;
double r205783 = r205751 + r205782;
double r205784 = r205781 / r205783;
double r205785 = r205780 + r205784;
double r205786 = -0.13857109526572012;
double r205787 = 6.0;
double r205788 = r205751 + r205787;
double r205789 = r205786 / r205788;
double r205790 = r205785 + r205789;
double r205791 = 9.984369578019572e-06;
double r205792 = r205791 / r205753;
double r205793 = r205790 + r205792;
double r205794 = 1.5056327351493116e-07;
double r205795 = 8.0;
double r205796 = r205751 + r205795;
double r205797 = r205794 / r205796;
double r205798 = r205793 + r205797;
double r205799 = r205761 * r205798;
double r205800 = r205745 * r205799;
return r205800;
}
double f(double z) {
double r205801 = atan2(1.0, 0.0);
double r205802 = z;
double r205803 = r205801 * r205802;
double r205804 = sin(r205803);
double r205805 = r205801 / r205804;
double r205806 = 2.0;
double r205807 = r205801 * r205806;
double r205808 = sqrt(r205807);
double r205809 = 1.0;
double r205810 = r205809 - r205802;
double r205811 = r205810 - r205809;
double r205812 = 7.0;
double r205813 = r205811 + r205812;
double r205814 = 0.5;
double r205815 = r205813 + r205814;
double r205816 = r205811 + r205814;
double r205817 = pow(r205815, r205816);
double r205818 = r205808 * r205817;
double r205819 = -r205815;
double r205820 = exp(r205819);
double r205821 = r205818 * r205820;
double r205822 = 0.9999999999998099;
double r205823 = 676.5203681218851;
double r205824 = r205811 + r205809;
double r205825 = r205823 / r205824;
double r205826 = r205822 + r205825;
double r205827 = -1259.1392167224028;
double r205828 = r205811 + r205806;
double r205829 = r205827 / r205828;
double r205830 = r205826 + r205829;
double r205831 = 771.3234287776531;
double r205832 = 3.0;
double r205833 = r205811 + r205832;
double r205834 = r205831 / r205833;
double r205835 = r205830 + r205834;
double r205836 = -176.6150291621406;
double r205837 = 4.0;
double r205838 = r205811 + r205837;
double r205839 = r205836 / r205838;
double r205840 = r205835 + r205839;
double r205841 = 12.507343278686905;
double r205842 = 5.0;
double r205843 = r205811 + r205842;
double r205844 = r205841 / r205843;
double r205845 = r205840 + r205844;
double r205846 = -0.13857109526572012;
double r205847 = 6.0;
double r205848 = r205811 + r205847;
double r205849 = r205846 / r205848;
double r205850 = r205845 + r205849;
double r205851 = 9.984369578019572e-06;
double r205852 = r205851 / r205813;
double r205853 = r205850 + r205852;
double r205854 = 1.5056327351493116e-07;
double r205855 = 8.0;
double r205856 = r205811 + r205855;
double r205857 = r205854 / r205856;
double r205858 = r205853 + r205857;
double r205859 = r205821 * r205858;
double r205860 = r205805 * r205859;
return r205860;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020001 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
:precision binary64
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2)) (pow (+ (+ (- (- 1 z) 1) 7) 0.5) (+ (- (- 1 z) 1) 0.5))) (exp (- (+ (+ (- (- 1 z) 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1 z) 1) 1))) (/ -1259.1392167224028 (+ (- (- 1 z) 1) 2))) (/ 771.3234287776531 (+ (- (- 1 z) 1) 3))) (/ -176.6150291621406 (+ (- (- 1 z) 1) 4))) (/ 12.507343278686905 (+ (- (- 1 z) 1) 5))) (/ -0.13857109526572012 (+ (- (- 1 z) 1) 6))) (/ 9.984369578019572e-06 (+ (- (- 1 z) 1) 7))) (/ 1.5056327351493116e-07 (+ (- (- 1 z) 1) 8))))))