\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r122492 = atan2(1.0, 0.0);
double r122493 = z;
double r122494 = r122492 * r122493;
double r122495 = sin(r122494);
double r122496 = r122492 / r122495;
double r122497 = 2.0;
double r122498 = r122492 * r122497;
double r122499 = sqrt(r122498);
double r122500 = 1.0;
double r122501 = r122500 - r122493;
double r122502 = r122501 - r122500;
double r122503 = 7.0;
double r122504 = r122502 + r122503;
double r122505 = 0.5;
double r122506 = r122504 + r122505;
double r122507 = r122502 + r122505;
double r122508 = pow(r122506, r122507);
double r122509 = r122499 * r122508;
double r122510 = -r122506;
double r122511 = exp(r122510);
double r122512 = r122509 * r122511;
double r122513 = 0.9999999999998099;
double r122514 = 676.5203681218851;
double r122515 = r122502 + r122500;
double r122516 = r122514 / r122515;
double r122517 = r122513 + r122516;
double r122518 = -1259.1392167224028;
double r122519 = r122502 + r122497;
double r122520 = r122518 / r122519;
double r122521 = r122517 + r122520;
double r122522 = 771.3234287776531;
double r122523 = 3.0;
double r122524 = r122502 + r122523;
double r122525 = r122522 / r122524;
double r122526 = r122521 + r122525;
double r122527 = -176.6150291621406;
double r122528 = 4.0;
double r122529 = r122502 + r122528;
double r122530 = r122527 / r122529;
double r122531 = r122526 + r122530;
double r122532 = 12.507343278686905;
double r122533 = 5.0;
double r122534 = r122502 + r122533;
double r122535 = r122532 / r122534;
double r122536 = r122531 + r122535;
double r122537 = -0.13857109526572012;
double r122538 = 6.0;
double r122539 = r122502 + r122538;
double r122540 = r122537 / r122539;
double r122541 = r122536 + r122540;
double r122542 = 9.984369578019572e-06;
double r122543 = r122542 / r122504;
double r122544 = r122541 + r122543;
double r122545 = 1.5056327351493116e-07;
double r122546 = 8.0;
double r122547 = r122502 + r122546;
double r122548 = r122545 / r122547;
double r122549 = r122544 + r122548;
double r122550 = r122512 * r122549;
double r122551 = r122496 * r122550;
return r122551;
}
double f(double z) {
double r122552 = atan2(1.0, 0.0);
double r122553 = z;
double r122554 = r122552 * r122553;
double r122555 = sin(r122554);
double r122556 = r122552 / r122555;
double r122557 = 2.0;
double r122558 = r122552 * r122557;
double r122559 = sqrt(r122558);
double r122560 = 1.0;
double r122561 = r122560 - r122553;
double r122562 = r122561 - r122560;
double r122563 = 7.0;
double r122564 = r122562 + r122563;
double r122565 = 0.5;
double r122566 = r122564 + r122565;
double r122567 = r122562 + r122565;
double r122568 = pow(r122566, r122567);
double r122569 = r122559 * r122568;
double r122570 = -r122566;
double r122571 = exp(r122570);
double r122572 = r122569 * r122571;
double r122573 = 0.9999999999998099;
double r122574 = 676.5203681218851;
double r122575 = r122562 + r122560;
double r122576 = r122574 / r122575;
double r122577 = r122573 + r122576;
double r122578 = -1259.1392167224028;
double r122579 = r122562 + r122557;
double r122580 = r122578 / r122579;
double r122581 = r122577 + r122580;
double r122582 = 771.3234287776531;
double r122583 = 3.0;
double r122584 = r122562 + r122583;
double r122585 = r122582 / r122584;
double r122586 = r122581 + r122585;
double r122587 = -176.6150291621406;
double r122588 = 4.0;
double r122589 = r122562 + r122588;
double r122590 = r122587 / r122589;
double r122591 = r122586 + r122590;
double r122592 = 12.507343278686905;
double r122593 = 5.0;
double r122594 = r122562 + r122593;
double r122595 = r122592 / r122594;
double r122596 = r122591 + r122595;
double r122597 = -0.13857109526572012;
double r122598 = 6.0;
double r122599 = r122562 + r122598;
double r122600 = r122597 / r122599;
double r122601 = r122596 + r122600;
double r122602 = 9.984369578019572e-06;
double r122603 = r122602 / r122564;
double r122604 = r122601 + r122603;
double r122605 = 1.5056327351493116e-07;
double r122606 = 8.0;
double r122607 = r122562 + r122606;
double r122608 = r122605 / r122607;
double r122609 = r122604 + r122608;
double r122610 = r122572 * r122609;
double r122611 = r122556 * r122610;
return r122611;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020049
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
:precision binary64
(* (/ 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))))))