\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(\sqrt{\pi \cdot 2} \cdot \left(\left(\left(\frac{1.5056327351493116 \cdot 10^{-07}}{z + 7} + \frac{9.984369578019572 \cdot 10^{-06}}{z - -6}\right) + \frac{-0.13857109526572012}{z + 5}\right) + \left(\left(\frac{12.507343278686905}{z + 4} + \left(\left(0.9999999999998099 + \frac{-176.6150291621406}{z + 3}\right) + \frac{-1259.1392167224028}{z + 1}\right)\right) + \left(\frac{676.5203681218851}{z} + \frac{771.3234287776531}{2 + z}\right)\right)\right)\right) \cdot \left(e^{-6} \cdot \frac{\frac{{\left(\sqrt{\left(z - -6\right) + 0.5}\right)}^{\left(-1 + \left(z + 0.5\right)\right)}}{\frac{1}{\sqrt{{\left(\sqrt{\left(z - -6\right) + 0.5}\right)}^{\left(-1 + \left(z + 0.5\right)\right)}}}}}{\frac{e^{z + 0.5}}{\sqrt{{\left(\sqrt{\left(z - -6\right) + 0.5}\right)}^{\left(-1 + \left(z + 0.5\right)\right)}}}}\right)double f(double z) {
double r6294970 = atan2(1.0, 0.0);
double r6294971 = 2.0;
double r6294972 = r6294970 * r6294971;
double r6294973 = sqrt(r6294972);
double r6294974 = z;
double r6294975 = 1.0;
double r6294976 = r6294974 - r6294975;
double r6294977 = 7.0;
double r6294978 = r6294976 + r6294977;
double r6294979 = 0.5;
double r6294980 = r6294978 + r6294979;
double r6294981 = r6294976 + r6294979;
double r6294982 = pow(r6294980, r6294981);
double r6294983 = r6294973 * r6294982;
double r6294984 = -r6294980;
double r6294985 = exp(r6294984);
double r6294986 = r6294983 * r6294985;
double r6294987 = 0.9999999999998099;
double r6294988 = 676.5203681218851;
double r6294989 = r6294976 + r6294975;
double r6294990 = r6294988 / r6294989;
double r6294991 = r6294987 + r6294990;
double r6294992 = -1259.1392167224028;
double r6294993 = r6294976 + r6294971;
double r6294994 = r6294992 / r6294993;
double r6294995 = r6294991 + r6294994;
double r6294996 = 771.3234287776531;
double r6294997 = 3.0;
double r6294998 = r6294976 + r6294997;
double r6294999 = r6294996 / r6294998;
double r6295000 = r6294995 + r6294999;
double r6295001 = -176.6150291621406;
double r6295002 = 4.0;
double r6295003 = r6294976 + r6295002;
double r6295004 = r6295001 / r6295003;
double r6295005 = r6295000 + r6295004;
double r6295006 = 12.507343278686905;
double r6295007 = 5.0;
double r6295008 = r6294976 + r6295007;
double r6295009 = r6295006 / r6295008;
double r6295010 = r6295005 + r6295009;
double r6295011 = -0.13857109526572012;
double r6295012 = 6.0;
double r6295013 = r6294976 + r6295012;
double r6295014 = r6295011 / r6295013;
double r6295015 = r6295010 + r6295014;
double r6295016 = 9.984369578019572e-06;
double r6295017 = r6295016 / r6294978;
double r6295018 = r6295015 + r6295017;
double r6295019 = 1.5056327351493116e-07;
double r6295020 = 8.0;
double r6295021 = r6294976 + r6295020;
double r6295022 = r6295019 / r6295021;
double r6295023 = r6295018 + r6295022;
double r6295024 = r6294986 * r6295023;
return r6295024;
}
double f(double z) {
double r6295025 = atan2(1.0, 0.0);
double r6295026 = 2.0;
double r6295027 = r6295025 * r6295026;
double r6295028 = sqrt(r6295027);
double r6295029 = 1.5056327351493116e-07;
double r6295030 = z;
double r6295031 = 7.0;
double r6295032 = r6295030 + r6295031;
double r6295033 = r6295029 / r6295032;
double r6295034 = 9.984369578019572e-06;
double r6295035 = -6.0;
double r6295036 = r6295030 - r6295035;
double r6295037 = r6295034 / r6295036;
double r6295038 = r6295033 + r6295037;
double r6295039 = -0.13857109526572012;
double r6295040 = 5.0;
double r6295041 = r6295030 + r6295040;
double r6295042 = r6295039 / r6295041;
double r6295043 = r6295038 + r6295042;
double r6295044 = 12.507343278686905;
double r6295045 = 4.0;
double r6295046 = r6295030 + r6295045;
double r6295047 = r6295044 / r6295046;
double r6295048 = 0.9999999999998099;
double r6295049 = -176.6150291621406;
double r6295050 = 3.0;
double r6295051 = r6295030 + r6295050;
double r6295052 = r6295049 / r6295051;
double r6295053 = r6295048 + r6295052;
double r6295054 = -1259.1392167224028;
double r6295055 = 1.0;
double r6295056 = r6295030 + r6295055;
double r6295057 = r6295054 / r6295056;
double r6295058 = r6295053 + r6295057;
double r6295059 = r6295047 + r6295058;
double r6295060 = 676.5203681218851;
double r6295061 = r6295060 / r6295030;
double r6295062 = 771.3234287776531;
double r6295063 = r6295026 + r6295030;
double r6295064 = r6295062 / r6295063;
double r6295065 = r6295061 + r6295064;
double r6295066 = r6295059 + r6295065;
double r6295067 = r6295043 + r6295066;
double r6295068 = r6295028 * r6295067;
double r6295069 = exp(r6295035);
double r6295070 = 0.5;
double r6295071 = r6295036 + r6295070;
double r6295072 = sqrt(r6295071);
double r6295073 = -1.0;
double r6295074 = r6295030 + r6295070;
double r6295075 = r6295073 + r6295074;
double r6295076 = pow(r6295072, r6295075);
double r6295077 = sqrt(r6295076);
double r6295078 = r6295055 / r6295077;
double r6295079 = r6295076 / r6295078;
double r6295080 = exp(r6295074);
double r6295081 = r6295080 / r6295077;
double r6295082 = r6295079 / r6295081;
double r6295083 = r6295069 * r6295082;
double r6295084 = r6295068 * r6295083;
return r6295084;
}



Bits error versus z
Results
Initial program 60.1
Simplified1.1
Simplified0.9
rmApplied associate-+r-0.9
Applied exp-diff0.8
Applied associate-/r/0.8
rmApplied add-sqr-sqrt0.9
Applied unpow-prod-down0.9
Applied associate-/l*0.9
rmApplied add-sqr-sqrt0.9
Applied *-un-lft-identity0.9
Applied times-frac0.9
Applied associate-/r*0.9
Final simplification0.9
herbie shell --seed 2019142
(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)))))