\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.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\left(\left(\left(\sqrt{2 \cdot \pi} \cdot {\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}^{\left(0.5 + \left(\left(1 - z\right) - 1\right)\right)}\right) \cdot e^{-\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}\right) \cdot \left(\frac{1.5056327351493116 \cdot 10^{-07}}{8 + \left(\left(1 - z\right) - 1\right)} + \left(\frac{9.984369578019572 \cdot 10^{-06}}{7 + \left(\left(1 - z\right) - 1\right)} + \left(\left(\left(\frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4} + \left(\frac{771.3234287776531}{3 + \left(\left(1 - z\right) - 1\right)} + \left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right)\right)\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{6 + \left(\left(1 - z\right) - 1\right)}\right)\right)\right)\right) \cdot \frac{\pi}{\sin \left(\pi \cdot z\right)}double f(double z) {
double r14356904 = atan2(1.0, 0.0);
double r14356905 = z;
double r14356906 = r14356904 * r14356905;
double r14356907 = sin(r14356906);
double r14356908 = r14356904 / r14356907;
double r14356909 = 2.0;
double r14356910 = r14356904 * r14356909;
double r14356911 = sqrt(r14356910);
double r14356912 = 1.0;
double r14356913 = r14356912 - r14356905;
double r14356914 = r14356913 - r14356912;
double r14356915 = 7.0;
double r14356916 = r14356914 + r14356915;
double r14356917 = 0.5;
double r14356918 = r14356916 + r14356917;
double r14356919 = r14356914 + r14356917;
double r14356920 = pow(r14356918, r14356919);
double r14356921 = r14356911 * r14356920;
double r14356922 = -r14356918;
double r14356923 = exp(r14356922);
double r14356924 = r14356921 * r14356923;
double r14356925 = 0.9999999999998099;
double r14356926 = 676.5203681218851;
double r14356927 = r14356914 + r14356912;
double r14356928 = r14356926 / r14356927;
double r14356929 = r14356925 + r14356928;
double r14356930 = -1259.1392167224028;
double r14356931 = r14356914 + r14356909;
double r14356932 = r14356930 / r14356931;
double r14356933 = r14356929 + r14356932;
double r14356934 = 771.3234287776531;
double r14356935 = 3.0;
double r14356936 = r14356914 + r14356935;
double r14356937 = r14356934 / r14356936;
double r14356938 = r14356933 + r14356937;
double r14356939 = -176.6150291621406;
double r14356940 = 4.0;
double r14356941 = r14356914 + r14356940;
double r14356942 = r14356939 / r14356941;
double r14356943 = r14356938 + r14356942;
double r14356944 = 12.507343278686905;
double r14356945 = 5.0;
double r14356946 = r14356914 + r14356945;
double r14356947 = r14356944 / r14356946;
double r14356948 = r14356943 + r14356947;
double r14356949 = -0.13857109526572012;
double r14356950 = 6.0;
double r14356951 = r14356914 + r14356950;
double r14356952 = r14356949 / r14356951;
double r14356953 = r14356948 + r14356952;
double r14356954 = 9.984369578019572e-06;
double r14356955 = r14356954 / r14356916;
double r14356956 = r14356953 + r14356955;
double r14356957 = 1.5056327351493116e-07;
double r14356958 = 8.0;
double r14356959 = r14356914 + r14356958;
double r14356960 = r14356957 / r14356959;
double r14356961 = r14356956 + r14356960;
double r14356962 = r14356924 * r14356961;
double r14356963 = r14356908 * r14356962;
return r14356963;
}
double f(double z) {
double r14356964 = 2.0;
double r14356965 = atan2(1.0, 0.0);
double r14356966 = r14356964 * r14356965;
double r14356967 = sqrt(r14356966);
double r14356968 = 7.0;
double r14356969 = 1.0;
double r14356970 = z;
double r14356971 = r14356969 - r14356970;
double r14356972 = r14356971 - r14356969;
double r14356973 = r14356968 + r14356972;
double r14356974 = 0.5;
double r14356975 = r14356973 + r14356974;
double r14356976 = r14356974 + r14356972;
double r14356977 = pow(r14356975, r14356976);
double r14356978 = r14356967 * r14356977;
double r14356979 = -r14356975;
double r14356980 = exp(r14356979);
double r14356981 = r14356978 * r14356980;
double r14356982 = 1.5056327351493116e-07;
double r14356983 = 8.0;
double r14356984 = r14356983 + r14356972;
double r14356985 = r14356982 / r14356984;
double r14356986 = 9.984369578019572e-06;
double r14356987 = r14356986 / r14356973;
double r14356988 = -176.6150291621406;
double r14356989 = 4.0;
double r14356990 = r14356972 + r14356989;
double r14356991 = r14356988 / r14356990;
double r14356992 = 771.3234287776531;
double r14356993 = 3.0;
double r14356994 = r14356993 + r14356972;
double r14356995 = r14356992 / r14356994;
double r14356996 = 0.9999999999998099;
double r14356997 = 676.5203681218851;
double r14356998 = r14356972 + r14356969;
double r14356999 = r14356997 / r14356998;
double r14357000 = r14356996 + r14356999;
double r14357001 = -1259.1392167224028;
double r14357002 = r14356972 + r14356964;
double r14357003 = r14357001 / r14357002;
double r14357004 = r14357000 + r14357003;
double r14357005 = r14356995 + r14357004;
double r14357006 = r14356991 + r14357005;
double r14357007 = 12.507343278686905;
double r14357008 = 5.0;
double r14357009 = r14356972 + r14357008;
double r14357010 = r14357007 / r14357009;
double r14357011 = r14357006 + r14357010;
double r14357012 = -0.13857109526572012;
double r14357013 = 6.0;
double r14357014 = r14357013 + r14356972;
double r14357015 = r14357012 / r14357014;
double r14357016 = r14357011 + r14357015;
double r14357017 = r14356987 + r14357016;
double r14357018 = r14356985 + r14357017;
double r14357019 = r14356981 * r14357018;
double r14357020 = r14356965 * r14356970;
double r14357021 = sin(r14357020);
double r14357022 = r14356965 / r14357021;
double r14357023 = r14357019 * r14357022;
return r14357023;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2019119
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ 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))))))