\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(\frac{\sqrt{2 \cdot \pi}}{e^{0.5}} \cdot \left(\left(\frac{-1259.1392167224028}{z + 1} + \left(\left(\left(\frac{771.3234287776531}{2 + z} + \frac{676.5203681218851}{z}\right) + 0.9999999999998099\right) + \frac{-176.6150291621406}{4 + \left(z - 1\right)}\right)\right) + \left(\left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{z + 7}\right) + \frac{12.507343278686905}{z + 4}\right) + \frac{-0.13857109526572012}{z + 5}\right)\right)\right) \cdot \left(e^{-7} \cdot \frac{{\left(0.5 + \left(\left(z - 1\right) + 7\right)\right)}^{\left(\left(z - 1\right) + 0.5\right)}}{e^{z - 1}}\right)double f(double z) {
double r15993025 = atan2(1.0, 0.0);
double r15993026 = 2.0;
double r15993027 = r15993025 * r15993026;
double r15993028 = sqrt(r15993027);
double r15993029 = z;
double r15993030 = 1.0;
double r15993031 = r15993029 - r15993030;
double r15993032 = 7.0;
double r15993033 = r15993031 + r15993032;
double r15993034 = 0.5;
double r15993035 = r15993033 + r15993034;
double r15993036 = r15993031 + r15993034;
double r15993037 = pow(r15993035, r15993036);
double r15993038 = r15993028 * r15993037;
double r15993039 = -r15993035;
double r15993040 = exp(r15993039);
double r15993041 = r15993038 * r15993040;
double r15993042 = 0.9999999999998099;
double r15993043 = 676.5203681218851;
double r15993044 = r15993031 + r15993030;
double r15993045 = r15993043 / r15993044;
double r15993046 = r15993042 + r15993045;
double r15993047 = -1259.1392167224028;
double r15993048 = r15993031 + r15993026;
double r15993049 = r15993047 / r15993048;
double r15993050 = r15993046 + r15993049;
double r15993051 = 771.3234287776531;
double r15993052 = 3.0;
double r15993053 = r15993031 + r15993052;
double r15993054 = r15993051 / r15993053;
double r15993055 = r15993050 + r15993054;
double r15993056 = -176.6150291621406;
double r15993057 = 4.0;
double r15993058 = r15993031 + r15993057;
double r15993059 = r15993056 / r15993058;
double r15993060 = r15993055 + r15993059;
double r15993061 = 12.507343278686905;
double r15993062 = 5.0;
double r15993063 = r15993031 + r15993062;
double r15993064 = r15993061 / r15993063;
double r15993065 = r15993060 + r15993064;
double r15993066 = -0.13857109526572012;
double r15993067 = 6.0;
double r15993068 = r15993031 + r15993067;
double r15993069 = r15993066 / r15993068;
double r15993070 = r15993065 + r15993069;
double r15993071 = 9.984369578019572e-06;
double r15993072 = r15993071 / r15993033;
double r15993073 = r15993070 + r15993072;
double r15993074 = 1.5056327351493116e-07;
double r15993075 = 8.0;
double r15993076 = r15993031 + r15993075;
double r15993077 = r15993074 / r15993076;
double r15993078 = r15993073 + r15993077;
double r15993079 = r15993041 * r15993078;
return r15993079;
}
double f(double z) {
double r15993080 = 2.0;
double r15993081 = atan2(1.0, 0.0);
double r15993082 = r15993080 * r15993081;
double r15993083 = sqrt(r15993082);
double r15993084 = 0.5;
double r15993085 = exp(r15993084);
double r15993086 = r15993083 / r15993085;
double r15993087 = -1259.1392167224028;
double r15993088 = z;
double r15993089 = 1.0;
double r15993090 = r15993088 + r15993089;
double r15993091 = r15993087 / r15993090;
double r15993092 = 771.3234287776531;
double r15993093 = r15993080 + r15993088;
double r15993094 = r15993092 / r15993093;
double r15993095 = 676.5203681218851;
double r15993096 = r15993095 / r15993088;
double r15993097 = r15993094 + r15993096;
double r15993098 = 0.9999999999998099;
double r15993099 = r15993097 + r15993098;
double r15993100 = -176.6150291621406;
double r15993101 = 4.0;
double r15993102 = r15993088 - r15993089;
double r15993103 = r15993101 + r15993102;
double r15993104 = r15993100 / r15993103;
double r15993105 = r15993099 + r15993104;
double r15993106 = r15993091 + r15993105;
double r15993107 = 9.984369578019572e-06;
double r15993108 = -6.0;
double r15993109 = r15993088 - r15993108;
double r15993110 = r15993107 / r15993109;
double r15993111 = 1.5056327351493116e-07;
double r15993112 = 7.0;
double r15993113 = r15993088 + r15993112;
double r15993114 = r15993111 / r15993113;
double r15993115 = r15993110 + r15993114;
double r15993116 = 12.507343278686905;
double r15993117 = r15993088 + r15993101;
double r15993118 = r15993116 / r15993117;
double r15993119 = r15993115 + r15993118;
double r15993120 = -0.13857109526572012;
double r15993121 = 5.0;
double r15993122 = r15993088 + r15993121;
double r15993123 = r15993120 / r15993122;
double r15993124 = r15993119 + r15993123;
double r15993125 = r15993106 + r15993124;
double r15993126 = r15993086 * r15993125;
double r15993127 = -7.0;
double r15993128 = exp(r15993127);
double r15993129 = r15993102 + r15993112;
double r15993130 = r15993084 + r15993129;
double r15993131 = r15993102 + r15993084;
double r15993132 = pow(r15993130, r15993131);
double r15993133 = exp(r15993102);
double r15993134 = r15993132 / r15993133;
double r15993135 = r15993128 * r15993134;
double r15993136 = r15993126 * r15993135;
return r15993136;
}



Bits error versus z
Results
Initial program 59.9
Simplified1.1
rmApplied exp-sum1.1
Applied times-frac0.8
Applied associate-*l*0.9
rmApplied exp-sum0.8
Applied *-un-lft-identity0.8
Applied unpow-prod-down0.8
Applied times-frac0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019138
(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)))))