\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{\left(\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \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)\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)}{e^{\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5}}double f(double z) {
double r77744 = atan2(1.0, 0.0);
double r77745 = z;
double r77746 = r77744 * r77745;
double r77747 = sin(r77746);
double r77748 = r77744 / r77747;
double r77749 = 2.0;
double r77750 = r77744 * r77749;
double r77751 = sqrt(r77750);
double r77752 = 1.0;
double r77753 = r77752 - r77745;
double r77754 = r77753 - r77752;
double r77755 = 7.0;
double r77756 = r77754 + r77755;
double r77757 = 0.5;
double r77758 = r77756 + r77757;
double r77759 = r77754 + r77757;
double r77760 = pow(r77758, r77759);
double r77761 = r77751 * r77760;
double r77762 = -r77758;
double r77763 = exp(r77762);
double r77764 = r77761 * r77763;
double r77765 = 0.9999999999998099;
double r77766 = 676.5203681218851;
double r77767 = r77754 + r77752;
double r77768 = r77766 / r77767;
double r77769 = r77765 + r77768;
double r77770 = -1259.1392167224028;
double r77771 = r77754 + r77749;
double r77772 = r77770 / r77771;
double r77773 = r77769 + r77772;
double r77774 = 771.3234287776531;
double r77775 = 3.0;
double r77776 = r77754 + r77775;
double r77777 = r77774 / r77776;
double r77778 = r77773 + r77777;
double r77779 = -176.6150291621406;
double r77780 = 4.0;
double r77781 = r77754 + r77780;
double r77782 = r77779 / r77781;
double r77783 = r77778 + r77782;
double r77784 = 12.507343278686905;
double r77785 = 5.0;
double r77786 = r77754 + r77785;
double r77787 = r77784 / r77786;
double r77788 = r77783 + r77787;
double r77789 = -0.13857109526572012;
double r77790 = 6.0;
double r77791 = r77754 + r77790;
double r77792 = r77789 / r77791;
double r77793 = r77788 + r77792;
double r77794 = 9.984369578019572e-06;
double r77795 = r77794 / r77756;
double r77796 = r77793 + r77795;
double r77797 = 1.5056327351493116e-07;
double r77798 = 8.0;
double r77799 = r77754 + r77798;
double r77800 = r77797 / r77799;
double r77801 = r77796 + r77800;
double r77802 = r77764 * r77801;
double r77803 = r77748 * r77802;
return r77803;
}
double f(double z) {
double r77804 = atan2(1.0, 0.0);
double r77805 = z;
double r77806 = r77804 * r77805;
double r77807 = sin(r77806);
double r77808 = r77804 / r77807;
double r77809 = 2.0;
double r77810 = r77804 * r77809;
double r77811 = sqrt(r77810);
double r77812 = 1.0;
double r77813 = r77812 - r77805;
double r77814 = r77813 - r77812;
double r77815 = 7.0;
double r77816 = r77814 + r77815;
double r77817 = 0.5;
double r77818 = r77816 + r77817;
double r77819 = r77814 + r77817;
double r77820 = pow(r77818, r77819);
double r77821 = r77811 * r77820;
double r77822 = r77808 * r77821;
double r77823 = 0.9999999999998099;
double r77824 = 676.5203681218851;
double r77825 = r77814 + r77812;
double r77826 = r77824 / r77825;
double r77827 = r77823 + r77826;
double r77828 = -1259.1392167224028;
double r77829 = r77814 + r77809;
double r77830 = r77828 / r77829;
double r77831 = r77827 + r77830;
double r77832 = 771.3234287776531;
double r77833 = 3.0;
double r77834 = r77814 + r77833;
double r77835 = r77832 / r77834;
double r77836 = r77831 + r77835;
double r77837 = -176.6150291621406;
double r77838 = 4.0;
double r77839 = r77814 + r77838;
double r77840 = r77837 / r77839;
double r77841 = r77836 + r77840;
double r77842 = 12.507343278686905;
double r77843 = 5.0;
double r77844 = r77814 + r77843;
double r77845 = r77842 / r77844;
double r77846 = r77841 + r77845;
double r77847 = -0.13857109526572012;
double r77848 = 6.0;
double r77849 = r77814 + r77848;
double r77850 = r77847 / r77849;
double r77851 = r77846 + r77850;
double r77852 = 9.984369578019572e-06;
double r77853 = r77852 / r77816;
double r77854 = r77851 + r77853;
double r77855 = 1.5056327351493116e-07;
double r77856 = 8.0;
double r77857 = r77814 + r77856;
double r77858 = r77855 / r77857;
double r77859 = r77854 + r77858;
double r77860 = r77822 * r77859;
double r77861 = exp(r77818);
double r77862 = r77860 / r77861;
return r77862;
}



Bits error versus z
Results
Initial program 1.8
Final simplification2.5
herbie shell --seed 2019297
(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.99999999999980993 (/ 676.520368121885099 (+ (- (- 1 z) 1) 1))) (/ -1259.13921672240281 (+ (- (- 1 z) 1) 2))) (/ 771.32342877765313 (+ (- (- 1 z) 1) 3))) (/ -176.615029162140587 (+ (- (- 1 z) 1) 4))) (/ 12.5073432786869052 (+ (- (- 1 z) 1) 5))) (/ -0.138571095265720118 (+ (- (- 1 z) 1) 6))) (/ 9.98436957801957158e-6 (+ (- (- 1 z) 1) 7))) (/ 1.50563273514931162e-7 (+ (- (- 1 z) 1) 8))))))