\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 r135859 = atan2(1.0, 0.0);
double r135860 = z;
double r135861 = r135859 * r135860;
double r135862 = sin(r135861);
double r135863 = r135859 / r135862;
double r135864 = 2.0;
double r135865 = r135859 * r135864;
double r135866 = sqrt(r135865);
double r135867 = 1.0;
double r135868 = r135867 - r135860;
double r135869 = r135868 - r135867;
double r135870 = 7.0;
double r135871 = r135869 + r135870;
double r135872 = 0.5;
double r135873 = r135871 + r135872;
double r135874 = r135869 + r135872;
double r135875 = pow(r135873, r135874);
double r135876 = r135866 * r135875;
double r135877 = -r135873;
double r135878 = exp(r135877);
double r135879 = r135876 * r135878;
double r135880 = 0.9999999999998099;
double r135881 = 676.5203681218851;
double r135882 = r135869 + r135867;
double r135883 = r135881 / r135882;
double r135884 = r135880 + r135883;
double r135885 = -1259.1392167224028;
double r135886 = r135869 + r135864;
double r135887 = r135885 / r135886;
double r135888 = r135884 + r135887;
double r135889 = 771.3234287776531;
double r135890 = 3.0;
double r135891 = r135869 + r135890;
double r135892 = r135889 / r135891;
double r135893 = r135888 + r135892;
double r135894 = -176.6150291621406;
double r135895 = 4.0;
double r135896 = r135869 + r135895;
double r135897 = r135894 / r135896;
double r135898 = r135893 + r135897;
double r135899 = 12.507343278686905;
double r135900 = 5.0;
double r135901 = r135869 + r135900;
double r135902 = r135899 / r135901;
double r135903 = r135898 + r135902;
double r135904 = -0.13857109526572012;
double r135905 = 6.0;
double r135906 = r135869 + r135905;
double r135907 = r135904 / r135906;
double r135908 = r135903 + r135907;
double r135909 = 9.984369578019572e-06;
double r135910 = r135909 / r135871;
double r135911 = r135908 + r135910;
double r135912 = 1.5056327351493116e-07;
double r135913 = 8.0;
double r135914 = r135869 + r135913;
double r135915 = r135912 / r135914;
double r135916 = r135911 + r135915;
double r135917 = r135879 * r135916;
double r135918 = r135863 * r135917;
return r135918;
}
double f(double z) {
double r135919 = atan2(1.0, 0.0);
double r135920 = z;
double r135921 = r135919 * r135920;
double r135922 = sin(r135921);
double r135923 = r135919 / r135922;
double r135924 = 2.0;
double r135925 = r135919 * r135924;
double r135926 = sqrt(r135925);
double r135927 = 1.0;
double r135928 = r135927 - r135920;
double r135929 = r135928 - r135927;
double r135930 = 7.0;
double r135931 = r135929 + r135930;
double r135932 = 0.5;
double r135933 = r135931 + r135932;
double r135934 = r135929 + r135932;
double r135935 = pow(r135933, r135934);
double r135936 = r135926 * r135935;
double r135937 = -r135933;
double r135938 = exp(r135937);
double r135939 = r135936 * r135938;
double r135940 = 0.9999999999998099;
double r135941 = 676.5203681218851;
double r135942 = r135929 + r135927;
double r135943 = r135941 / r135942;
double r135944 = r135940 + r135943;
double r135945 = -1259.1392167224028;
double r135946 = r135929 + r135924;
double r135947 = r135945 / r135946;
double r135948 = r135944 + r135947;
double r135949 = 771.3234287776531;
double r135950 = 3.0;
double r135951 = r135929 + r135950;
double r135952 = r135949 / r135951;
double r135953 = r135948 + r135952;
double r135954 = -176.6150291621406;
double r135955 = 4.0;
double r135956 = r135929 + r135955;
double r135957 = r135954 / r135956;
double r135958 = r135953 + r135957;
double r135959 = 12.507343278686905;
double r135960 = 5.0;
double r135961 = r135929 + r135960;
double r135962 = r135959 / r135961;
double r135963 = r135958 + r135962;
double r135964 = -0.13857109526572012;
double r135965 = 6.0;
double r135966 = r135929 + r135965;
double r135967 = r135964 / r135966;
double r135968 = r135963 + r135967;
double r135969 = 9.984369578019572e-06;
double r135970 = r135969 / r135931;
double r135971 = r135968 + r135970;
double r135972 = 1.5056327351493116e-07;
double r135973 = 8.0;
double r135974 = r135929 + r135973;
double r135975 = r135972 / r135974;
double r135976 = r135971 + r135975;
double r135977 = r135939 * r135976;
double r135978 = r135923 * r135977;
return r135978;
}



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))))))