\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 r104879 = atan2(1.0, 0.0);
double r104880 = z;
double r104881 = r104879 * r104880;
double r104882 = sin(r104881);
double r104883 = r104879 / r104882;
double r104884 = 2.0;
double r104885 = r104879 * r104884;
double r104886 = sqrt(r104885);
double r104887 = 1.0;
double r104888 = r104887 - r104880;
double r104889 = r104888 - r104887;
double r104890 = 7.0;
double r104891 = r104889 + r104890;
double r104892 = 0.5;
double r104893 = r104891 + r104892;
double r104894 = r104889 + r104892;
double r104895 = pow(r104893, r104894);
double r104896 = r104886 * r104895;
double r104897 = -r104893;
double r104898 = exp(r104897);
double r104899 = r104896 * r104898;
double r104900 = 0.9999999999998099;
double r104901 = 676.5203681218851;
double r104902 = r104889 + r104887;
double r104903 = r104901 / r104902;
double r104904 = r104900 + r104903;
double r104905 = -1259.1392167224028;
double r104906 = r104889 + r104884;
double r104907 = r104905 / r104906;
double r104908 = r104904 + r104907;
double r104909 = 771.3234287776531;
double r104910 = 3.0;
double r104911 = r104889 + r104910;
double r104912 = r104909 / r104911;
double r104913 = r104908 + r104912;
double r104914 = -176.6150291621406;
double r104915 = 4.0;
double r104916 = r104889 + r104915;
double r104917 = r104914 / r104916;
double r104918 = r104913 + r104917;
double r104919 = 12.507343278686905;
double r104920 = 5.0;
double r104921 = r104889 + r104920;
double r104922 = r104919 / r104921;
double r104923 = r104918 + r104922;
double r104924 = -0.13857109526572012;
double r104925 = 6.0;
double r104926 = r104889 + r104925;
double r104927 = r104924 / r104926;
double r104928 = r104923 + r104927;
double r104929 = 9.984369578019572e-06;
double r104930 = r104929 / r104891;
double r104931 = r104928 + r104930;
double r104932 = 1.5056327351493116e-07;
double r104933 = 8.0;
double r104934 = r104889 + r104933;
double r104935 = r104932 / r104934;
double r104936 = r104931 + r104935;
double r104937 = r104899 * r104936;
double r104938 = r104883 * r104937;
return r104938;
}
double f(double z) {
double r104939 = atan2(1.0, 0.0);
double r104940 = z;
double r104941 = r104939 * r104940;
double r104942 = sin(r104941);
double r104943 = r104939 / r104942;
double r104944 = 2.0;
double r104945 = r104939 * r104944;
double r104946 = sqrt(r104945);
double r104947 = 1.0;
double r104948 = r104947 - r104940;
double r104949 = r104948 - r104947;
double r104950 = 7.0;
double r104951 = r104949 + r104950;
double r104952 = 0.5;
double r104953 = r104951 + r104952;
double r104954 = r104949 + r104952;
double r104955 = pow(r104953, r104954);
double r104956 = r104946 * r104955;
double r104957 = -r104953;
double r104958 = exp(r104957);
double r104959 = r104956 * r104958;
double r104960 = 0.9999999999998099;
double r104961 = 676.5203681218851;
double r104962 = r104949 + r104947;
double r104963 = r104961 / r104962;
double r104964 = r104960 + r104963;
double r104965 = -1259.1392167224028;
double r104966 = r104949 + r104944;
double r104967 = r104965 / r104966;
double r104968 = r104964 + r104967;
double r104969 = 771.3234287776531;
double r104970 = 3.0;
double r104971 = r104949 + r104970;
double r104972 = r104969 / r104971;
double r104973 = r104968 + r104972;
double r104974 = -176.6150291621406;
double r104975 = 4.0;
double r104976 = r104949 + r104975;
double r104977 = r104974 / r104976;
double r104978 = r104973 + r104977;
double r104979 = 12.507343278686905;
double r104980 = 5.0;
double r104981 = r104949 + r104980;
double r104982 = r104979 / r104981;
double r104983 = r104978 + r104982;
double r104984 = -0.13857109526572012;
double r104985 = 6.0;
double r104986 = r104949 + r104985;
double r104987 = r104984 / r104986;
double r104988 = r104983 + r104987;
double r104989 = 9.984369578019572e-06;
double r104990 = r104989 / r104951;
double r104991 = r104988 + r104990;
double r104992 = 1.5056327351493116e-07;
double r104993 = 8.0;
double r104994 = r104949 + r104993;
double r104995 = r104992 / r104994;
double r104996 = r104991 + r104995;
double r104997 = r104959 * r104996;
double r104998 = r104943 * r104997;
return r104998;
}



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