\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 r174803 = atan2(1.0, 0.0);
double r174804 = z;
double r174805 = r174803 * r174804;
double r174806 = sin(r174805);
double r174807 = r174803 / r174806;
double r174808 = 2.0;
double r174809 = r174803 * r174808;
double r174810 = sqrt(r174809);
double r174811 = 1.0;
double r174812 = r174811 - r174804;
double r174813 = r174812 - r174811;
double r174814 = 7.0;
double r174815 = r174813 + r174814;
double r174816 = 0.5;
double r174817 = r174815 + r174816;
double r174818 = r174813 + r174816;
double r174819 = pow(r174817, r174818);
double r174820 = r174810 * r174819;
double r174821 = -r174817;
double r174822 = exp(r174821);
double r174823 = r174820 * r174822;
double r174824 = 0.9999999999998099;
double r174825 = 676.5203681218851;
double r174826 = r174813 + r174811;
double r174827 = r174825 / r174826;
double r174828 = r174824 + r174827;
double r174829 = -1259.1392167224028;
double r174830 = r174813 + r174808;
double r174831 = r174829 / r174830;
double r174832 = r174828 + r174831;
double r174833 = 771.3234287776531;
double r174834 = 3.0;
double r174835 = r174813 + r174834;
double r174836 = r174833 / r174835;
double r174837 = r174832 + r174836;
double r174838 = -176.6150291621406;
double r174839 = 4.0;
double r174840 = r174813 + r174839;
double r174841 = r174838 / r174840;
double r174842 = r174837 + r174841;
double r174843 = 12.507343278686905;
double r174844 = 5.0;
double r174845 = r174813 + r174844;
double r174846 = r174843 / r174845;
double r174847 = r174842 + r174846;
double r174848 = -0.13857109526572012;
double r174849 = 6.0;
double r174850 = r174813 + r174849;
double r174851 = r174848 / r174850;
double r174852 = r174847 + r174851;
double r174853 = 9.984369578019572e-06;
double r174854 = r174853 / r174815;
double r174855 = r174852 + r174854;
double r174856 = 1.5056327351493116e-07;
double r174857 = 8.0;
double r174858 = r174813 + r174857;
double r174859 = r174856 / r174858;
double r174860 = r174855 + r174859;
double r174861 = r174823 * r174860;
double r174862 = r174807 * r174861;
return r174862;
}
double f(double z) {
double r174863 = atan2(1.0, 0.0);
double r174864 = z;
double r174865 = r174863 * r174864;
double r174866 = sin(r174865);
double r174867 = r174863 / r174866;
double r174868 = 2.0;
double r174869 = r174863 * r174868;
double r174870 = sqrt(r174869);
double r174871 = 1.0;
double r174872 = r174871 - r174864;
double r174873 = r174872 - r174871;
double r174874 = 7.0;
double r174875 = r174873 + r174874;
double r174876 = 0.5;
double r174877 = r174875 + r174876;
double r174878 = r174873 + r174876;
double r174879 = pow(r174877, r174878);
double r174880 = r174870 * r174879;
double r174881 = -r174877;
double r174882 = exp(r174881);
double r174883 = r174880 * r174882;
double r174884 = 0.9999999999998099;
double r174885 = 676.5203681218851;
double r174886 = r174873 + r174871;
double r174887 = r174885 / r174886;
double r174888 = r174884 + r174887;
double r174889 = -1259.1392167224028;
double r174890 = r174873 + r174868;
double r174891 = r174889 / r174890;
double r174892 = r174888 + r174891;
double r174893 = 771.3234287776531;
double r174894 = 3.0;
double r174895 = r174873 + r174894;
double r174896 = r174893 / r174895;
double r174897 = r174892 + r174896;
double r174898 = -176.6150291621406;
double r174899 = 4.0;
double r174900 = r174873 + r174899;
double r174901 = r174898 / r174900;
double r174902 = r174897 + r174901;
double r174903 = 12.507343278686905;
double r174904 = 5.0;
double r174905 = r174873 + r174904;
double r174906 = r174903 / r174905;
double r174907 = r174902 + r174906;
double r174908 = -0.13857109526572012;
double r174909 = 6.0;
double r174910 = r174873 + r174909;
double r174911 = r174908 / r174910;
double r174912 = r174907 + r174911;
double r174913 = 9.984369578019572e-06;
double r174914 = r174913 / r174875;
double r174915 = r174912 + r174914;
double r174916 = 1.5056327351493116e-07;
double r174917 = 8.0;
double r174918 = r174873 + r174917;
double r174919 = r174916 / r174918;
double r174920 = r174915 + r174919;
double r174921 = r174883 * r174920;
double r174922 = r174867 * r174921;
return r174922;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2019346
(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))))))