\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 r528 = atan2(1.0, 0.0);
double r529 = z;
double r530 = r528 * r529;
double r531 = sin(r530);
double r532 = r528 / r531;
double r533 = 2.0;
double r534 = r528 * r533;
double r535 = sqrt(r534);
double r536 = 1.0;
double r537 = r536 - r529;
double r538 = r537 - r536;
double r539 = 7.0;
double r540 = r538 + r539;
double r541 = 0.5;
double r542 = r540 + r541;
double r543 = r538 + r541;
double r544 = pow(r542, r543);
double r545 = r535 * r544;
double r546 = -r542;
double r547 = exp(r546);
double r548 = r545 * r547;
double r549 = 0.9999999999998099;
double r550 = 676.5203681218851;
double r551 = r538 + r536;
double r552 = r550 / r551;
double r553 = r549 + r552;
double r554 = -1259.1392167224028;
double r555 = r538 + r533;
double r556 = r554 / r555;
double r557 = r553 + r556;
double r558 = 771.3234287776531;
double r559 = 3.0;
double r560 = r538 + r559;
double r561 = r558 / r560;
double r562 = r557 + r561;
double r563 = -176.6150291621406;
double r564 = 4.0;
double r565 = r538 + r564;
double r566 = r563 / r565;
double r567 = r562 + r566;
double r568 = 12.507343278686905;
double r569 = 5.0;
double r570 = r538 + r569;
double r571 = r568 / r570;
double r572 = r567 + r571;
double r573 = -0.13857109526572012;
double r574 = 6.0;
double r575 = r538 + r574;
double r576 = r573 / r575;
double r577 = r572 + r576;
double r578 = 9.984369578019572e-06;
double r579 = r578 / r540;
double r580 = r577 + r579;
double r581 = 1.5056327351493116e-07;
double r582 = 8.0;
double r583 = r538 + r582;
double r584 = r581 / r583;
double r585 = r580 + r584;
double r586 = r548 * r585;
double r587 = r532 * r586;
return r587;
}
double f(double z) {
double r588 = atan2(1.0, 0.0);
double r589 = z;
double r590 = r588 * r589;
double r591 = sin(r590);
double r592 = r588 / r591;
double r593 = 2.0;
double r594 = r588 * r593;
double r595 = sqrt(r594);
double r596 = 1.0;
double r597 = r596 - r589;
double r598 = r597 - r596;
double r599 = 7.0;
double r600 = r598 + r599;
double r601 = 0.5;
double r602 = r600 + r601;
double r603 = r598 + r601;
double r604 = pow(r602, r603);
double r605 = r595 * r604;
double r606 = -r602;
double r607 = exp(r606);
double r608 = r605 * r607;
double r609 = 0.9999999999998099;
double r610 = 676.5203681218851;
double r611 = r598 + r596;
double r612 = r610 / r611;
double r613 = r609 + r612;
double r614 = -1259.1392167224028;
double r615 = r598 + r593;
double r616 = r614 / r615;
double r617 = r613 + r616;
double r618 = 771.3234287776531;
double r619 = 3.0;
double r620 = r598 + r619;
double r621 = r618 / r620;
double r622 = r617 + r621;
double r623 = -176.6150291621406;
double r624 = 4.0;
double r625 = r598 + r624;
double r626 = r623 / r625;
double r627 = r622 + r626;
double r628 = 12.507343278686905;
double r629 = 5.0;
double r630 = r598 + r629;
double r631 = r628 / r630;
double r632 = r627 + r631;
double r633 = -0.13857109526572012;
double r634 = 6.0;
double r635 = r598 + r634;
double r636 = r633 / r635;
double r637 = r632 + r636;
double r638 = 9.984369578019572e-06;
double r639 = r638 / r600;
double r640 = r637 + r639;
double r641 = 1.5056327351493116e-07;
double r642 = 8.0;
double r643 = r598 + r642;
double r644 = r641 / r643;
double r645 = r640 + r644;
double r646 = r608 * r645;
double r647 = r592 * r646;
return r647;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020025
(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))))))