\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)\left(\left(\frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8} + \left(\left(\frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6} + \left(\frac{12.507343278686905}{5 + \left(\sqrt[3]{\left(1 - z\right) - 1} \cdot \sqrt[3]{\left(1 - z\right) - 1}\right) \cdot \sqrt[3]{\left(1 - z\right) - 1}} + \left(\frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4} + \left(\frac{771.3234287776531}{3 + \left(\left(1 - z\right) - 1\right)} + \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)\right)\right)\right)\right) + \frac{9.984369578019572 \cdot 10^{-06}}{7 + \left(\left(1 - z\right) - 1\right)}\right)\right) \cdot \left(\left(\sqrt{2 \cdot \pi} \cdot {\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}^{\left(0.5 + \left(\left(1 - z\right) - 1\right)\right)}\right) \cdot e^{-\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}\right)\right) \cdot \frac{\pi}{\sin \left(\pi \cdot z\right)}double f(double z) {
double r1310533 = atan2(1.0, 0.0);
double r1310534 = z;
double r1310535 = r1310533 * r1310534;
double r1310536 = sin(r1310535);
double r1310537 = r1310533 / r1310536;
double r1310538 = 2.0;
double r1310539 = r1310533 * r1310538;
double r1310540 = sqrt(r1310539);
double r1310541 = 1.0;
double r1310542 = r1310541 - r1310534;
double r1310543 = r1310542 - r1310541;
double r1310544 = 7.0;
double r1310545 = r1310543 + r1310544;
double r1310546 = 0.5;
double r1310547 = r1310545 + r1310546;
double r1310548 = r1310543 + r1310546;
double r1310549 = pow(r1310547, r1310548);
double r1310550 = r1310540 * r1310549;
double r1310551 = -r1310547;
double r1310552 = exp(r1310551);
double r1310553 = r1310550 * r1310552;
double r1310554 = 0.9999999999998099;
double r1310555 = 676.5203681218851;
double r1310556 = r1310543 + r1310541;
double r1310557 = r1310555 / r1310556;
double r1310558 = r1310554 + r1310557;
double r1310559 = -1259.1392167224028;
double r1310560 = r1310543 + r1310538;
double r1310561 = r1310559 / r1310560;
double r1310562 = r1310558 + r1310561;
double r1310563 = 771.3234287776531;
double r1310564 = 3.0;
double r1310565 = r1310543 + r1310564;
double r1310566 = r1310563 / r1310565;
double r1310567 = r1310562 + r1310566;
double r1310568 = -176.6150291621406;
double r1310569 = 4.0;
double r1310570 = r1310543 + r1310569;
double r1310571 = r1310568 / r1310570;
double r1310572 = r1310567 + r1310571;
double r1310573 = 12.507343278686905;
double r1310574 = 5.0;
double r1310575 = r1310543 + r1310574;
double r1310576 = r1310573 / r1310575;
double r1310577 = r1310572 + r1310576;
double r1310578 = -0.13857109526572012;
double r1310579 = 6.0;
double r1310580 = r1310543 + r1310579;
double r1310581 = r1310578 / r1310580;
double r1310582 = r1310577 + r1310581;
double r1310583 = 9.984369578019572e-06;
double r1310584 = r1310583 / r1310545;
double r1310585 = r1310582 + r1310584;
double r1310586 = 1.5056327351493116e-07;
double r1310587 = 8.0;
double r1310588 = r1310543 + r1310587;
double r1310589 = r1310586 / r1310588;
double r1310590 = r1310585 + r1310589;
double r1310591 = r1310553 * r1310590;
double r1310592 = r1310537 * r1310591;
return r1310592;
}
double f(double z) {
double r1310593 = 1.5056327351493116e-07;
double r1310594 = 1.0;
double r1310595 = z;
double r1310596 = r1310594 - r1310595;
double r1310597 = r1310596 - r1310594;
double r1310598 = 8.0;
double r1310599 = r1310597 + r1310598;
double r1310600 = r1310593 / r1310599;
double r1310601 = -0.13857109526572012;
double r1310602 = 6.0;
double r1310603 = r1310597 + r1310602;
double r1310604 = r1310601 / r1310603;
double r1310605 = 12.507343278686905;
double r1310606 = 5.0;
double r1310607 = cbrt(r1310597);
double r1310608 = r1310607 * r1310607;
double r1310609 = r1310608 * r1310607;
double r1310610 = r1310606 + r1310609;
double r1310611 = r1310605 / r1310610;
double r1310612 = -176.6150291621406;
double r1310613 = 4.0;
double r1310614 = r1310597 + r1310613;
double r1310615 = r1310612 / r1310614;
double r1310616 = 771.3234287776531;
double r1310617 = 3.0;
double r1310618 = r1310617 + r1310597;
double r1310619 = r1310616 / r1310618;
double r1310620 = 0.9999999999998099;
double r1310621 = 676.5203681218851;
double r1310622 = r1310597 + r1310594;
double r1310623 = r1310621 / r1310622;
double r1310624 = r1310620 + r1310623;
double r1310625 = -1259.1392167224028;
double r1310626 = 2.0;
double r1310627 = r1310597 + r1310626;
double r1310628 = r1310625 / r1310627;
double r1310629 = r1310624 + r1310628;
double r1310630 = r1310619 + r1310629;
double r1310631 = r1310615 + r1310630;
double r1310632 = r1310611 + r1310631;
double r1310633 = r1310604 + r1310632;
double r1310634 = 9.984369578019572e-06;
double r1310635 = 7.0;
double r1310636 = r1310635 + r1310597;
double r1310637 = r1310634 / r1310636;
double r1310638 = r1310633 + r1310637;
double r1310639 = r1310600 + r1310638;
double r1310640 = atan2(1.0, 0.0);
double r1310641 = r1310626 * r1310640;
double r1310642 = sqrt(r1310641);
double r1310643 = 0.5;
double r1310644 = r1310636 + r1310643;
double r1310645 = r1310643 + r1310597;
double r1310646 = pow(r1310644, r1310645);
double r1310647 = r1310642 * r1310646;
double r1310648 = -r1310644;
double r1310649 = exp(r1310648);
double r1310650 = r1310647 * r1310649;
double r1310651 = r1310639 * r1310650;
double r1310652 = r1310640 * r1310595;
double r1310653 = sin(r1310652);
double r1310654 = r1310640 / r1310653;
double r1310655 = r1310651 * r1310654;
return r1310655;
}



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