\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r158811 = atan2(1.0, 0.0);
double r158812 = z;
double r158813 = r158811 * r158812;
double r158814 = sin(r158813);
double r158815 = r158811 / r158814;
double r158816 = 2.0;
double r158817 = r158811 * r158816;
double r158818 = sqrt(r158817);
double r158819 = 1.0;
double r158820 = r158819 - r158812;
double r158821 = r158820 - r158819;
double r158822 = 7.0;
double r158823 = r158821 + r158822;
double r158824 = 0.5;
double r158825 = r158823 + r158824;
double r158826 = r158821 + r158824;
double r158827 = pow(r158825, r158826);
double r158828 = r158818 * r158827;
double r158829 = -r158825;
double r158830 = exp(r158829);
double r158831 = r158828 * r158830;
double r158832 = 0.9999999999998099;
double r158833 = 676.5203681218851;
double r158834 = r158821 + r158819;
double r158835 = r158833 / r158834;
double r158836 = r158832 + r158835;
double r158837 = -1259.1392167224028;
double r158838 = r158821 + r158816;
double r158839 = r158837 / r158838;
double r158840 = r158836 + r158839;
double r158841 = 771.3234287776531;
double r158842 = 3.0;
double r158843 = r158821 + r158842;
double r158844 = r158841 / r158843;
double r158845 = r158840 + r158844;
double r158846 = -176.6150291621406;
double r158847 = 4.0;
double r158848 = r158821 + r158847;
double r158849 = r158846 / r158848;
double r158850 = r158845 + r158849;
double r158851 = 12.507343278686905;
double r158852 = 5.0;
double r158853 = r158821 + r158852;
double r158854 = r158851 / r158853;
double r158855 = r158850 + r158854;
double r158856 = -0.13857109526572012;
double r158857 = 6.0;
double r158858 = r158821 + r158857;
double r158859 = r158856 / r158858;
double r158860 = r158855 + r158859;
double r158861 = 9.984369578019572e-06;
double r158862 = r158861 / r158823;
double r158863 = r158860 + r158862;
double r158864 = 1.5056327351493116e-07;
double r158865 = 8.0;
double r158866 = r158821 + r158865;
double r158867 = r158864 / r158866;
double r158868 = r158863 + r158867;
double r158869 = r158831 * r158868;
double r158870 = r158815 * r158869;
return r158870;
}
double f(double z) {
double r158871 = atan2(1.0, 0.0);
double r158872 = z;
double r158873 = r158871 * r158872;
double r158874 = sin(r158873);
double r158875 = r158871 / r158874;
double r158876 = 2.0;
double r158877 = r158871 * r158876;
double r158878 = sqrt(r158877);
double r158879 = 1.0;
double r158880 = r158879 - r158872;
double r158881 = r158880 - r158879;
double r158882 = 7.0;
double r158883 = r158881 + r158882;
double r158884 = 0.5;
double r158885 = r158883 + r158884;
double r158886 = r158881 + r158884;
double r158887 = pow(r158885, r158886);
double r158888 = r158878 * r158887;
double r158889 = -r158885;
double r158890 = exp(r158889);
double r158891 = r158888 * r158890;
double r158892 = 0.9999999999998099;
double r158893 = 676.5203681218851;
double r158894 = r158881 + r158879;
double r158895 = r158893 / r158894;
double r158896 = r158892 + r158895;
double r158897 = -1259.1392167224028;
double r158898 = r158881 + r158876;
double r158899 = r158897 / r158898;
double r158900 = r158896 + r158899;
double r158901 = 771.3234287776531;
double r158902 = 3.0;
double r158903 = r158881 + r158902;
double r158904 = r158901 / r158903;
double r158905 = r158900 + r158904;
double r158906 = -176.6150291621406;
double r158907 = 4.0;
double r158908 = r158881 + r158907;
double r158909 = r158906 / r158908;
double r158910 = r158905 + r158909;
double r158911 = 12.507343278686905;
double r158912 = 5.0;
double r158913 = r158881 + r158912;
double r158914 = r158911 / r158913;
double r158915 = r158910 + r158914;
double r158916 = -0.13857109526572012;
double r158917 = 6.0;
double r158918 = r158881 + r158917;
double r158919 = r158916 / r158918;
double r158920 = r158915 + r158919;
double r158921 = 9.984369578019572e-06;
double r158922 = r158921 / r158883;
double r158923 = r158920 + r158922;
double r158924 = 1.5056327351493116e-07;
double r158925 = 8.0;
double r158926 = r158881 + r158925;
double r158927 = r158924 / r158926;
double r158928 = r158923 + r158927;
double r158929 = r158891 * r158928;
double r158930 = r158875 * r158929;
return r158930;
}



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