\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)\frac{1}{e^{z}} \cdot \left(\left(\frac{\sqrt{2 \cdot \pi}}{e^{0.5}} \cdot \left(\left(\left(\frac{-1259.1392167224028}{z - -1} + \left(\left(\frac{676.5203681218851}{z} + \frac{771.3234287776531}{2 + z}\right) + 0.9999999999998099\right)\right) + \frac{-176.6150291621406}{z + 3}\right) + \left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{z + 7}\right) + \left(\frac{-0.13857109526572012}{\left(z - -6\right) + -1} + \frac{12.507343278686905}{z + 4}\right)\right)\right)\right) \cdot \frac{{\left(\left(z - -6\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}}{e^{6}}\right)double f(double z) {
double r13957084 = atan2(1.0, 0.0);
double r13957085 = 2.0;
double r13957086 = r13957084 * r13957085;
double r13957087 = sqrt(r13957086);
double r13957088 = z;
double r13957089 = 1.0;
double r13957090 = r13957088 - r13957089;
double r13957091 = 7.0;
double r13957092 = r13957090 + r13957091;
double r13957093 = 0.5;
double r13957094 = r13957092 + r13957093;
double r13957095 = r13957090 + r13957093;
double r13957096 = pow(r13957094, r13957095);
double r13957097 = r13957087 * r13957096;
double r13957098 = -r13957094;
double r13957099 = exp(r13957098);
double r13957100 = r13957097 * r13957099;
double r13957101 = 0.9999999999998099;
double r13957102 = 676.5203681218851;
double r13957103 = r13957090 + r13957089;
double r13957104 = r13957102 / r13957103;
double r13957105 = r13957101 + r13957104;
double r13957106 = -1259.1392167224028;
double r13957107 = r13957090 + r13957085;
double r13957108 = r13957106 / r13957107;
double r13957109 = r13957105 + r13957108;
double r13957110 = 771.3234287776531;
double r13957111 = 3.0;
double r13957112 = r13957090 + r13957111;
double r13957113 = r13957110 / r13957112;
double r13957114 = r13957109 + r13957113;
double r13957115 = -176.6150291621406;
double r13957116 = 4.0;
double r13957117 = r13957090 + r13957116;
double r13957118 = r13957115 / r13957117;
double r13957119 = r13957114 + r13957118;
double r13957120 = 12.507343278686905;
double r13957121 = 5.0;
double r13957122 = r13957090 + r13957121;
double r13957123 = r13957120 / r13957122;
double r13957124 = r13957119 + r13957123;
double r13957125 = -0.13857109526572012;
double r13957126 = 6.0;
double r13957127 = r13957090 + r13957126;
double r13957128 = r13957125 / r13957127;
double r13957129 = r13957124 + r13957128;
double r13957130 = 9.984369578019572e-06;
double r13957131 = r13957130 / r13957092;
double r13957132 = r13957129 + r13957131;
double r13957133 = 1.5056327351493116e-07;
double r13957134 = 8.0;
double r13957135 = r13957090 + r13957134;
double r13957136 = r13957133 / r13957135;
double r13957137 = r13957132 + r13957136;
double r13957138 = r13957100 * r13957137;
return r13957138;
}
double f(double z) {
double r13957139 = 1.0;
double r13957140 = z;
double r13957141 = exp(r13957140);
double r13957142 = r13957139 / r13957141;
double r13957143 = 2.0;
double r13957144 = atan2(1.0, 0.0);
double r13957145 = r13957143 * r13957144;
double r13957146 = sqrt(r13957145);
double r13957147 = 0.5;
double r13957148 = exp(r13957147);
double r13957149 = r13957146 / r13957148;
double r13957150 = -1259.1392167224028;
double r13957151 = -1.0;
double r13957152 = r13957140 - r13957151;
double r13957153 = r13957150 / r13957152;
double r13957154 = 676.5203681218851;
double r13957155 = r13957154 / r13957140;
double r13957156 = 771.3234287776531;
double r13957157 = r13957143 + r13957140;
double r13957158 = r13957156 / r13957157;
double r13957159 = r13957155 + r13957158;
double r13957160 = 0.9999999999998099;
double r13957161 = r13957159 + r13957160;
double r13957162 = r13957153 + r13957161;
double r13957163 = -176.6150291621406;
double r13957164 = 3.0;
double r13957165 = r13957140 + r13957164;
double r13957166 = r13957163 / r13957165;
double r13957167 = r13957162 + r13957166;
double r13957168 = 9.984369578019572e-06;
double r13957169 = -6.0;
double r13957170 = r13957140 - r13957169;
double r13957171 = r13957168 / r13957170;
double r13957172 = 1.5056327351493116e-07;
double r13957173 = 7.0;
double r13957174 = r13957140 + r13957173;
double r13957175 = r13957172 / r13957174;
double r13957176 = r13957171 + r13957175;
double r13957177 = -0.13857109526572012;
double r13957178 = r13957170 + r13957151;
double r13957179 = r13957177 / r13957178;
double r13957180 = 12.507343278686905;
double r13957181 = 4.0;
double r13957182 = r13957140 + r13957181;
double r13957183 = r13957180 / r13957182;
double r13957184 = r13957179 + r13957183;
double r13957185 = r13957176 + r13957184;
double r13957186 = r13957167 + r13957185;
double r13957187 = r13957149 * r13957186;
double r13957188 = r13957170 + r13957147;
double r13957189 = r13957140 - r13957139;
double r13957190 = r13957189 + r13957147;
double r13957191 = pow(r13957188, r13957190);
double r13957192 = 6.0;
double r13957193 = exp(r13957192);
double r13957194 = r13957191 / r13957193;
double r13957195 = r13957187 * r13957194;
double r13957196 = r13957142 * r13957195;
return r13957196;
}



Bits error versus z
Results
Initial program 59.8
Simplified1.1
rmApplied exp-sum1.1
Applied times-frac0.8
Applied associate-*l*0.9
rmApplied sub-neg0.9
Applied exp-sum0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Applied associate-*l*0.9
Final simplification0.9
herbie shell --seed 2019143 +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)))))