\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\left(e^{-\left(0.5 + \left(7 + \left(z - 1\right)\right)\right)} \cdot \left({\left(0.5 + \left(7 + \left(z - 1\right)\right)\right)}^{\left(0.5 + \left(z - 1\right)\right)} \cdot \sqrt{2 \cdot \pi}\right)\right) \cdot \left(\frac{9.984369578019572 \cdot 10^{-06}}{7 + \left(z - 1\right)} + \frac{1.5056327351493116 \cdot 10^{-07}}{z + 7}\right) + \frac{\left(12.507343278686905 \cdot \left(\left(\left(\left(z \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right)\right) \cdot \left(z + 2\right)\right) \cdot \left(3 + z\right)\right) \cdot \left(z - -5\right)\right) + \left(\left(z - -5\right) \cdot \left(-176.6150291621406 \cdot \left(\left(z \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right)\right) \cdot \left(z + 2\right)\right) + \left(\left(z \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right)\right) \cdot 771.3234287776531 + \left(z + 2\right) \cdot \left(676.5203681218851 \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right) + z \cdot \left(0.9999999999998099 \cdot 0.9999999999998099 - \frac{-1259.1392167224028}{z - -1} \cdot \frac{-1259.1392167224028}{z - -1}\right)\right)\right) \cdot \left(3 + z\right)\right) + \left(\left(\left(z \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right)\right) \cdot \left(z + 2\right)\right) \cdot \left(3 + z\right)\right) \cdot -0.13857109526572012\right) \cdot \left(4 + z\right)\right) \cdot \left(e^{-\left(0.5 + \left(7 + \left(z - 1\right)\right)\right)} \cdot \left({\left(0.5 + \left(7 + \left(z - 1\right)\right)\right)}^{\left(0.5 + \left(z - 1\right)\right)} \cdot \sqrt{2 \cdot \pi}\right)\right)}{\left(4 + z\right) \cdot \left(\left(\left(\left(z \cdot \left(0.9999999999998099 - \frac{-1259.1392167224028}{z - -1}\right)\right) \cdot \left(z + 2\right)\right) \cdot \left(3 + z\right)\right) \cdot \left(z - -5\right)\right)}double f(double z) {
double r43313799 = atan2(1.0, 0.0);
double r43313800 = 2.0;
double r43313801 = r43313799 * r43313800;
double r43313802 = sqrt(r43313801);
double r43313803 = z;
double r43313804 = 1.0;
double r43313805 = r43313803 - r43313804;
double r43313806 = 7.0;
double r43313807 = r43313805 + r43313806;
double r43313808 = 0.5;
double r43313809 = r43313807 + r43313808;
double r43313810 = r43313805 + r43313808;
double r43313811 = pow(r43313809, r43313810);
double r43313812 = r43313802 * r43313811;
double r43313813 = -r43313809;
double r43313814 = exp(r43313813);
double r43313815 = r43313812 * r43313814;
double r43313816 = 0.9999999999998099;
double r43313817 = 676.5203681218851;
double r43313818 = r43313805 + r43313804;
double r43313819 = r43313817 / r43313818;
double r43313820 = r43313816 + r43313819;
double r43313821 = -1259.1392167224028;
double r43313822 = r43313805 + r43313800;
double r43313823 = r43313821 / r43313822;
double r43313824 = r43313820 + r43313823;
double r43313825 = 771.3234287776531;
double r43313826 = 3.0;
double r43313827 = r43313805 + r43313826;
double r43313828 = r43313825 / r43313827;
double r43313829 = r43313824 + r43313828;
double r43313830 = -176.6150291621406;
double r43313831 = 4.0;
double r43313832 = r43313805 + r43313831;
double r43313833 = r43313830 / r43313832;
double r43313834 = r43313829 + r43313833;
double r43313835 = 12.507343278686905;
double r43313836 = 5.0;
double r43313837 = r43313805 + r43313836;
double r43313838 = r43313835 / r43313837;
double r43313839 = r43313834 + r43313838;
double r43313840 = -0.13857109526572012;
double r43313841 = 6.0;
double r43313842 = r43313805 + r43313841;
double r43313843 = r43313840 / r43313842;
double r43313844 = r43313839 + r43313843;
double r43313845 = 9.984369578019572e-06;
double r43313846 = r43313845 / r43313807;
double r43313847 = r43313844 + r43313846;
double r43313848 = 1.5056327351493116e-07;
double r43313849 = 8.0;
double r43313850 = r43313805 + r43313849;
double r43313851 = r43313848 / r43313850;
double r43313852 = r43313847 + r43313851;
double r43313853 = r43313815 * r43313852;
return r43313853;
}
double f(double z) {
double r43313854 = 0.5;
double r43313855 = 7.0;
double r43313856 = z;
double r43313857 = 1.0;
double r43313858 = r43313856 - r43313857;
double r43313859 = r43313855 + r43313858;
double r43313860 = r43313854 + r43313859;
double r43313861 = -r43313860;
double r43313862 = exp(r43313861);
double r43313863 = r43313854 + r43313858;
double r43313864 = pow(r43313860, r43313863);
double r43313865 = 2.0;
double r43313866 = atan2(1.0, 0.0);
double r43313867 = r43313865 * r43313866;
double r43313868 = sqrt(r43313867);
double r43313869 = r43313864 * r43313868;
double r43313870 = r43313862 * r43313869;
double r43313871 = 9.984369578019572e-06;
double r43313872 = r43313871 / r43313859;
double r43313873 = 1.5056327351493116e-07;
double r43313874 = r43313856 + r43313855;
double r43313875 = r43313873 / r43313874;
double r43313876 = r43313872 + r43313875;
double r43313877 = r43313870 * r43313876;
double r43313878 = 12.507343278686905;
double r43313879 = 0.9999999999998099;
double r43313880 = -1259.1392167224028;
double r43313881 = -1.0;
double r43313882 = r43313856 - r43313881;
double r43313883 = r43313880 / r43313882;
double r43313884 = r43313879 - r43313883;
double r43313885 = r43313856 * r43313884;
double r43313886 = r43313856 + r43313865;
double r43313887 = r43313885 * r43313886;
double r43313888 = 3.0;
double r43313889 = r43313888 + r43313856;
double r43313890 = r43313887 * r43313889;
double r43313891 = -5.0;
double r43313892 = r43313856 - r43313891;
double r43313893 = r43313890 * r43313892;
double r43313894 = r43313878 * r43313893;
double r43313895 = -176.6150291621406;
double r43313896 = r43313895 * r43313887;
double r43313897 = 771.3234287776531;
double r43313898 = r43313885 * r43313897;
double r43313899 = 676.5203681218851;
double r43313900 = r43313899 * r43313884;
double r43313901 = r43313879 * r43313879;
double r43313902 = r43313883 * r43313883;
double r43313903 = r43313901 - r43313902;
double r43313904 = r43313856 * r43313903;
double r43313905 = r43313900 + r43313904;
double r43313906 = r43313886 * r43313905;
double r43313907 = r43313898 + r43313906;
double r43313908 = r43313907 * r43313889;
double r43313909 = r43313896 + r43313908;
double r43313910 = r43313892 * r43313909;
double r43313911 = -0.13857109526572012;
double r43313912 = r43313890 * r43313911;
double r43313913 = r43313910 + r43313912;
double r43313914 = 4.0;
double r43313915 = r43313914 + r43313856;
double r43313916 = r43313913 * r43313915;
double r43313917 = r43313894 + r43313916;
double r43313918 = r43313917 * r43313870;
double r43313919 = r43313915 * r43313893;
double r43313920 = r43313918 / r43313919;
double r43313921 = r43313877 + r43313920;
return r43313921;
}



Bits error versus z
Results
Initial program 60.0
Simplified0.7
rmApplied flip-+0.7
Applied frac-add0.9
Applied frac-add0.9
Applied frac-add1.1
Applied frac-add1.3
Applied frac-add1.3
Applied associate-*l/0.6
Final simplification0.6
herbie shell --seed 2019121 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))