\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}{\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)double f(double z) {
double r112743 = atan2(1.0, 0.0);
double r112744 = z;
double r112745 = r112743 * r112744;
double r112746 = sin(r112745);
double r112747 = r112743 / r112746;
double r112748 = 2.0;
double r112749 = r112743 * r112748;
double r112750 = sqrt(r112749);
double r112751 = 1.0;
double r112752 = r112751 - r112744;
double r112753 = r112752 - r112751;
double r112754 = 7.0;
double r112755 = r112753 + r112754;
double r112756 = 0.5;
double r112757 = r112755 + r112756;
double r112758 = r112753 + r112756;
double r112759 = pow(r112757, r112758);
double r112760 = r112750 * r112759;
double r112761 = -r112757;
double r112762 = exp(r112761);
double r112763 = r112760 * r112762;
double r112764 = 0.9999999999998099;
double r112765 = 676.5203681218851;
double r112766 = r112753 + r112751;
double r112767 = r112765 / r112766;
double r112768 = r112764 + r112767;
double r112769 = -1259.1392167224028;
double r112770 = r112753 + r112748;
double r112771 = r112769 / r112770;
double r112772 = r112768 + r112771;
double r112773 = 771.3234287776531;
double r112774 = 3.0;
double r112775 = r112753 + r112774;
double r112776 = r112773 / r112775;
double r112777 = r112772 + r112776;
double r112778 = -176.6150291621406;
double r112779 = 4.0;
double r112780 = r112753 + r112779;
double r112781 = r112778 / r112780;
double r112782 = r112777 + r112781;
double r112783 = 12.507343278686905;
double r112784 = 5.0;
double r112785 = r112753 + r112784;
double r112786 = r112783 / r112785;
double r112787 = r112782 + r112786;
double r112788 = -0.13857109526572012;
double r112789 = 6.0;
double r112790 = r112753 + r112789;
double r112791 = r112788 / r112790;
double r112792 = r112787 + r112791;
double r112793 = 9.984369578019572e-06;
double r112794 = r112793 / r112755;
double r112795 = r112792 + r112794;
double r112796 = 1.5056327351493116e-07;
double r112797 = 8.0;
double r112798 = r112753 + r112797;
double r112799 = r112796 / r112798;
double r112800 = r112795 + r112799;
double r112801 = r112763 * r112800;
double r112802 = r112747 * r112801;
return r112802;
}
double f(double z) {
double r112803 = atan2(1.0, 0.0);
double r112804 = z;
double r112805 = r112803 * r112804;
double r112806 = sin(r112805);
double r112807 = r112803 / r112806;
double r112808 = 2.0;
double r112809 = r112803 * r112808;
double r112810 = sqrt(r112809);
double r112811 = 1.0;
double r112812 = r112811 - r112804;
double r112813 = r112812 - r112811;
double r112814 = 7.0;
double r112815 = r112813 + r112814;
double r112816 = 0.5;
double r112817 = r112815 + r112816;
double r112818 = r112813 + r112816;
double r112819 = pow(r112817, r112818);
double r112820 = r112810 * r112819;
double r112821 = -r112817;
double r112822 = exp(r112821);
double r112823 = r112820 * r112822;
double r112824 = 0.9999999999998099;
double r112825 = 676.5203681218851;
double r112826 = r112813 + r112811;
double r112827 = r112825 / r112826;
double r112828 = r112824 + r112827;
double r112829 = -1259.1392167224028;
double r112830 = r112813 + r112808;
double r112831 = r112829 / r112830;
double r112832 = r112828 + r112831;
double r112833 = 771.3234287776531;
double r112834 = 3.0;
double r112835 = r112813 + r112834;
double r112836 = r112833 / r112835;
double r112837 = r112832 + r112836;
double r112838 = -176.6150291621406;
double r112839 = 4.0;
double r112840 = r112813 + r112839;
double r112841 = r112838 / r112840;
double r112842 = r112837 + r112841;
double r112843 = 12.507343278686905;
double r112844 = 5.0;
double r112845 = r112813 + r112844;
double r112846 = r112843 / r112845;
double r112847 = r112842 + r112846;
double r112848 = -0.13857109526572012;
double r112849 = 6.0;
double r112850 = r112813 + r112849;
double r112851 = r112848 / r112850;
double r112852 = r112847 + r112851;
double r112853 = 9.984369578019572e-06;
double r112854 = r112853 / r112815;
double r112855 = r112852 + r112854;
double r112856 = 1.5056327351493116e-07;
double r112857 = 8.0;
double r112858 = r112813 + r112857;
double r112859 = r112856 / r112858;
double r112860 = r112855 + r112859;
double r112861 = r112823 * r112860;
double r112862 = r112807 * r112861;
return r112862;
}



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