\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \left(\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}^{\left(\left(\left(1 - z\right) - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\frac{\pi}{\frac{\frac{\sin \left(\pi \cdot z\right)}{\sqrt{2 \cdot \pi}}}{\left(\left(\frac{-0.13857109526572012}{6 + \left(-z\right)} + \frac{12.507343278686905}{5 + \left(-z\right)}\right) + \left(\frac{1.5056327351493116 \cdot 10^{-07}}{8 + \left(-z\right)} + \left(\left(\left(\frac{-1259.1392167224028}{2 + \left(-z\right)} + \left(\frac{771.3234287776531}{3 + \left(-z\right)} + \frac{-176.6150291621406}{\left(-z\right) + 4}\right)\right) + \frac{676.5203681218851}{1 - z}\right) + \left(0.9999999999998099 + \frac{9.984369578019572 \cdot 10^{-06}}{\left(-z\right) + 7}\right)\right)\right)\right) \cdot \left(\frac{1}{e^{7 + 0.5}} \cdot \frac{{\left(\left(7 + 0.5\right) + \left(-z\right)\right)}^{\left(0.5 + \left(-z\right)\right)}}{e^{-z}}\right)}}double f(double z) {
double r5636466 = atan2(1.0, 0.0);
double r5636467 = z;
double r5636468 = r5636466 * r5636467;
double r5636469 = sin(r5636468);
double r5636470 = r5636466 / r5636469;
double r5636471 = 2.0;
double r5636472 = r5636466 * r5636471;
double r5636473 = sqrt(r5636472);
double r5636474 = 1.0;
double r5636475 = r5636474 - r5636467;
double r5636476 = r5636475 - r5636474;
double r5636477 = 7.0;
double r5636478 = r5636476 + r5636477;
double r5636479 = 0.5;
double r5636480 = r5636478 + r5636479;
double r5636481 = r5636476 + r5636479;
double r5636482 = pow(r5636480, r5636481);
double r5636483 = r5636473 * r5636482;
double r5636484 = -r5636480;
double r5636485 = exp(r5636484);
double r5636486 = r5636483 * r5636485;
double r5636487 = 0.9999999999998099;
double r5636488 = 676.5203681218851;
double r5636489 = r5636476 + r5636474;
double r5636490 = r5636488 / r5636489;
double r5636491 = r5636487 + r5636490;
double r5636492 = -1259.1392167224028;
double r5636493 = r5636476 + r5636471;
double r5636494 = r5636492 / r5636493;
double r5636495 = r5636491 + r5636494;
double r5636496 = 771.3234287776531;
double r5636497 = 3.0;
double r5636498 = r5636476 + r5636497;
double r5636499 = r5636496 / r5636498;
double r5636500 = r5636495 + r5636499;
double r5636501 = -176.6150291621406;
double r5636502 = 4.0;
double r5636503 = r5636476 + r5636502;
double r5636504 = r5636501 / r5636503;
double r5636505 = r5636500 + r5636504;
double r5636506 = 12.507343278686905;
double r5636507 = 5.0;
double r5636508 = r5636476 + r5636507;
double r5636509 = r5636506 / r5636508;
double r5636510 = r5636505 + r5636509;
double r5636511 = -0.13857109526572012;
double r5636512 = 6.0;
double r5636513 = r5636476 + r5636512;
double r5636514 = r5636511 / r5636513;
double r5636515 = r5636510 + r5636514;
double r5636516 = 9.984369578019572e-06;
double r5636517 = r5636516 / r5636478;
double r5636518 = r5636515 + r5636517;
double r5636519 = 1.5056327351493116e-07;
double r5636520 = 8.0;
double r5636521 = r5636476 + r5636520;
double r5636522 = r5636519 / r5636521;
double r5636523 = r5636518 + r5636522;
double r5636524 = r5636486 * r5636523;
double r5636525 = r5636470 * r5636524;
return r5636525;
}
double f(double z) {
double r5636526 = atan2(1.0, 0.0);
double r5636527 = z;
double r5636528 = r5636526 * r5636527;
double r5636529 = sin(r5636528);
double r5636530 = 2.0;
double r5636531 = r5636530 * r5636526;
double r5636532 = sqrt(r5636531);
double r5636533 = r5636529 / r5636532;
double r5636534 = -0.13857109526572012;
double r5636535 = 6.0;
double r5636536 = -r5636527;
double r5636537 = r5636535 + r5636536;
double r5636538 = r5636534 / r5636537;
double r5636539 = 12.507343278686905;
double r5636540 = 5.0;
double r5636541 = r5636540 + r5636536;
double r5636542 = r5636539 / r5636541;
double r5636543 = r5636538 + r5636542;
double r5636544 = 1.5056327351493116e-07;
double r5636545 = 8.0;
double r5636546 = r5636545 + r5636536;
double r5636547 = r5636544 / r5636546;
double r5636548 = -1259.1392167224028;
double r5636549 = r5636530 + r5636536;
double r5636550 = r5636548 / r5636549;
double r5636551 = 771.3234287776531;
double r5636552 = 3.0;
double r5636553 = r5636552 + r5636536;
double r5636554 = r5636551 / r5636553;
double r5636555 = -176.6150291621406;
double r5636556 = 4.0;
double r5636557 = r5636536 + r5636556;
double r5636558 = r5636555 / r5636557;
double r5636559 = r5636554 + r5636558;
double r5636560 = r5636550 + r5636559;
double r5636561 = 676.5203681218851;
double r5636562 = 1.0;
double r5636563 = r5636562 - r5636527;
double r5636564 = r5636561 / r5636563;
double r5636565 = r5636560 + r5636564;
double r5636566 = 0.9999999999998099;
double r5636567 = 9.984369578019572e-06;
double r5636568 = 7.0;
double r5636569 = r5636536 + r5636568;
double r5636570 = r5636567 / r5636569;
double r5636571 = r5636566 + r5636570;
double r5636572 = r5636565 + r5636571;
double r5636573 = r5636547 + r5636572;
double r5636574 = r5636543 + r5636573;
double r5636575 = 0.5;
double r5636576 = r5636568 + r5636575;
double r5636577 = exp(r5636576);
double r5636578 = r5636562 / r5636577;
double r5636579 = r5636576 + r5636536;
double r5636580 = r5636575 + r5636536;
double r5636581 = pow(r5636579, r5636580);
double r5636582 = exp(r5636536);
double r5636583 = r5636581 / r5636582;
double r5636584 = r5636578 * r5636583;
double r5636585 = r5636574 * r5636584;
double r5636586 = r5636533 / r5636585;
double r5636587 = r5636526 / r5636586;
return r5636587;
}



Bits error versus z
Results
Initial program 1.8
Simplified0.5
rmApplied exp-sum0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Final simplification0.5
herbie shell --seed 2019134 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2)) (pow (+ (+ (- (- 1 z) 1) 7) 0.5) (+ (- (- 1 z) 1) 0.5))) (exp (- (+ (+ (- (- 1 z) 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1 z) 1) 1))) (/ -1259.1392167224028 (+ (- (- 1 z) 1) 2))) (/ 771.3234287776531 (+ (- (- 1 z) 1) 3))) (/ -176.6150291621406 (+ (- (- 1 z) 1) 4))) (/ 12.507343278686905 (+ (- (- 1 z) 1) 5))) (/ -0.13857109526572012 (+ (- (- 1 z) 1) 6))) (/ 9.984369578019572e-06 (+ (- (- 1 z) 1) 7))) (/ 1.5056327351493116e-07 (+ (- (- 1 z) 1) 8))))))