\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(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}}{e^{\left(z - 1\right) + 7}} \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 r341313 = atan2(1.0, 0.0);
double r341314 = 2.0;
double r341315 = r341313 * r341314;
double r341316 = sqrt(r341315);
double r341317 = z;
double r341318 = 1.0;
double r341319 = r341317 - r341318;
double r341320 = 7.0;
double r341321 = r341319 + r341320;
double r341322 = 0.5;
double r341323 = r341321 + r341322;
double r341324 = r341319 + r341322;
double r341325 = pow(r341323, r341324);
double r341326 = r341316 * r341325;
double r341327 = -r341323;
double r341328 = exp(r341327);
double r341329 = r341326 * r341328;
double r341330 = 0.9999999999998099;
double r341331 = 676.5203681218851;
double r341332 = r341319 + r341318;
double r341333 = r341331 / r341332;
double r341334 = r341330 + r341333;
double r341335 = -1259.1392167224028;
double r341336 = r341319 + r341314;
double r341337 = r341335 / r341336;
double r341338 = r341334 + r341337;
double r341339 = 771.3234287776531;
double r341340 = 3.0;
double r341341 = r341319 + r341340;
double r341342 = r341339 / r341341;
double r341343 = r341338 + r341342;
double r341344 = -176.6150291621406;
double r341345 = 4.0;
double r341346 = r341319 + r341345;
double r341347 = r341344 / r341346;
double r341348 = r341343 + r341347;
double r341349 = 12.507343278686905;
double r341350 = 5.0;
double r341351 = r341319 + r341350;
double r341352 = r341349 / r341351;
double r341353 = r341348 + r341352;
double r341354 = -0.13857109526572012;
double r341355 = 6.0;
double r341356 = r341319 + r341355;
double r341357 = r341354 / r341356;
double r341358 = r341353 + r341357;
double r341359 = 9.984369578019572e-06;
double r341360 = r341359 / r341321;
double r341361 = r341358 + r341360;
double r341362 = 1.5056327351493116e-07;
double r341363 = 8.0;
double r341364 = r341319 + r341363;
double r341365 = r341362 / r341364;
double r341366 = r341361 + r341365;
double r341367 = r341329 * r341366;
return r341367;
}
double f(double z) {
double r341368 = z;
double r341369 = 1.0;
double r341370 = r341368 - r341369;
double r341371 = 7.0;
double r341372 = r341370 + r341371;
double r341373 = 0.5;
double r341374 = r341372 + r341373;
double r341375 = r341370 + r341373;
double r341376 = pow(r341374, r341375);
double r341377 = exp(r341372);
double r341378 = r341376 / r341377;
double r341379 = atan2(1.0, 0.0);
double r341380 = 2.0;
double r341381 = r341379 * r341380;
double r341382 = sqrt(r341381);
double r341383 = exp(r341373);
double r341384 = r341382 / r341383;
double r341385 = -176.6150291621406;
double r341386 = 4.0;
double r341387 = r341370 + r341386;
double r341388 = r341385 / r341387;
double r341389 = 676.5203681218851;
double r341390 = r341389 / r341368;
double r341391 = 0.9999999999998099;
double r341392 = r341390 + r341391;
double r341393 = -1259.1392167224028;
double r341394 = r341370 + r341380;
double r341395 = r341393 / r341394;
double r341396 = r341392 + r341395;
double r341397 = r341388 + r341396;
double r341398 = 771.3234287776531;
double r341399 = 3.0;
double r341400 = r341370 + r341399;
double r341401 = r341398 / r341400;
double r341402 = 12.507343278686905;
double r341403 = 5.0;
double r341404 = r341370 + r341403;
double r341405 = r341402 / r341404;
double r341406 = -0.13857109526572012;
double r341407 = 6.0;
double r341408 = r341370 + r341407;
double r341409 = r341406 / r341408;
double r341410 = r341405 + r341409;
double r341411 = 9.984369578019572e-06;
double r341412 = r341411 / r341372;
double r341413 = 1.5056327351493116e-07;
double r341414 = 8.0;
double r341415 = r341370 + r341414;
double r341416 = r341413 / r341415;
double r341417 = r341412 + r341416;
double r341418 = r341410 + r341417;
double r341419 = r341401 + r341418;
double r341420 = r341397 + r341419;
double r341421 = r341384 * r341420;
double r341422 = r341378 * r341421;
return r341422;
}



Bits error versus z
Results
Initial program 61.7
Simplified1.1
rmApplied exp-sum1.1
Applied times-frac0.9
Applied associate-*l*0.9
Final simplification0.9
herbie shell --seed 2019326
(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)))))