\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)\left(\left(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 + \left(-z\right)} + \frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5}\right) + \left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 + \left(-z\right)} + \left(\left(\frac{-176.6150291621405870046146446838974952698}{4 + \left(-z\right)} + \frac{-0.1385710952657201178173096423051902092993}{\left(-z\right) + 6}\right) + \left(\left(0.9999999999998099298181841732002794742584 + \left(\frac{-1259.139216722402807135949842631816864014}{2 + \left(-z\right)} + \frac{676.5203681218850988443591631948947906494}{1 - z}\right)\right) + \frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3}\right)\right)\right)\right)\right) \cdot {\left(0.5 + \left(7 + \left(-z\right)\right)\right)}^{\left(\left(-z\right) + 0.5\right)}\right) \cdot \sqrt[3]{\left(\frac{\sqrt{2 \cdot \pi}}{e^{0.5 + \left(7 + \left(-z\right)\right)}} \cdot \frac{\sqrt{2 \cdot \pi}}{e^{0.5 + \left(7 + \left(-z\right)\right)}}\right) \cdot \frac{\sqrt{2 \cdot \pi}}{e^{0.5 + \left(7 + \left(-z\right)\right)}}}double f(double z) {
double r9105733 = atan2(1.0, 0.0);
double r9105734 = z;
double r9105735 = r9105733 * r9105734;
double r9105736 = sin(r9105735);
double r9105737 = r9105733 / r9105736;
double r9105738 = 2.0;
double r9105739 = r9105733 * r9105738;
double r9105740 = sqrt(r9105739);
double r9105741 = 1.0;
double r9105742 = r9105741 - r9105734;
double r9105743 = r9105742 - r9105741;
double r9105744 = 7.0;
double r9105745 = r9105743 + r9105744;
double r9105746 = 0.5;
double r9105747 = r9105745 + r9105746;
double r9105748 = r9105743 + r9105746;
double r9105749 = pow(r9105747, r9105748);
double r9105750 = r9105740 * r9105749;
double r9105751 = -r9105747;
double r9105752 = exp(r9105751);
double r9105753 = r9105750 * r9105752;
double r9105754 = 0.9999999999998099;
double r9105755 = 676.5203681218851;
double r9105756 = r9105743 + r9105741;
double r9105757 = r9105755 / r9105756;
double r9105758 = r9105754 + r9105757;
double r9105759 = -1259.1392167224028;
double r9105760 = r9105743 + r9105738;
double r9105761 = r9105759 / r9105760;
double r9105762 = r9105758 + r9105761;
double r9105763 = 771.3234287776531;
double r9105764 = 3.0;
double r9105765 = r9105743 + r9105764;
double r9105766 = r9105763 / r9105765;
double r9105767 = r9105762 + r9105766;
double r9105768 = -176.6150291621406;
double r9105769 = 4.0;
double r9105770 = r9105743 + r9105769;
double r9105771 = r9105768 / r9105770;
double r9105772 = r9105767 + r9105771;
double r9105773 = 12.507343278686905;
double r9105774 = 5.0;
double r9105775 = r9105743 + r9105774;
double r9105776 = r9105773 / r9105775;
double r9105777 = r9105772 + r9105776;
double r9105778 = -0.13857109526572012;
double r9105779 = 6.0;
double r9105780 = r9105743 + r9105779;
double r9105781 = r9105778 / r9105780;
double r9105782 = r9105777 + r9105781;
double r9105783 = 9.984369578019572e-06;
double r9105784 = r9105783 / r9105745;
double r9105785 = r9105782 + r9105784;
double r9105786 = 1.5056327351493116e-07;
double r9105787 = 8.0;
double r9105788 = r9105743 + r9105787;
double r9105789 = r9105786 / r9105788;
double r9105790 = r9105785 + r9105789;
double r9105791 = r9105753 * r9105790;
double r9105792 = r9105737 * r9105791;
return r9105792;
}
double f(double z) {
double r9105793 = atan2(1.0, 0.0);
double r9105794 = z;
double r9105795 = r9105794 * r9105793;
double r9105796 = sin(r9105795);
double r9105797 = r9105793 / r9105796;
double r9105798 = 1.5056327351493116e-07;
double r9105799 = 8.0;
double r9105800 = -r9105794;
double r9105801 = r9105799 + r9105800;
double r9105802 = r9105798 / r9105801;
double r9105803 = 12.507343278686905;
double r9105804 = 5.0;
double r9105805 = r9105800 + r9105804;
double r9105806 = r9105803 / r9105805;
double r9105807 = r9105802 + r9105806;
double r9105808 = 9.984369578019572e-06;
double r9105809 = 7.0;
double r9105810 = r9105809 + r9105800;
double r9105811 = r9105808 / r9105810;
double r9105812 = -176.6150291621406;
double r9105813 = 4.0;
double r9105814 = r9105813 + r9105800;
double r9105815 = r9105812 / r9105814;
double r9105816 = -0.13857109526572012;
double r9105817 = 6.0;
double r9105818 = r9105800 + r9105817;
double r9105819 = r9105816 / r9105818;
double r9105820 = r9105815 + r9105819;
double r9105821 = 0.9999999999998099;
double r9105822 = -1259.1392167224028;
double r9105823 = 2.0;
double r9105824 = r9105823 + r9105800;
double r9105825 = r9105822 / r9105824;
double r9105826 = 676.5203681218851;
double r9105827 = 1.0;
double r9105828 = r9105827 - r9105794;
double r9105829 = r9105826 / r9105828;
double r9105830 = r9105825 + r9105829;
double r9105831 = r9105821 + r9105830;
double r9105832 = 771.3234287776531;
double r9105833 = 3.0;
double r9105834 = r9105800 + r9105833;
double r9105835 = r9105832 / r9105834;
double r9105836 = r9105831 + r9105835;
double r9105837 = r9105820 + r9105836;
double r9105838 = r9105811 + r9105837;
double r9105839 = r9105807 + r9105838;
double r9105840 = r9105797 * r9105839;
double r9105841 = 0.5;
double r9105842 = r9105841 + r9105810;
double r9105843 = r9105800 + r9105841;
double r9105844 = pow(r9105842, r9105843);
double r9105845 = r9105840 * r9105844;
double r9105846 = r9105823 * r9105793;
double r9105847 = sqrt(r9105846);
double r9105848 = exp(r9105842);
double r9105849 = r9105847 / r9105848;
double r9105850 = r9105849 * r9105849;
double r9105851 = r9105850 * r9105849;
double r9105852 = cbrt(r9105851);
double r9105853 = r9105845 * r9105852;
return r9105853;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.1
rmApplied add-cbrt-cube1.1
Final simplification1.1
herbie shell --seed 2019168
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5) (+ (- (- 1.0 z) 1.0) 0.5))) (exp (- (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1.0 z) 1.0) 1.0))) (/ -1259.1392167224028 (+ (- (- 1.0 z) 1.0) 2.0))) (/ 771.3234287776531 (+ (- (- 1.0 z) 1.0) 3.0))) (/ -176.6150291621406 (+ (- (- 1.0 z) 1.0) 4.0))) (/ 12.507343278686905 (+ (- (- 1.0 z) 1.0) 5.0))) (/ -0.13857109526572012 (+ (- (- 1.0 z) 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- (- 1.0 z) 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- (- 1.0 z) 1.0) 8.0))))))