\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\left(e^{-6 - 0.5} \cdot \frac{{\left(0.5 + \left(z - -6\right)\right)}^{\left(0.5 + \left(z - 1\right)\right)}}{e^{z}}\right) \cdot \left(\left(\left(\left(\left(\frac{12.507343278686905}{z - -4} + \left(\frac{771.3234287776531}{2 + z} + \frac{-1259.1392167224028}{1 + z}\right)\right) + \frac{-176.6150291621406}{z - -3}\right) + \left(\frac{1.5056327351493116 \cdot 10^{-07}}{7 + z} + \left(\frac{676.5203681218851}{z} + 0.9999999999998099\right)\right)\right) + \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{-0.13857109526572012}{z - -5}\right)\right) \cdot \left(\sqrt{\pi} \cdot \sqrt{2}\right)\right)double f(double z) {
double r8468833 = atan2(1.0, 0.0);
double r8468834 = 2.0;
double r8468835 = r8468833 * r8468834;
double r8468836 = sqrt(r8468835);
double r8468837 = z;
double r8468838 = 1.0;
double r8468839 = r8468837 - r8468838;
double r8468840 = 7.0;
double r8468841 = r8468839 + r8468840;
double r8468842 = 0.5;
double r8468843 = r8468841 + r8468842;
double r8468844 = r8468839 + r8468842;
double r8468845 = pow(r8468843, r8468844);
double r8468846 = r8468836 * r8468845;
double r8468847 = -r8468843;
double r8468848 = exp(r8468847);
double r8468849 = r8468846 * r8468848;
double r8468850 = 0.9999999999998099;
double r8468851 = 676.5203681218851;
double r8468852 = r8468839 + r8468838;
double r8468853 = r8468851 / r8468852;
double r8468854 = r8468850 + r8468853;
double r8468855 = -1259.1392167224028;
double r8468856 = r8468839 + r8468834;
double r8468857 = r8468855 / r8468856;
double r8468858 = r8468854 + r8468857;
double r8468859 = 771.3234287776531;
double r8468860 = 3.0;
double r8468861 = r8468839 + r8468860;
double r8468862 = r8468859 / r8468861;
double r8468863 = r8468858 + r8468862;
double r8468864 = -176.6150291621406;
double r8468865 = 4.0;
double r8468866 = r8468839 + r8468865;
double r8468867 = r8468864 / r8468866;
double r8468868 = r8468863 + r8468867;
double r8468869 = 12.507343278686905;
double r8468870 = 5.0;
double r8468871 = r8468839 + r8468870;
double r8468872 = r8468869 / r8468871;
double r8468873 = r8468868 + r8468872;
double r8468874 = -0.13857109526572012;
double r8468875 = 6.0;
double r8468876 = r8468839 + r8468875;
double r8468877 = r8468874 / r8468876;
double r8468878 = r8468873 + r8468877;
double r8468879 = 9.984369578019572e-06;
double r8468880 = r8468879 / r8468841;
double r8468881 = r8468878 + r8468880;
double r8468882 = 1.5056327351493116e-07;
double r8468883 = 8.0;
double r8468884 = r8468839 + r8468883;
double r8468885 = r8468882 / r8468884;
double r8468886 = r8468881 + r8468885;
double r8468887 = r8468849 * r8468886;
return r8468887;
}
double f(double z) {
double r8468888 = -6.0;
double r8468889 = 0.5;
double r8468890 = r8468888 - r8468889;
double r8468891 = exp(r8468890);
double r8468892 = z;
double r8468893 = r8468892 - r8468888;
double r8468894 = r8468889 + r8468893;
double r8468895 = 1.0;
double r8468896 = r8468892 - r8468895;
double r8468897 = r8468889 + r8468896;
double r8468898 = pow(r8468894, r8468897);
double r8468899 = exp(r8468892);
double r8468900 = r8468898 / r8468899;
double r8468901 = r8468891 * r8468900;
double r8468902 = 12.507343278686905;
double r8468903 = -4.0;
double r8468904 = r8468892 - r8468903;
double r8468905 = r8468902 / r8468904;
double r8468906 = 771.3234287776531;
double r8468907 = 2.0;
double r8468908 = r8468907 + r8468892;
double r8468909 = r8468906 / r8468908;
double r8468910 = -1259.1392167224028;
double r8468911 = r8468895 + r8468892;
double r8468912 = r8468910 / r8468911;
double r8468913 = r8468909 + r8468912;
double r8468914 = r8468905 + r8468913;
double r8468915 = -176.6150291621406;
double r8468916 = -3.0;
double r8468917 = r8468892 - r8468916;
double r8468918 = r8468915 / r8468917;
double r8468919 = r8468914 + r8468918;
double r8468920 = 1.5056327351493116e-07;
double r8468921 = 7.0;
double r8468922 = r8468921 + r8468892;
double r8468923 = r8468920 / r8468922;
double r8468924 = 676.5203681218851;
double r8468925 = r8468924 / r8468892;
double r8468926 = 0.9999999999998099;
double r8468927 = r8468925 + r8468926;
double r8468928 = r8468923 + r8468927;
double r8468929 = r8468919 + r8468928;
double r8468930 = 9.984369578019572e-06;
double r8468931 = 6.0;
double r8468932 = r8468931 + r8468892;
double r8468933 = r8468930 / r8468932;
double r8468934 = -0.13857109526572012;
double r8468935 = -5.0;
double r8468936 = r8468892 - r8468935;
double r8468937 = r8468934 / r8468936;
double r8468938 = r8468933 + r8468937;
double r8468939 = r8468929 + r8468938;
double r8468940 = atan2(1.0, 0.0);
double r8468941 = sqrt(r8468940);
double r8468942 = sqrt(r8468907);
double r8468943 = r8468941 * r8468942;
double r8468944 = r8468939 * r8468943;
double r8468945 = r8468901 * r8468944;
return r8468945;
}



Bits error versus z
Results
Initial program 59.9
Simplified0.8
rmApplied associate-+l-0.8
Applied exp-diff1.4
Applied associate-/r/1.4
rmApplied sqrt-prod0.8
Final simplification0.8
herbie shell --seed 2019132 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))