\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 r216235 = atan2(1.0, 0.0);
double r216236 = z;
double r216237 = r216235 * r216236;
double r216238 = sin(r216237);
double r216239 = r216235 / r216238;
double r216240 = 2.0;
double r216241 = r216235 * r216240;
double r216242 = sqrt(r216241);
double r216243 = 1.0;
double r216244 = r216243 - r216236;
double r216245 = r216244 - r216243;
double r216246 = 7.0;
double r216247 = r216245 + r216246;
double r216248 = 0.5;
double r216249 = r216247 + r216248;
double r216250 = r216245 + r216248;
double r216251 = pow(r216249, r216250);
double r216252 = r216242 * r216251;
double r216253 = -r216249;
double r216254 = exp(r216253);
double r216255 = r216252 * r216254;
double r216256 = 0.9999999999998099;
double r216257 = 676.5203681218851;
double r216258 = r216245 + r216243;
double r216259 = r216257 / r216258;
double r216260 = r216256 + r216259;
double r216261 = -1259.1392167224028;
double r216262 = r216245 + r216240;
double r216263 = r216261 / r216262;
double r216264 = r216260 + r216263;
double r216265 = 771.3234287776531;
double r216266 = 3.0;
double r216267 = r216245 + r216266;
double r216268 = r216265 / r216267;
double r216269 = r216264 + r216268;
double r216270 = -176.6150291621406;
double r216271 = 4.0;
double r216272 = r216245 + r216271;
double r216273 = r216270 / r216272;
double r216274 = r216269 + r216273;
double r216275 = 12.507343278686905;
double r216276 = 5.0;
double r216277 = r216245 + r216276;
double r216278 = r216275 / r216277;
double r216279 = r216274 + r216278;
double r216280 = -0.13857109526572012;
double r216281 = 6.0;
double r216282 = r216245 + r216281;
double r216283 = r216280 / r216282;
double r216284 = r216279 + r216283;
double r216285 = 9.984369578019572e-06;
double r216286 = r216285 / r216247;
double r216287 = r216284 + r216286;
double r216288 = 1.5056327351493116e-07;
double r216289 = 8.0;
double r216290 = r216245 + r216289;
double r216291 = r216288 / r216290;
double r216292 = r216287 + r216291;
double r216293 = r216255 * r216292;
double r216294 = r216239 * r216293;
return r216294;
}
double f(double z) {
double r216295 = atan2(1.0, 0.0);
double r216296 = z;
double r216297 = r216295 * r216296;
double r216298 = sin(r216297);
double r216299 = r216295 / r216298;
double r216300 = 2.0;
double r216301 = r216295 * r216300;
double r216302 = sqrt(r216301);
double r216303 = 1.0;
double r216304 = r216303 - r216296;
double r216305 = r216304 - r216303;
double r216306 = 7.0;
double r216307 = r216305 + r216306;
double r216308 = 0.5;
double r216309 = r216307 + r216308;
double r216310 = r216305 + r216308;
double r216311 = pow(r216309, r216310);
double r216312 = r216302 * r216311;
double r216313 = -r216309;
double r216314 = exp(r216313);
double r216315 = r216312 * r216314;
double r216316 = 0.9999999999998099;
double r216317 = 676.5203681218851;
double r216318 = r216305 + r216303;
double r216319 = r216317 / r216318;
double r216320 = r216316 + r216319;
double r216321 = -1259.1392167224028;
double r216322 = r216305 + r216300;
double r216323 = r216321 / r216322;
double r216324 = r216320 + r216323;
double r216325 = 771.3234287776531;
double r216326 = 3.0;
double r216327 = r216305 + r216326;
double r216328 = r216325 / r216327;
double r216329 = r216324 + r216328;
double r216330 = -176.6150291621406;
double r216331 = 4.0;
double r216332 = r216305 + r216331;
double r216333 = r216330 / r216332;
double r216334 = r216329 + r216333;
double r216335 = 12.507343278686905;
double r216336 = 5.0;
double r216337 = r216305 + r216336;
double r216338 = r216335 / r216337;
double r216339 = r216334 + r216338;
double r216340 = -0.13857109526572012;
double r216341 = 6.0;
double r216342 = r216305 + r216341;
double r216343 = r216340 / r216342;
double r216344 = r216339 + r216343;
double r216345 = 9.984369578019572e-06;
double r216346 = r216345 / r216307;
double r216347 = r216344 + r216346;
double r216348 = 1.5056327351493116e-07;
double r216349 = 8.0;
double r216350 = r216305 + r216349;
double r216351 = r216348 / r216350;
double r216352 = r216347 + r216351;
double r216353 = r216315 * r216352;
double r216354 = r216299 * r216353;
return r216354;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020002 +o rules:numerics
(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))))))