double f(double z) {
double r700801 = atan2(1.0, 0.0);
double r700802 = z;
double r700803 = r700801 * r700802;
double r700804 = sin(r700803);
double r700805 = r700801 / r700804;
double r700806 = 2.0;
double r700807 = r700801 * r700806;
double r700808 = sqrt(r700807);
double r700809 = 1.0;
double r700810 = r700809 - r700802;
double r700811 = r700810 - r700809;
double r700812 = 7.0;
double r700813 = r700811 + r700812;
double r700814 = 0.5;
double r700815 = r700813 + r700814;
double r700816 = r700811 + r700814;
double r700817 = pow(r700815, r700816);
double r700818 = r700808 * r700817;
double r700819 = -r700815;
double r700820 = exp(r700819);
double r700821 = r700818 * r700820;
double r700822 = 0.9999999999998099;
double r700823 = 676.5203681218851;
double r700824 = r700811 + r700809;
double r700825 = r700823 / r700824;
double r700826 = r700822 + r700825;
double r700827 = -1259.1392167224028;
double r700828 = r700811 + r700806;
double r700829 = r700827 / r700828;
double r700830 = r700826 + r700829;
double r700831 = 771.3234287776531;
double r700832 = 3.0;
double r700833 = r700811 + r700832;
double r700834 = r700831 / r700833;
double r700835 = r700830 + r700834;
double r700836 = -176.6150291621406;
double r700837 = 4.0;
double r700838 = r700811 + r700837;
double r700839 = r700836 / r700838;
double r700840 = r700835 + r700839;
double r700841 = 12.507343278686905;
double r700842 = 5.0;
double r700843 = r700811 + r700842;
double r700844 = r700841 / r700843;
double r700845 = r700840 + r700844;
double r700846 = -0.13857109526572012;
double r700847 = 6.0;
double r700848 = r700811 + r700847;
double r700849 = r700846 / r700848;
double r700850 = r700845 + r700849;
double r700851 = 9.984369578019572e-06;
double r700852 = r700851 / r700813;
double r700853 = r700850 + r700852;
double r700854 = 1.5056327351493116e-07;
double r700855 = 8.0;
double r700856 = r700811 + r700855;
double r700857 = r700854 / r700856;
double r700858 = r700853 + r700857;
double r700859 = r700821 * r700858;
double r700860 = r700805 * r700859;
return r700860;
}
double f(double z) {
double r700861 = 2.0;
double r700862 = atan2(1.0, 0.0);
double r700863 = r700861 * r700862;
double r700864 = sqrt(r700863);
double r700865 = 7.0;
double r700866 = 1.0;
double r700867 = z;
double r700868 = r700866 - r700867;
double r700869 = r700868 - r700866;
double r700870 = r700865 + r700869;
double r700871 = 0.5;
double r700872 = r700870 + r700871;
double r700873 = r700871 + r700869;
double r700874 = pow(r700872, r700873);
double r700875 = r700864 * r700874;
double r700876 = -r700872;
double r700877 = exp(r700876);
double r700878 = r700875 * r700877;
double r700879 = 1.5056327351493116e-07;
double r700880 = 8.0;
double r700881 = r700880 + r700869;
double r700882 = r700879 / r700881;
double r700883 = 9.984369578019572e-06;
double r700884 = r700883 / r700870;
double r700885 = -176.6150291621406;
double r700886 = 4.0;
double r700887 = r700869 + r700886;
double r700888 = r700885 / r700887;
double r700889 = 771.3234287776531;
double r700890 = 3.0;
double r700891 = r700890 + r700869;
double r700892 = r700889 / r700891;
double r700893 = 0.9999999999998099;
double r700894 = 676.5203681218851;
double r700895 = r700869 + r700866;
double r700896 = r700894 / r700895;
double r700897 = r700893 + r700896;
double r700898 = -1259.1392167224028;
double r700899 = r700869 + r700861;
double r700900 = r700898 / r700899;
double r700901 = r700897 + r700900;
double r700902 = r700892 + r700901;
double r700903 = r700888 + r700902;
double r700904 = 12.507343278686905;
double r700905 = 5.0;
double r700906 = r700869 + r700905;
double r700907 = r700904 / r700906;
double r700908 = r700903 + r700907;
double r700909 = -0.13857109526572012;
double r700910 = 6.0;
double r700911 = r700910 + r700869;
double r700912 = r700909 / r700911;
double r700913 = r700908 + r700912;
double r700914 = r700884 + r700913;
double r700915 = r700882 + r700914;
double r700916 = r700878 * r700915;
double r700917 = r700862 * r700867;
double r700918 = sin(r700917);
double r700919 = r700862 / r700918;
double r700920 = r700916 * r700919;
return r700920;
}
\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(\left(\left(\sqrt{2 \cdot \pi} \cdot {\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}^{\left(0.5 + \left(\left(1 - z\right) - 1\right)\right)}\right) \cdot e^{-\left(\left(7 + \left(\left(1 - z\right) - 1\right)\right) + 0.5\right)}\right) \cdot \left(\frac{1.5056327351493116 \cdot 10^{-07}}{8 + \left(\left(1 - z\right) - 1\right)} + \left(\frac{9.984369578019572 \cdot 10^{-06}}{7 + \left(\left(1 - z\right) - 1\right)} + \left(\left(\left(\frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4} + \left(\frac{771.3234287776531}{3 + \left(\left(1 - z\right) - 1\right)} + \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)\right)\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{6 + \left(\left(1 - z\right) - 1\right)}\right)\right)\right)\right) \cdot \frac{\pi}{\sin \left(\pi \cdot z\right)}


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