\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 r114723 = atan2(1.0, 0.0);
double r114724 = z;
double r114725 = r114723 * r114724;
double r114726 = sin(r114725);
double r114727 = r114723 / r114726;
double r114728 = 2.0;
double r114729 = r114723 * r114728;
double r114730 = sqrt(r114729);
double r114731 = 1.0;
double r114732 = r114731 - r114724;
double r114733 = r114732 - r114731;
double r114734 = 7.0;
double r114735 = r114733 + r114734;
double r114736 = 0.5;
double r114737 = r114735 + r114736;
double r114738 = r114733 + r114736;
double r114739 = pow(r114737, r114738);
double r114740 = r114730 * r114739;
double r114741 = -r114737;
double r114742 = exp(r114741);
double r114743 = r114740 * r114742;
double r114744 = 0.9999999999998099;
double r114745 = 676.5203681218851;
double r114746 = r114733 + r114731;
double r114747 = r114745 / r114746;
double r114748 = r114744 + r114747;
double r114749 = -1259.1392167224028;
double r114750 = r114733 + r114728;
double r114751 = r114749 / r114750;
double r114752 = r114748 + r114751;
double r114753 = 771.3234287776531;
double r114754 = 3.0;
double r114755 = r114733 + r114754;
double r114756 = r114753 / r114755;
double r114757 = r114752 + r114756;
double r114758 = -176.6150291621406;
double r114759 = 4.0;
double r114760 = r114733 + r114759;
double r114761 = r114758 / r114760;
double r114762 = r114757 + r114761;
double r114763 = 12.507343278686905;
double r114764 = 5.0;
double r114765 = r114733 + r114764;
double r114766 = r114763 / r114765;
double r114767 = r114762 + r114766;
double r114768 = -0.13857109526572012;
double r114769 = 6.0;
double r114770 = r114733 + r114769;
double r114771 = r114768 / r114770;
double r114772 = r114767 + r114771;
double r114773 = 9.984369578019572e-06;
double r114774 = r114773 / r114735;
double r114775 = r114772 + r114774;
double r114776 = 1.5056327351493116e-07;
double r114777 = 8.0;
double r114778 = r114733 + r114777;
double r114779 = r114776 / r114778;
double r114780 = r114775 + r114779;
double r114781 = r114743 * r114780;
double r114782 = r114727 * r114781;
return r114782;
}
double f(double z) {
double r114783 = atan2(1.0, 0.0);
double r114784 = z;
double r114785 = r114783 * r114784;
double r114786 = sin(r114785);
double r114787 = r114783 / r114786;
double r114788 = 2.0;
double r114789 = r114783 * r114788;
double r114790 = sqrt(r114789);
double r114791 = 1.0;
double r114792 = r114791 - r114784;
double r114793 = r114792 - r114791;
double r114794 = 7.0;
double r114795 = r114793 + r114794;
double r114796 = 0.5;
double r114797 = r114795 + r114796;
double r114798 = r114793 + r114796;
double r114799 = pow(r114797, r114798);
double r114800 = r114790 * r114799;
double r114801 = -r114797;
double r114802 = exp(r114801);
double r114803 = r114800 * r114802;
double r114804 = 0.9999999999998099;
double r114805 = 676.5203681218851;
double r114806 = r114793 + r114791;
double r114807 = r114805 / r114806;
double r114808 = r114804 + r114807;
double r114809 = -1259.1392167224028;
double r114810 = r114793 + r114788;
double r114811 = r114809 / r114810;
double r114812 = r114808 + r114811;
double r114813 = 771.3234287776531;
double r114814 = 3.0;
double r114815 = r114793 + r114814;
double r114816 = r114813 / r114815;
double r114817 = r114812 + r114816;
double r114818 = -176.6150291621406;
double r114819 = 4.0;
double r114820 = r114793 + r114819;
double r114821 = r114818 / r114820;
double r114822 = r114817 + r114821;
double r114823 = 12.507343278686905;
double r114824 = 5.0;
double r114825 = r114793 + r114824;
double r114826 = r114823 / r114825;
double r114827 = r114822 + r114826;
double r114828 = -0.13857109526572012;
double r114829 = 6.0;
double r114830 = r114793 + r114829;
double r114831 = r114828 / r114830;
double r114832 = r114827 + r114831;
double r114833 = 9.984369578019572e-06;
double r114834 = r114833 / r114795;
double r114835 = r114832 + r114834;
double r114836 = 1.5056327351493116e-07;
double r114837 = 8.0;
double r114838 = r114793 + r114837;
double r114839 = r114836 / r114838;
double r114840 = r114835 + r114839;
double r114841 = r114803 * r114840;
double r114842 = r114787 * r114841;
return r114842;
}



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