\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.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \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.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\sqrt[3]{{\left(\left(1 - z\right) - 1\right)}^{3}} + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r147615 = atan2(1.0, 0.0);
double r147616 = z;
double r147617 = r147615 * r147616;
double r147618 = sin(r147617);
double r147619 = r147615 / r147618;
double r147620 = 2.0;
double r147621 = r147615 * r147620;
double r147622 = sqrt(r147621);
double r147623 = 1.0;
double r147624 = r147623 - r147616;
double r147625 = r147624 - r147623;
double r147626 = 7.0;
double r147627 = r147625 + r147626;
double r147628 = 0.5;
double r147629 = r147627 + r147628;
double r147630 = r147625 + r147628;
double r147631 = pow(r147629, r147630);
double r147632 = r147622 * r147631;
double r147633 = -r147629;
double r147634 = exp(r147633);
double r147635 = r147632 * r147634;
double r147636 = 0.9999999999998099;
double r147637 = 676.5203681218851;
double r147638 = r147625 + r147623;
double r147639 = r147637 / r147638;
double r147640 = r147636 + r147639;
double r147641 = -1259.1392167224028;
double r147642 = r147625 + r147620;
double r147643 = r147641 / r147642;
double r147644 = r147640 + r147643;
double r147645 = 771.3234287776531;
double r147646 = 3.0;
double r147647 = r147625 + r147646;
double r147648 = r147645 / r147647;
double r147649 = r147644 + r147648;
double r147650 = -176.6150291621406;
double r147651 = 4.0;
double r147652 = r147625 + r147651;
double r147653 = r147650 / r147652;
double r147654 = r147649 + r147653;
double r147655 = 12.507343278686905;
double r147656 = 5.0;
double r147657 = r147625 + r147656;
double r147658 = r147655 / r147657;
double r147659 = r147654 + r147658;
double r147660 = -0.13857109526572012;
double r147661 = 6.0;
double r147662 = r147625 + r147661;
double r147663 = r147660 / r147662;
double r147664 = r147659 + r147663;
double r147665 = 9.984369578019572e-06;
double r147666 = r147665 / r147627;
double r147667 = r147664 + r147666;
double r147668 = 1.5056327351493116e-07;
double r147669 = 8.0;
double r147670 = r147625 + r147669;
double r147671 = r147668 / r147670;
double r147672 = r147667 + r147671;
double r147673 = r147635 * r147672;
double r147674 = r147619 * r147673;
return r147674;
}
double f(double z) {
double r147675 = atan2(1.0, 0.0);
double r147676 = z;
double r147677 = r147675 * r147676;
double r147678 = sin(r147677);
double r147679 = r147675 / r147678;
double r147680 = 2.0;
double r147681 = r147675 * r147680;
double r147682 = sqrt(r147681);
double r147683 = 1.0;
double r147684 = r147683 - r147676;
double r147685 = r147684 - r147683;
double r147686 = 7.0;
double r147687 = r147685 + r147686;
double r147688 = 0.5;
double r147689 = r147687 + r147688;
double r147690 = r147685 + r147688;
double r147691 = pow(r147689, r147690);
double r147692 = r147682 * r147691;
double r147693 = -r147689;
double r147694 = exp(r147693);
double r147695 = r147692 * r147694;
double r147696 = 0.9999999999998099;
double r147697 = 676.5203681218851;
double r147698 = r147685 + r147683;
double r147699 = r147697 / r147698;
double r147700 = r147696 + r147699;
double r147701 = -1259.1392167224028;
double r147702 = r147685 + r147680;
double r147703 = r147701 / r147702;
double r147704 = r147700 + r147703;
double r147705 = 771.3234287776531;
double r147706 = 3.0;
double r147707 = r147685 + r147706;
double r147708 = r147705 / r147707;
double r147709 = r147704 + r147708;
double r147710 = -176.6150291621406;
double r147711 = 4.0;
double r147712 = r147685 + r147711;
double r147713 = r147710 / r147712;
double r147714 = r147709 + r147713;
double r147715 = 12.507343278686905;
double r147716 = 3.0;
double r147717 = pow(r147685, r147716);
double r147718 = cbrt(r147717);
double r147719 = 5.0;
double r147720 = r147718 + r147719;
double r147721 = r147715 / r147720;
double r147722 = r147714 + r147721;
double r147723 = -0.13857109526572012;
double r147724 = 6.0;
double r147725 = r147685 + r147724;
double r147726 = r147723 / r147725;
double r147727 = r147722 + r147726;
double r147728 = 9.984369578019572e-06;
double r147729 = r147728 / r147687;
double r147730 = r147727 + r147729;
double r147731 = 1.5056327351493116e-07;
double r147732 = 8.0;
double r147733 = r147685 + r147732;
double r147734 = r147731 / r147733;
double r147735 = r147730 + r147734;
double r147736 = r147695 * r147735;
double r147737 = r147679 * r147736;
return r147737;
}



Bits error versus z
Results
Initial program 1.8
rmApplied add-cbrt-cube1.8
Simplified1.8
Final simplification1.8
herbie shell --seed 2019352 +o rules:numerics
(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))))))