\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 r192974 = atan2(1.0, 0.0);
double r192975 = z;
double r192976 = r192974 * r192975;
double r192977 = sin(r192976);
double r192978 = r192974 / r192977;
double r192979 = 2.0;
double r192980 = r192974 * r192979;
double r192981 = sqrt(r192980);
double r192982 = 1.0;
double r192983 = r192982 - r192975;
double r192984 = r192983 - r192982;
double r192985 = 7.0;
double r192986 = r192984 + r192985;
double r192987 = 0.5;
double r192988 = r192986 + r192987;
double r192989 = r192984 + r192987;
double r192990 = pow(r192988, r192989);
double r192991 = r192981 * r192990;
double r192992 = -r192988;
double r192993 = exp(r192992);
double r192994 = r192991 * r192993;
double r192995 = 0.9999999999998099;
double r192996 = 676.5203681218851;
double r192997 = r192984 + r192982;
double r192998 = r192996 / r192997;
double r192999 = r192995 + r192998;
double r193000 = -1259.1392167224028;
double r193001 = r192984 + r192979;
double r193002 = r193000 / r193001;
double r193003 = r192999 + r193002;
double r193004 = 771.3234287776531;
double r193005 = 3.0;
double r193006 = r192984 + r193005;
double r193007 = r193004 / r193006;
double r193008 = r193003 + r193007;
double r193009 = -176.6150291621406;
double r193010 = 4.0;
double r193011 = r192984 + r193010;
double r193012 = r193009 / r193011;
double r193013 = r193008 + r193012;
double r193014 = 12.507343278686905;
double r193015 = 5.0;
double r193016 = r192984 + r193015;
double r193017 = r193014 / r193016;
double r193018 = r193013 + r193017;
double r193019 = -0.13857109526572012;
double r193020 = 6.0;
double r193021 = r192984 + r193020;
double r193022 = r193019 / r193021;
double r193023 = r193018 + r193022;
double r193024 = 9.984369578019572e-06;
double r193025 = r193024 / r192986;
double r193026 = r193023 + r193025;
double r193027 = 1.5056327351493116e-07;
double r193028 = 8.0;
double r193029 = r192984 + r193028;
double r193030 = r193027 / r193029;
double r193031 = r193026 + r193030;
double r193032 = r192994 * r193031;
double r193033 = r192978 * r193032;
return r193033;
}
double f(double z) {
double r193034 = atan2(1.0, 0.0);
double r193035 = z;
double r193036 = r193034 * r193035;
double r193037 = sin(r193036);
double r193038 = r193034 / r193037;
double r193039 = 2.0;
double r193040 = r193034 * r193039;
double r193041 = sqrt(r193040);
double r193042 = 1.0;
double r193043 = r193042 - r193035;
double r193044 = r193043 - r193042;
double r193045 = 7.0;
double r193046 = r193044 + r193045;
double r193047 = 0.5;
double r193048 = r193046 + r193047;
double r193049 = r193044 + r193047;
double r193050 = pow(r193048, r193049);
double r193051 = r193041 * r193050;
double r193052 = -r193048;
double r193053 = exp(r193052);
double r193054 = r193051 * r193053;
double r193055 = 0.9999999999998099;
double r193056 = 676.5203681218851;
double r193057 = r193044 + r193042;
double r193058 = r193056 / r193057;
double r193059 = r193055 + r193058;
double r193060 = -1259.1392167224028;
double r193061 = r193044 + r193039;
double r193062 = r193060 / r193061;
double r193063 = r193059 + r193062;
double r193064 = 771.3234287776531;
double r193065 = 3.0;
double r193066 = r193044 + r193065;
double r193067 = r193064 / r193066;
double r193068 = r193063 + r193067;
double r193069 = -176.6150291621406;
double r193070 = 4.0;
double r193071 = r193044 + r193070;
double r193072 = r193069 / r193071;
double r193073 = r193068 + r193072;
double r193074 = 12.507343278686905;
double r193075 = 5.0;
double r193076 = r193044 + r193075;
double r193077 = r193074 / r193076;
double r193078 = r193073 + r193077;
double r193079 = -0.13857109526572012;
double r193080 = 6.0;
double r193081 = r193044 + r193080;
double r193082 = r193079 / r193081;
double r193083 = r193078 + r193082;
double r193084 = 9.984369578019572e-06;
double r193085 = r193084 / r193046;
double r193086 = r193083 + r193085;
double r193087 = 1.5056327351493116e-07;
double r193088 = 8.0;
double r193089 = r193044 + r193088;
double r193090 = r193087 / r193089;
double r193091 = r193086 + r193090;
double r193092 = r193054 * r193091;
double r193093 = r193038 * r193092;
return r193093;
}



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