\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}{\sqrt[3]{-1 \cdot {z}^{3}} + 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 r87867 = atan2(1.0, 0.0);
double r87868 = z;
double r87869 = r87867 * r87868;
double r87870 = sin(r87869);
double r87871 = r87867 / r87870;
double r87872 = 2.0;
double r87873 = r87867 * r87872;
double r87874 = sqrt(r87873);
double r87875 = 1.0;
double r87876 = r87875 - r87868;
double r87877 = r87876 - r87875;
double r87878 = 7.0;
double r87879 = r87877 + r87878;
double r87880 = 0.5;
double r87881 = r87879 + r87880;
double r87882 = r87877 + r87880;
double r87883 = pow(r87881, r87882);
double r87884 = r87874 * r87883;
double r87885 = -r87881;
double r87886 = exp(r87885);
double r87887 = r87884 * r87886;
double r87888 = 0.9999999999998099;
double r87889 = 676.5203681218851;
double r87890 = r87877 + r87875;
double r87891 = r87889 / r87890;
double r87892 = r87888 + r87891;
double r87893 = -1259.1392167224028;
double r87894 = r87877 + r87872;
double r87895 = r87893 / r87894;
double r87896 = r87892 + r87895;
double r87897 = 771.3234287776531;
double r87898 = 3.0;
double r87899 = r87877 + r87898;
double r87900 = r87897 / r87899;
double r87901 = r87896 + r87900;
double r87902 = -176.6150291621406;
double r87903 = 4.0;
double r87904 = r87877 + r87903;
double r87905 = r87902 / r87904;
double r87906 = r87901 + r87905;
double r87907 = 12.507343278686905;
double r87908 = 5.0;
double r87909 = r87877 + r87908;
double r87910 = r87907 / r87909;
double r87911 = r87906 + r87910;
double r87912 = -0.13857109526572012;
double r87913 = 6.0;
double r87914 = r87877 + r87913;
double r87915 = r87912 / r87914;
double r87916 = r87911 + r87915;
double r87917 = 9.984369578019572e-06;
double r87918 = r87917 / r87879;
double r87919 = r87916 + r87918;
double r87920 = 1.5056327351493116e-07;
double r87921 = 8.0;
double r87922 = r87877 + r87921;
double r87923 = r87920 / r87922;
double r87924 = r87919 + r87923;
double r87925 = r87887 * r87924;
double r87926 = r87871 * r87925;
return r87926;
}
double f(double z) {
double r87927 = atan2(1.0, 0.0);
double r87928 = z;
double r87929 = r87927 * r87928;
double r87930 = sin(r87929);
double r87931 = r87927 / r87930;
double r87932 = 2.0;
double r87933 = r87927 * r87932;
double r87934 = sqrt(r87933);
double r87935 = 1.0;
double r87936 = r87935 - r87928;
double r87937 = r87936 - r87935;
double r87938 = 7.0;
double r87939 = r87937 + r87938;
double r87940 = 0.5;
double r87941 = r87939 + r87940;
double r87942 = r87937 + r87940;
double r87943 = pow(r87941, r87942);
double r87944 = r87934 * r87943;
double r87945 = -r87941;
double r87946 = exp(r87945);
double r87947 = r87944 * r87946;
double r87948 = 0.9999999999998099;
double r87949 = 676.5203681218851;
double r87950 = r87937 + r87935;
double r87951 = r87949 / r87950;
double r87952 = r87948 + r87951;
double r87953 = -1259.1392167224028;
double r87954 = r87937 + r87932;
double r87955 = r87953 / r87954;
double r87956 = r87952 + r87955;
double r87957 = 771.3234287776531;
double r87958 = 3.0;
double r87959 = r87937 + r87958;
double r87960 = r87957 / r87959;
double r87961 = r87956 + r87960;
double r87962 = -176.6150291621406;
double r87963 = 4.0;
double r87964 = r87937 + r87963;
double r87965 = r87962 / r87964;
double r87966 = r87961 + r87965;
double r87967 = 12.507343278686905;
double r87968 = -1.0;
double r87969 = 3.0;
double r87970 = pow(r87928, r87969);
double r87971 = r87968 * r87970;
double r87972 = cbrt(r87971);
double r87973 = 5.0;
double r87974 = r87972 + r87973;
double r87975 = r87967 / r87974;
double r87976 = r87966 + r87975;
double r87977 = -0.13857109526572012;
double r87978 = 6.0;
double r87979 = r87937 + r87978;
double r87980 = r87977 / r87979;
double r87981 = r87976 + r87980;
double r87982 = 9.984369578019572e-06;
double r87983 = r87982 / r87939;
double r87984 = r87981 + r87983;
double r87985 = 1.5056327351493116e-07;
double r87986 = 8.0;
double r87987 = r87937 + r87986;
double r87988 = r87985 / r87987;
double r87989 = r87984 + r87988;
double r87990 = r87947 * r87989;
double r87991 = r87931 * r87990;
return r87991;
}



Bits error versus z
Results
Initial program 1.8
rmApplied add-cbrt-cube1.8
Simplified1.8
Final simplification1.8
herbie shell --seed 2019352
(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))))))