\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(\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \left({\left(0.5 + \left(\left(1 - z\right) - -6\right)\right)}^{\left(1 - \left(\left(z + 1\right) - 0.5\right)\right)} \cdot \sqrt{2 \cdot \pi}\right)\right) \cdot \left(\frac{1}{e^{0.5 + \left(\left(1 - z\right) - -6\right)}} \cdot \left(\left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{\left(1 - z\right) - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{9 - \left(z + 1\right)}\right) + \left(\frac{-0.13857109526572012}{7 - \left(z + 1\right)} + \frac{12.507343278686905}{6 - \left(z + 1\right)}\right)\right) + \left(\frac{(\left((\left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) \cdot \left(\left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right)\right) + \left(\frac{676.5203681218851}{1 - z} \cdot \left(\frac{676.5203681218851}{1 - z} \cdot \frac{676.5203681218851}{1 - z}\right)\right))_*\right) \cdot \left(4 - z\right) + \left((\left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) + \left(\left(\frac{676.5203681218851}{1 - z} - \left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right)\right) \cdot \frac{676.5203681218851}{1 - z}\right))_* \cdot -176.6150291621406\right))_*}{(\left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) + \left(\frac{676.5203681218851}{1 - z} \cdot \frac{676.5203681218851}{1 - z} - \left(\frac{-1259.1392167224028}{1 + \left(1 - z\right)} + 0.9999999999998099\right) \cdot \frac{676.5203681218851}{1 - z}\right))_* \cdot \left(4 - z\right)} + \frac{771.3234287776531}{2 + \left(1 - z\right)}\right)\right)\right)double f(double z) {
double r81219745 = atan2(1.0, 0.0);
double r81219746 = z;
double r81219747 = r81219745 * r81219746;
double r81219748 = sin(r81219747);
double r81219749 = r81219745 / r81219748;
double r81219750 = 2.0;
double r81219751 = r81219745 * r81219750;
double r81219752 = sqrt(r81219751);
double r81219753 = 1.0;
double r81219754 = r81219753 - r81219746;
double r81219755 = r81219754 - r81219753;
double r81219756 = 7.0;
double r81219757 = r81219755 + r81219756;
double r81219758 = 0.5;
double r81219759 = r81219757 + r81219758;
double r81219760 = r81219755 + r81219758;
double r81219761 = pow(r81219759, r81219760);
double r81219762 = r81219752 * r81219761;
double r81219763 = -r81219759;
double r81219764 = exp(r81219763);
double r81219765 = r81219762 * r81219764;
double r81219766 = 0.9999999999998099;
double r81219767 = 676.5203681218851;
double r81219768 = r81219755 + r81219753;
double r81219769 = r81219767 / r81219768;
double r81219770 = r81219766 + r81219769;
double r81219771 = -1259.1392167224028;
double r81219772 = r81219755 + r81219750;
double r81219773 = r81219771 / r81219772;
double r81219774 = r81219770 + r81219773;
double r81219775 = 771.3234287776531;
double r81219776 = 3.0;
double r81219777 = r81219755 + r81219776;
double r81219778 = r81219775 / r81219777;
double r81219779 = r81219774 + r81219778;
double r81219780 = -176.6150291621406;
double r81219781 = 4.0;
double r81219782 = r81219755 + r81219781;
double r81219783 = r81219780 / r81219782;
double r81219784 = r81219779 + r81219783;
double r81219785 = 12.507343278686905;
double r81219786 = 5.0;
double r81219787 = r81219755 + r81219786;
double r81219788 = r81219785 / r81219787;
double r81219789 = r81219784 + r81219788;
double r81219790 = -0.13857109526572012;
double r81219791 = 6.0;
double r81219792 = r81219755 + r81219791;
double r81219793 = r81219790 / r81219792;
double r81219794 = r81219789 + r81219793;
double r81219795 = 9.984369578019572e-06;
double r81219796 = r81219795 / r81219757;
double r81219797 = r81219794 + r81219796;
double r81219798 = 1.5056327351493116e-07;
double r81219799 = 8.0;
double r81219800 = r81219755 + r81219799;
double r81219801 = r81219798 / r81219800;
double r81219802 = r81219797 + r81219801;
double r81219803 = r81219765 * r81219802;
double r81219804 = r81219749 * r81219803;
return r81219804;
}
double f(double z) {
double r81219805 = atan2(1.0, 0.0);
double r81219806 = z;
double r81219807 = r81219805 * r81219806;
double r81219808 = sin(r81219807);
double r81219809 = r81219805 / r81219808;
double r81219810 = 0.5;
double r81219811 = 1.0;
double r81219812 = r81219811 - r81219806;
double r81219813 = -6.0;
double r81219814 = r81219812 - r81219813;
double r81219815 = r81219810 + r81219814;
double r81219816 = r81219806 + r81219811;
double r81219817 = r81219816 - r81219810;
double r81219818 = r81219811 - r81219817;
double r81219819 = pow(r81219815, r81219818);
double r81219820 = 2.0;
double r81219821 = r81219820 * r81219805;
double r81219822 = sqrt(r81219821);
double r81219823 = r81219819 * r81219822;
double r81219824 = r81219809 * r81219823;
double r81219825 = exp(r81219815);
double r81219826 = r81219811 / r81219825;
double r81219827 = 9.984369578019572e-06;
double r81219828 = r81219827 / r81219814;
double r81219829 = 1.5056327351493116e-07;
double r81219830 = 9.0;
double r81219831 = r81219830 - r81219816;
double r81219832 = r81219829 / r81219831;
double r81219833 = r81219828 + r81219832;
double r81219834 = -0.13857109526572012;
double r81219835 = 7.0;
double r81219836 = r81219835 - r81219816;
double r81219837 = r81219834 / r81219836;
double r81219838 = 12.507343278686905;
double r81219839 = 6.0;
double r81219840 = r81219839 - r81219816;
double r81219841 = r81219838 / r81219840;
double r81219842 = r81219837 + r81219841;
double r81219843 = r81219833 + r81219842;
double r81219844 = -1259.1392167224028;
double r81219845 = r81219811 + r81219812;
double r81219846 = r81219844 / r81219845;
double r81219847 = 0.9999999999998099;
double r81219848 = r81219846 + r81219847;
double r81219849 = r81219848 * r81219848;
double r81219850 = 676.5203681218851;
double r81219851 = r81219850 / r81219812;
double r81219852 = r81219851 * r81219851;
double r81219853 = r81219851 * r81219852;
double r81219854 = fma(r81219848, r81219849, r81219853);
double r81219855 = 4.0;
double r81219856 = r81219855 - r81219806;
double r81219857 = r81219851 - r81219848;
double r81219858 = r81219857 * r81219851;
double r81219859 = fma(r81219848, r81219848, r81219858);
double r81219860 = -176.6150291621406;
double r81219861 = r81219859 * r81219860;
double r81219862 = fma(r81219854, r81219856, r81219861);
double r81219863 = r81219848 * r81219851;
double r81219864 = r81219852 - r81219863;
double r81219865 = fma(r81219848, r81219848, r81219864);
double r81219866 = r81219865 * r81219856;
double r81219867 = r81219862 / r81219866;
double r81219868 = 771.3234287776531;
double r81219869 = r81219820 + r81219812;
double r81219870 = r81219868 / r81219869;
double r81219871 = r81219867 + r81219870;
double r81219872 = r81219843 + r81219871;
double r81219873 = r81219826 * r81219872;
double r81219874 = r81219824 * r81219873;
return r81219874;
}



Bits error versus z
Initial program 1.8
Simplified1.2
rmApplied flip3-+0.6
Applied frac-add0.6
Simplified0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019112 +o rules:numerics
(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))))))