\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(e^{-6} \cdot \frac{\sqrt{2 \cdot \pi} \cdot {\left(\left(z - -6\right) + 0.5\right)}^{z}}{{\left(\left(z - -6\right) + 0.5\right)}^{\left(1 - 0.5\right)} \cdot e^{z + 0.5}}\right) \cdot \left(\left(\frac{-0.13857109526572012}{z + 5} + \left(\frac{1.5056327351493116 \cdot 10^{-07}}{z + 7} + \frac{9.984369578019572 \cdot 10^{-06}}{6 + z}\right)\right) + \left(\frac{-176.6150291621406}{3 + z} + \left(\left(\frac{771.3234287776531}{2 + z} + \left(\frac{-1259.1392167224028}{1 + z} + \frac{676.5203681218851}{z}\right)\right) + \left(0.9999999999998099 + \frac{12.507343278686905}{4 + z}\right)\right)\right)\right)double f(double z) {
double r9197376 = atan2(1.0, 0.0);
double r9197377 = 2.0;
double r9197378 = r9197376 * r9197377;
double r9197379 = sqrt(r9197378);
double r9197380 = z;
double r9197381 = 1.0;
double r9197382 = r9197380 - r9197381;
double r9197383 = 7.0;
double r9197384 = r9197382 + r9197383;
double r9197385 = 0.5;
double r9197386 = r9197384 + r9197385;
double r9197387 = r9197382 + r9197385;
double r9197388 = pow(r9197386, r9197387);
double r9197389 = r9197379 * r9197388;
double r9197390 = -r9197386;
double r9197391 = exp(r9197390);
double r9197392 = r9197389 * r9197391;
double r9197393 = 0.9999999999998099;
double r9197394 = 676.5203681218851;
double r9197395 = r9197382 + r9197381;
double r9197396 = r9197394 / r9197395;
double r9197397 = r9197393 + r9197396;
double r9197398 = -1259.1392167224028;
double r9197399 = r9197382 + r9197377;
double r9197400 = r9197398 / r9197399;
double r9197401 = r9197397 + r9197400;
double r9197402 = 771.3234287776531;
double r9197403 = 3.0;
double r9197404 = r9197382 + r9197403;
double r9197405 = r9197402 / r9197404;
double r9197406 = r9197401 + r9197405;
double r9197407 = -176.6150291621406;
double r9197408 = 4.0;
double r9197409 = r9197382 + r9197408;
double r9197410 = r9197407 / r9197409;
double r9197411 = r9197406 + r9197410;
double r9197412 = 12.507343278686905;
double r9197413 = 5.0;
double r9197414 = r9197382 + r9197413;
double r9197415 = r9197412 / r9197414;
double r9197416 = r9197411 + r9197415;
double r9197417 = -0.13857109526572012;
double r9197418 = 6.0;
double r9197419 = r9197382 + r9197418;
double r9197420 = r9197417 / r9197419;
double r9197421 = r9197416 + r9197420;
double r9197422 = 9.984369578019572e-06;
double r9197423 = r9197422 / r9197384;
double r9197424 = r9197421 + r9197423;
double r9197425 = 1.5056327351493116e-07;
double r9197426 = 8.0;
double r9197427 = r9197382 + r9197426;
double r9197428 = r9197425 / r9197427;
double r9197429 = r9197424 + r9197428;
double r9197430 = r9197392 * r9197429;
return r9197430;
}
double f(double z) {
double r9197431 = -6.0;
double r9197432 = exp(r9197431);
double r9197433 = 2.0;
double r9197434 = atan2(1.0, 0.0);
double r9197435 = r9197433 * r9197434;
double r9197436 = sqrt(r9197435);
double r9197437 = z;
double r9197438 = r9197437 - r9197431;
double r9197439 = 0.5;
double r9197440 = r9197438 + r9197439;
double r9197441 = pow(r9197440, r9197437);
double r9197442 = r9197436 * r9197441;
double r9197443 = 1.0;
double r9197444 = r9197443 - r9197439;
double r9197445 = pow(r9197440, r9197444);
double r9197446 = r9197437 + r9197439;
double r9197447 = exp(r9197446);
double r9197448 = r9197445 * r9197447;
double r9197449 = r9197442 / r9197448;
double r9197450 = r9197432 * r9197449;
double r9197451 = -0.13857109526572012;
double r9197452 = 5.0;
double r9197453 = r9197437 + r9197452;
double r9197454 = r9197451 / r9197453;
double r9197455 = 1.5056327351493116e-07;
double r9197456 = 7.0;
double r9197457 = r9197437 + r9197456;
double r9197458 = r9197455 / r9197457;
double r9197459 = 9.984369578019572e-06;
double r9197460 = 6.0;
double r9197461 = r9197460 + r9197437;
double r9197462 = r9197459 / r9197461;
double r9197463 = r9197458 + r9197462;
double r9197464 = r9197454 + r9197463;
double r9197465 = -176.6150291621406;
double r9197466 = 3.0;
double r9197467 = r9197466 + r9197437;
double r9197468 = r9197465 / r9197467;
double r9197469 = 771.3234287776531;
double r9197470 = r9197433 + r9197437;
double r9197471 = r9197469 / r9197470;
double r9197472 = -1259.1392167224028;
double r9197473 = r9197443 + r9197437;
double r9197474 = r9197472 / r9197473;
double r9197475 = 676.5203681218851;
double r9197476 = r9197475 / r9197437;
double r9197477 = r9197474 + r9197476;
double r9197478 = r9197471 + r9197477;
double r9197479 = 0.9999999999998099;
double r9197480 = 12.507343278686905;
double r9197481 = 4.0;
double r9197482 = r9197481 + r9197437;
double r9197483 = r9197480 / r9197482;
double r9197484 = r9197479 + r9197483;
double r9197485 = r9197478 + r9197484;
double r9197486 = r9197468 + r9197485;
double r9197487 = r9197464 + r9197486;
double r9197488 = r9197450 * r9197487;
return r9197488;
}



Bits error versus z
Results
Initial program 59.9
Simplified1.0
rmApplied pow-sub1.0
Applied associate-*l/1.0
Applied associate-/l/0.8
rmApplied associate-+r-0.8
Applied exp-diff0.7
Applied associate-*l/0.7
Applied associate-/r/0.7
Final simplification0.7
herbie shell --seed 2019164
(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)))))