\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 r115858 = atan2(1.0, 0.0);
double r115859 = z;
double r115860 = r115858 * r115859;
double r115861 = sin(r115860);
double r115862 = r115858 / r115861;
double r115863 = 2.0;
double r115864 = r115858 * r115863;
double r115865 = sqrt(r115864);
double r115866 = 1.0;
double r115867 = r115866 - r115859;
double r115868 = r115867 - r115866;
double r115869 = 7.0;
double r115870 = r115868 + r115869;
double r115871 = 0.5;
double r115872 = r115870 + r115871;
double r115873 = r115868 + r115871;
double r115874 = pow(r115872, r115873);
double r115875 = r115865 * r115874;
double r115876 = -r115872;
double r115877 = exp(r115876);
double r115878 = r115875 * r115877;
double r115879 = 0.9999999999998099;
double r115880 = 676.5203681218851;
double r115881 = r115868 + r115866;
double r115882 = r115880 / r115881;
double r115883 = r115879 + r115882;
double r115884 = -1259.1392167224028;
double r115885 = r115868 + r115863;
double r115886 = r115884 / r115885;
double r115887 = r115883 + r115886;
double r115888 = 771.3234287776531;
double r115889 = 3.0;
double r115890 = r115868 + r115889;
double r115891 = r115888 / r115890;
double r115892 = r115887 + r115891;
double r115893 = -176.6150291621406;
double r115894 = 4.0;
double r115895 = r115868 + r115894;
double r115896 = r115893 / r115895;
double r115897 = r115892 + r115896;
double r115898 = 12.507343278686905;
double r115899 = 5.0;
double r115900 = r115868 + r115899;
double r115901 = r115898 / r115900;
double r115902 = r115897 + r115901;
double r115903 = -0.13857109526572012;
double r115904 = 6.0;
double r115905 = r115868 + r115904;
double r115906 = r115903 / r115905;
double r115907 = r115902 + r115906;
double r115908 = 9.984369578019572e-06;
double r115909 = r115908 / r115870;
double r115910 = r115907 + r115909;
double r115911 = 1.5056327351493116e-07;
double r115912 = 8.0;
double r115913 = r115868 + r115912;
double r115914 = r115911 / r115913;
double r115915 = r115910 + r115914;
double r115916 = r115878 * r115915;
double r115917 = r115862 * r115916;
return r115917;
}
double f(double z) {
double r115918 = atan2(1.0, 0.0);
double r115919 = z;
double r115920 = r115918 * r115919;
double r115921 = sin(r115920);
double r115922 = r115918 / r115921;
double r115923 = 2.0;
double r115924 = r115918 * r115923;
double r115925 = sqrt(r115924);
double r115926 = 1.0;
double r115927 = r115926 - r115919;
double r115928 = r115927 - r115926;
double r115929 = 7.0;
double r115930 = r115928 + r115929;
double r115931 = 0.5;
double r115932 = r115930 + r115931;
double r115933 = r115928 + r115931;
double r115934 = pow(r115932, r115933);
double r115935 = r115925 * r115934;
double r115936 = -r115932;
double r115937 = exp(r115936);
double r115938 = r115935 * r115937;
double r115939 = 0.9999999999998099;
double r115940 = 676.5203681218851;
double r115941 = r115928 + r115926;
double r115942 = r115940 / r115941;
double r115943 = r115939 + r115942;
double r115944 = -1259.1392167224028;
double r115945 = r115928 + r115923;
double r115946 = r115944 / r115945;
double r115947 = r115943 + r115946;
double r115948 = 771.3234287776531;
double r115949 = 3.0;
double r115950 = r115928 + r115949;
double r115951 = r115948 / r115950;
double r115952 = r115947 + r115951;
double r115953 = -176.6150291621406;
double r115954 = 4.0;
double r115955 = r115928 + r115954;
double r115956 = r115953 / r115955;
double r115957 = r115952 + r115956;
double r115958 = 12.507343278686905;
double r115959 = 5.0;
double r115960 = r115928 + r115959;
double r115961 = r115958 / r115960;
double r115962 = r115957 + r115961;
double r115963 = -0.13857109526572012;
double r115964 = 6.0;
double r115965 = r115928 + r115964;
double r115966 = r115963 / r115965;
double r115967 = r115962 + r115966;
double r115968 = 9.984369578019572e-06;
double r115969 = r115968 / r115930;
double r115970 = r115967 + r115969;
double r115971 = 1.5056327351493116e-07;
double r115972 = 8.0;
double r115973 = r115928 + r115972;
double r115974 = r115971 / r115973;
double r115975 = r115970 + r115974;
double r115976 = r115938 * r115975;
double r115977 = r115922 * r115976;
return r115977;
}



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