\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)\left({\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)} \cdot \frac{e^{-\left(z - 1\right)}}{e^{7}}\right) \cdot \left(\frac{\sqrt{\pi \cdot 2}}{e^{0.5}} \cdot \left(\left(\frac{-176.6150291621405870046146446838974952698}{\left(z - 1\right) + 4} + \left(\left(\frac{676.5203681218850988443591631948947906494}{z} + 0.9999999999998099298181841732002794742584\right) + \frac{-1259.139216722402807135949842631816864014}{\left(z - 1\right) + 2}\right)\right) + \left(\frac{771.3234287776531346025876700878143310547}{\left(z - 1\right) + 3} + \left(\left(\frac{12.50734327868690520801919774385169148445}{\left(z - 1\right) + 5} + \frac{-0.1385710952657201178173096423051902092993}{\left(z - 1\right) + 6}\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)\right)\right)double f(double z) {
double r382215 = atan2(1.0, 0.0);
double r382216 = 2.0;
double r382217 = r382215 * r382216;
double r382218 = sqrt(r382217);
double r382219 = z;
double r382220 = 1.0;
double r382221 = r382219 - r382220;
double r382222 = 7.0;
double r382223 = r382221 + r382222;
double r382224 = 0.5;
double r382225 = r382223 + r382224;
double r382226 = r382221 + r382224;
double r382227 = pow(r382225, r382226);
double r382228 = r382218 * r382227;
double r382229 = -r382225;
double r382230 = exp(r382229);
double r382231 = r382228 * r382230;
double r382232 = 0.9999999999998099;
double r382233 = 676.5203681218851;
double r382234 = r382221 + r382220;
double r382235 = r382233 / r382234;
double r382236 = r382232 + r382235;
double r382237 = -1259.1392167224028;
double r382238 = r382221 + r382216;
double r382239 = r382237 / r382238;
double r382240 = r382236 + r382239;
double r382241 = 771.3234287776531;
double r382242 = 3.0;
double r382243 = r382221 + r382242;
double r382244 = r382241 / r382243;
double r382245 = r382240 + r382244;
double r382246 = -176.6150291621406;
double r382247 = 4.0;
double r382248 = r382221 + r382247;
double r382249 = r382246 / r382248;
double r382250 = r382245 + r382249;
double r382251 = 12.507343278686905;
double r382252 = 5.0;
double r382253 = r382221 + r382252;
double r382254 = r382251 / r382253;
double r382255 = r382250 + r382254;
double r382256 = -0.13857109526572012;
double r382257 = 6.0;
double r382258 = r382221 + r382257;
double r382259 = r382256 / r382258;
double r382260 = r382255 + r382259;
double r382261 = 9.984369578019572e-06;
double r382262 = r382261 / r382223;
double r382263 = r382260 + r382262;
double r382264 = 1.5056327351493116e-07;
double r382265 = 8.0;
double r382266 = r382221 + r382265;
double r382267 = r382264 / r382266;
double r382268 = r382263 + r382267;
double r382269 = r382231 * r382268;
return r382269;
}
double f(double z) {
double r382270 = z;
double r382271 = 1.0;
double r382272 = r382270 - r382271;
double r382273 = 7.0;
double r382274 = r382272 + r382273;
double r382275 = 0.5;
double r382276 = r382274 + r382275;
double r382277 = r382272 + r382275;
double r382278 = pow(r382276, r382277);
double r382279 = -r382272;
double r382280 = exp(r382279);
double r382281 = exp(r382273);
double r382282 = r382280 / r382281;
double r382283 = r382278 * r382282;
double r382284 = atan2(1.0, 0.0);
double r382285 = 2.0;
double r382286 = r382284 * r382285;
double r382287 = sqrt(r382286);
double r382288 = exp(r382275);
double r382289 = r382287 / r382288;
double r382290 = -176.6150291621406;
double r382291 = 4.0;
double r382292 = r382272 + r382291;
double r382293 = r382290 / r382292;
double r382294 = 676.5203681218851;
double r382295 = r382294 / r382270;
double r382296 = 0.9999999999998099;
double r382297 = r382295 + r382296;
double r382298 = -1259.1392167224028;
double r382299 = r382272 + r382285;
double r382300 = r382298 / r382299;
double r382301 = r382297 + r382300;
double r382302 = r382293 + r382301;
double r382303 = 771.3234287776531;
double r382304 = 3.0;
double r382305 = r382272 + r382304;
double r382306 = r382303 / r382305;
double r382307 = 12.507343278686905;
double r382308 = 5.0;
double r382309 = r382272 + r382308;
double r382310 = r382307 / r382309;
double r382311 = -0.13857109526572012;
double r382312 = 6.0;
double r382313 = r382272 + r382312;
double r382314 = r382311 / r382313;
double r382315 = r382310 + r382314;
double r382316 = 9.984369578019572e-06;
double r382317 = r382316 / r382274;
double r382318 = 1.5056327351493116e-07;
double r382319 = 8.0;
double r382320 = r382272 + r382319;
double r382321 = r382318 / r382320;
double r382322 = r382317 + r382321;
double r382323 = r382315 + r382322;
double r382324 = r382306 + r382323;
double r382325 = r382302 + r382324;
double r382326 = r382289 * r382325;
double r382327 = r382283 * r382326;
return r382327;
}



Bits error versus z
Results
Initial program 61.7
Simplified1.2
rmApplied exp-sum1.2
Applied times-frac0.9
Applied associate-*l*1.0
rmApplied exp-sum0.9
Applied associate-/r*0.9
rmApplied *-un-lft-identity0.9
Applied div-inv1.0
Applied times-frac0.9
Simplified0.9
Simplified0.9
Final simplification0.9
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)))))