\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{\left(\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \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)\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)}{e^{\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5}}double f(double z) {
double r143154 = atan2(1.0, 0.0);
double r143155 = z;
double r143156 = r143154 * r143155;
double r143157 = sin(r143156);
double r143158 = r143154 / r143157;
double r143159 = 2.0;
double r143160 = r143154 * r143159;
double r143161 = sqrt(r143160);
double r143162 = 1.0;
double r143163 = r143162 - r143155;
double r143164 = r143163 - r143162;
double r143165 = 7.0;
double r143166 = r143164 + r143165;
double r143167 = 0.5;
double r143168 = r143166 + r143167;
double r143169 = r143164 + r143167;
double r143170 = pow(r143168, r143169);
double r143171 = r143161 * r143170;
double r143172 = -r143168;
double r143173 = exp(r143172);
double r143174 = r143171 * r143173;
double r143175 = 0.9999999999998099;
double r143176 = 676.5203681218851;
double r143177 = r143164 + r143162;
double r143178 = r143176 / r143177;
double r143179 = r143175 + r143178;
double r143180 = -1259.1392167224028;
double r143181 = r143164 + r143159;
double r143182 = r143180 / r143181;
double r143183 = r143179 + r143182;
double r143184 = 771.3234287776531;
double r143185 = 3.0;
double r143186 = r143164 + r143185;
double r143187 = r143184 / r143186;
double r143188 = r143183 + r143187;
double r143189 = -176.6150291621406;
double r143190 = 4.0;
double r143191 = r143164 + r143190;
double r143192 = r143189 / r143191;
double r143193 = r143188 + r143192;
double r143194 = 12.507343278686905;
double r143195 = 5.0;
double r143196 = r143164 + r143195;
double r143197 = r143194 / r143196;
double r143198 = r143193 + r143197;
double r143199 = -0.13857109526572012;
double r143200 = 6.0;
double r143201 = r143164 + r143200;
double r143202 = r143199 / r143201;
double r143203 = r143198 + r143202;
double r143204 = 9.984369578019572e-06;
double r143205 = r143204 / r143166;
double r143206 = r143203 + r143205;
double r143207 = 1.5056327351493116e-07;
double r143208 = 8.0;
double r143209 = r143164 + r143208;
double r143210 = r143207 / r143209;
double r143211 = r143206 + r143210;
double r143212 = r143174 * r143211;
double r143213 = r143158 * r143212;
return r143213;
}
double f(double z) {
double r143214 = atan2(1.0, 0.0);
double r143215 = z;
double r143216 = r143214 * r143215;
double r143217 = sin(r143216);
double r143218 = r143214 / r143217;
double r143219 = 2.0;
double r143220 = r143214 * r143219;
double r143221 = sqrt(r143220);
double r143222 = 1.0;
double r143223 = r143222 - r143215;
double r143224 = r143223 - r143222;
double r143225 = 7.0;
double r143226 = r143224 + r143225;
double r143227 = 0.5;
double r143228 = r143226 + r143227;
double r143229 = r143224 + r143227;
double r143230 = pow(r143228, r143229);
double r143231 = r143221 * r143230;
double r143232 = r143218 * r143231;
double r143233 = 0.9999999999998099;
double r143234 = 676.5203681218851;
double r143235 = r143224 + r143222;
double r143236 = r143234 / r143235;
double r143237 = r143233 + r143236;
double r143238 = -1259.1392167224028;
double r143239 = r143224 + r143219;
double r143240 = r143238 / r143239;
double r143241 = r143237 + r143240;
double r143242 = 771.3234287776531;
double r143243 = 3.0;
double r143244 = r143224 + r143243;
double r143245 = r143242 / r143244;
double r143246 = r143241 + r143245;
double r143247 = -176.6150291621406;
double r143248 = 4.0;
double r143249 = r143224 + r143248;
double r143250 = r143247 / r143249;
double r143251 = r143246 + r143250;
double r143252 = 12.507343278686905;
double r143253 = 5.0;
double r143254 = r143224 + r143253;
double r143255 = r143252 / r143254;
double r143256 = r143251 + r143255;
double r143257 = -0.13857109526572012;
double r143258 = 6.0;
double r143259 = r143224 + r143258;
double r143260 = r143257 / r143259;
double r143261 = r143256 + r143260;
double r143262 = 9.984369578019572e-06;
double r143263 = r143262 / r143226;
double r143264 = r143261 + r143263;
double r143265 = 1.5056327351493116e-07;
double r143266 = 8.0;
double r143267 = r143224 + r143266;
double r143268 = r143265 / r143267;
double r143269 = r143264 + r143268;
double r143270 = r143232 * r143269;
double r143271 = exp(r143228);
double r143272 = r143270 / r143271;
return r143272;
}



Bits error versus z
Results
Initial program 1.8
Final simplification2.5
herbie shell --seed 2019294
(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.99999999999980993 (/ 676.520368121885099 (+ (- (- 1 z) 1) 1))) (/ -1259.13921672240281 (+ (- (- 1 z) 1) 2))) (/ 771.32342877765313 (+ (- (- 1 z) 1) 3))) (/ -176.615029162140587 (+ (- (- 1 z) 1) 4))) (/ 12.5073432786869052 (+ (- (- 1 z) 1) 5))) (/ -0.138571095265720118 (+ (- (- 1 z) 1) 6))) (/ 9.98436957801957158e-6 (+ (- (- 1 z) 1) 7))) (/ 1.50563273514931162e-7 (+ (- (- 1 z) 1) 8))))))