\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 r122323 = atan2(1.0, 0.0);
double r122324 = z;
double r122325 = r122323 * r122324;
double r122326 = sin(r122325);
double r122327 = r122323 / r122326;
double r122328 = 2.0;
double r122329 = r122323 * r122328;
double r122330 = sqrt(r122329);
double r122331 = 1.0;
double r122332 = r122331 - r122324;
double r122333 = r122332 - r122331;
double r122334 = 7.0;
double r122335 = r122333 + r122334;
double r122336 = 0.5;
double r122337 = r122335 + r122336;
double r122338 = r122333 + r122336;
double r122339 = pow(r122337, r122338);
double r122340 = r122330 * r122339;
double r122341 = -r122337;
double r122342 = exp(r122341);
double r122343 = r122340 * r122342;
double r122344 = 0.9999999999998099;
double r122345 = 676.5203681218851;
double r122346 = r122333 + r122331;
double r122347 = r122345 / r122346;
double r122348 = r122344 + r122347;
double r122349 = -1259.1392167224028;
double r122350 = r122333 + r122328;
double r122351 = r122349 / r122350;
double r122352 = r122348 + r122351;
double r122353 = 771.3234287776531;
double r122354 = 3.0;
double r122355 = r122333 + r122354;
double r122356 = r122353 / r122355;
double r122357 = r122352 + r122356;
double r122358 = -176.6150291621406;
double r122359 = 4.0;
double r122360 = r122333 + r122359;
double r122361 = r122358 / r122360;
double r122362 = r122357 + r122361;
double r122363 = 12.507343278686905;
double r122364 = 5.0;
double r122365 = r122333 + r122364;
double r122366 = r122363 / r122365;
double r122367 = r122362 + r122366;
double r122368 = -0.13857109526572012;
double r122369 = 6.0;
double r122370 = r122333 + r122369;
double r122371 = r122368 / r122370;
double r122372 = r122367 + r122371;
double r122373 = 9.984369578019572e-06;
double r122374 = r122373 / r122335;
double r122375 = r122372 + r122374;
double r122376 = 1.5056327351493116e-07;
double r122377 = 8.0;
double r122378 = r122333 + r122377;
double r122379 = r122376 / r122378;
double r122380 = r122375 + r122379;
double r122381 = r122343 * r122380;
double r122382 = r122327 * r122381;
return r122382;
}
double f(double z) {
double r122383 = atan2(1.0, 0.0);
double r122384 = z;
double r122385 = r122383 * r122384;
double r122386 = sin(r122385);
double r122387 = r122383 / r122386;
double r122388 = 2.0;
double r122389 = r122383 * r122388;
double r122390 = sqrt(r122389);
double r122391 = 1.0;
double r122392 = r122391 - r122384;
double r122393 = r122392 - r122391;
double r122394 = 7.0;
double r122395 = r122393 + r122394;
double r122396 = 0.5;
double r122397 = r122395 + r122396;
double r122398 = r122393 + r122396;
double r122399 = pow(r122397, r122398);
double r122400 = r122390 * r122399;
double r122401 = r122387 * r122400;
double r122402 = 0.9999999999998099;
double r122403 = 676.5203681218851;
double r122404 = r122393 + r122391;
double r122405 = r122403 / r122404;
double r122406 = r122402 + r122405;
double r122407 = -1259.1392167224028;
double r122408 = r122393 + r122388;
double r122409 = r122407 / r122408;
double r122410 = r122406 + r122409;
double r122411 = 771.3234287776531;
double r122412 = 3.0;
double r122413 = r122393 + r122412;
double r122414 = r122411 / r122413;
double r122415 = r122410 + r122414;
double r122416 = -176.6150291621406;
double r122417 = 4.0;
double r122418 = r122393 + r122417;
double r122419 = r122416 / r122418;
double r122420 = r122415 + r122419;
double r122421 = 12.507343278686905;
double r122422 = 5.0;
double r122423 = r122393 + r122422;
double r122424 = r122421 / r122423;
double r122425 = r122420 + r122424;
double r122426 = -0.13857109526572012;
double r122427 = 6.0;
double r122428 = r122393 + r122427;
double r122429 = r122426 / r122428;
double r122430 = r122425 + r122429;
double r122431 = 9.984369578019572e-06;
double r122432 = r122431 / r122395;
double r122433 = r122430 + r122432;
double r122434 = 1.5056327351493116e-07;
double r122435 = 8.0;
double r122436 = r122393 + r122435;
double r122437 = r122434 / r122436;
double r122438 = r122433 + r122437;
double r122439 = r122401 * r122438;
double r122440 = exp(r122397);
double r122441 = r122439 / r122440;
return r122441;
}



Bits error versus z
Results
Initial program 1.8
Final simplification2.5
herbie shell --seed 2019308
(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))))))