\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.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(z - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(z - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(z - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(z - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(z - 1\right) + 8}\right)\frac{{\left(z + 6.5\right)}^{\left(z - 0.5\right)} \cdot \sqrt{2}}{e^{z} \cdot e^{6.5}} \cdot \left(\sqrt{\pi} \cdot \left(\left(\left(\left(\frac{771.3234287776531346025876700878143310547}{\left(z - 1\right) + 3} + \frac{-176.6150291621405870046146446838974952698}{\left(z - 1\right) + 4}\right) + \left(\frac{676.5203681218850988443591631948947906494}{z} + 0.9999999999998099298181841732002794742584\right)\right) + \left(\frac{-1259.139216722402807135949842631816864014}{\left(z - 1\right) + 2} + \left(\frac{12.50734327868690520801919774385169148445}{\left(z - 1\right) + 5} + \frac{-0.1385710952657201178173096423051902092993}{\left(z - 1\right) + 6}\right)\right)\right) + \left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(z - 1\right) + 7} + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(z - 1\right) + 8}\right)\right)\right)double f(double z) {
double r245150 = atan2(1.0, 0.0);
double r245151 = 2.0;
double r245152 = r245150 * r245151;
double r245153 = sqrt(r245152);
double r245154 = z;
double r245155 = 1.0;
double r245156 = r245154 - r245155;
double r245157 = 7.0;
double r245158 = r245156 + r245157;
double r245159 = 0.5;
double r245160 = r245158 + r245159;
double r245161 = r245156 + r245159;
double r245162 = pow(r245160, r245161);
double r245163 = r245153 * r245162;
double r245164 = -r245160;
double r245165 = exp(r245164);
double r245166 = r245163 * r245165;
double r245167 = 0.9999999999998099;
double r245168 = 676.5203681218851;
double r245169 = r245156 + r245155;
double r245170 = r245168 / r245169;
double r245171 = r245167 + r245170;
double r245172 = -1259.1392167224028;
double r245173 = r245156 + r245151;
double r245174 = r245172 / r245173;
double r245175 = r245171 + r245174;
double r245176 = 771.3234287776531;
double r245177 = 3.0;
double r245178 = r245156 + r245177;
double r245179 = r245176 / r245178;
double r245180 = r245175 + r245179;
double r245181 = -176.6150291621406;
double r245182 = 4.0;
double r245183 = r245156 + r245182;
double r245184 = r245181 / r245183;
double r245185 = r245180 + r245184;
double r245186 = 12.507343278686905;
double r245187 = 5.0;
double r245188 = r245156 + r245187;
double r245189 = r245186 / r245188;
double r245190 = r245185 + r245189;
double r245191 = -0.13857109526572012;
double r245192 = 6.0;
double r245193 = r245156 + r245192;
double r245194 = r245191 / r245193;
double r245195 = r245190 + r245194;
double r245196 = 9.984369578019572e-06;
double r245197 = r245196 / r245158;
double r245198 = r245195 + r245197;
double r245199 = 1.5056327351493116e-07;
double r245200 = 8.0;
double r245201 = r245156 + r245200;
double r245202 = r245199 / r245201;
double r245203 = r245198 + r245202;
double r245204 = r245166 * r245203;
return r245204;
}
double f(double z) {
double r245205 = z;
double r245206 = 6.5;
double r245207 = r245205 + r245206;
double r245208 = 0.5;
double r245209 = r245205 - r245208;
double r245210 = pow(r245207, r245209);
double r245211 = 2.0;
double r245212 = sqrt(r245211);
double r245213 = r245210 * r245212;
double r245214 = exp(r245205);
double r245215 = exp(r245206);
double r245216 = r245214 * r245215;
double r245217 = r245213 / r245216;
double r245218 = atan2(1.0, 0.0);
double r245219 = sqrt(r245218);
double r245220 = 771.3234287776531;
double r245221 = 1.0;
double r245222 = r245205 - r245221;
double r245223 = 3.0;
double r245224 = r245222 + r245223;
double r245225 = r245220 / r245224;
double r245226 = -176.6150291621406;
double r245227 = 4.0;
double r245228 = r245222 + r245227;
double r245229 = r245226 / r245228;
double r245230 = r245225 + r245229;
double r245231 = 676.5203681218851;
double r245232 = r245231 / r245205;
double r245233 = 0.9999999999998099;
double r245234 = r245232 + r245233;
double r245235 = r245230 + r245234;
double r245236 = -1259.1392167224028;
double r245237 = r245222 + r245211;
double r245238 = r245236 / r245237;
double r245239 = 12.507343278686905;
double r245240 = 5.0;
double r245241 = r245222 + r245240;
double r245242 = r245239 / r245241;
double r245243 = -0.13857109526572012;
double r245244 = 6.0;
double r245245 = r245222 + r245244;
double r245246 = r245243 / r245245;
double r245247 = r245242 + r245246;
double r245248 = r245238 + r245247;
double r245249 = r245235 + r245248;
double r245250 = 9.984369578019572e-06;
double r245251 = 7.0;
double r245252 = r245222 + r245251;
double r245253 = r245250 / r245252;
double r245254 = 1.5056327351493116e-07;
double r245255 = 8.0;
double r245256 = r245222 + r245255;
double r245257 = r245254 / r245256;
double r245258 = r245253 + r245257;
double r245259 = r245249 + r245258;
double r245260 = r245219 * r245259;
double r245261 = r245217 * r245260;
return r245261;
}



Bits error versus z
Results
Initial program 61.7
Simplified1.2
Taylor expanded around inf 0.9
rmApplied associate-*l*1.1
Simplified1.1
rmApplied exp-sum1.0
Final simplification1.0
herbie shell --seed 2019323
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
:precision binary64
(* (* (* (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)))))