\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)}double f(double z) {
double r1383378 = atan2(1.0, 0.0);
double r1383379 = z;
double r1383380 = r1383378 * r1383379;
double r1383381 = sin(r1383380);
double r1383382 = r1383378 / r1383381;
double r1383383 = 2.0;
double r1383384 = r1383378 * r1383383;
double r1383385 = sqrt(r1383384);
double r1383386 = 1.0;
double r1383387 = r1383386 - r1383379;
double r1383388 = r1383387 - r1383386;
double r1383389 = 7.0;
double r1383390 = r1383388 + r1383389;
double r1383391 = 0.5;
double r1383392 = r1383390 + r1383391;
double r1383393 = r1383388 + r1383391;
double r1383394 = pow(r1383392, r1383393);
double r1383395 = r1383385 * r1383394;
double r1383396 = -r1383392;
double r1383397 = exp(r1383396);
double r1383398 = r1383395 * r1383397;
double r1383399 = 0.9999999999998099;
double r1383400 = 676.5203681218851;
double r1383401 = r1383388 + r1383386;
double r1383402 = r1383400 / r1383401;
double r1383403 = r1383399 + r1383402;
double r1383404 = -1259.1392167224028;
double r1383405 = r1383388 + r1383383;
double r1383406 = r1383404 / r1383405;
double r1383407 = r1383403 + r1383406;
double r1383408 = 771.3234287776531;
double r1383409 = 3.0;
double r1383410 = r1383388 + r1383409;
double r1383411 = r1383408 / r1383410;
double r1383412 = r1383407 + r1383411;
double r1383413 = -176.6150291621406;
double r1383414 = 4.0;
double r1383415 = r1383388 + r1383414;
double r1383416 = r1383413 / r1383415;
double r1383417 = r1383412 + r1383416;
double r1383418 = 12.507343278686905;
double r1383419 = 5.0;
double r1383420 = r1383388 + r1383419;
double r1383421 = r1383418 / r1383420;
double r1383422 = r1383417 + r1383421;
double r1383423 = -0.13857109526572012;
double r1383424 = 6.0;
double r1383425 = r1383388 + r1383424;
double r1383426 = r1383423 / r1383425;
double r1383427 = r1383422 + r1383426;
double r1383428 = 9.984369578019572e-06;
double r1383429 = r1383428 / r1383390;
double r1383430 = r1383427 + r1383429;
double r1383431 = 1.5056327351493116e-07;
double r1383432 = 8.0;
double r1383433 = r1383388 + r1383432;
double r1383434 = r1383431 / r1383433;
double r1383435 = r1383430 + r1383434;
double r1383436 = r1383398 * r1383435;
double r1383437 = r1383382 * r1383436;
return r1383437;
}
double f(double z) {
double r1383438 = 2.0;
double r1383439 = atan2(1.0, 0.0);
double r1383440 = r1383438 * r1383439;
double r1383441 = sqrt(r1383440);
double r1383442 = 7.0;
double r1383443 = 1.0;
double r1383444 = z;
double r1383445 = r1383443 - r1383444;
double r1383446 = r1383445 - r1383443;
double r1383447 = r1383442 + r1383446;
double r1383448 = 0.5;
double r1383449 = r1383447 + r1383448;
double r1383450 = r1383448 + r1383446;
double r1383451 = pow(r1383449, r1383450);
double r1383452 = r1383441 * r1383451;
double r1383453 = -r1383449;
double r1383454 = exp(r1383453);
double r1383455 = r1383452 * r1383454;
double r1383456 = 1.5056327351493116e-07;
double r1383457 = 8.0;
double r1383458 = r1383457 + r1383446;
double r1383459 = r1383456 / r1383458;
double r1383460 = 9.984369578019572e-06;
double r1383461 = r1383460 / r1383447;
double r1383462 = -176.6150291621406;
double r1383463 = 4.0;
double r1383464 = r1383446 + r1383463;
double r1383465 = r1383462 / r1383464;
double r1383466 = 771.3234287776531;
double r1383467 = 3.0;
double r1383468 = r1383467 + r1383446;
double r1383469 = r1383466 / r1383468;
double r1383470 = 0.9999999999998099;
double r1383471 = 676.5203681218851;
double r1383472 = r1383446 + r1383443;
double r1383473 = r1383471 / r1383472;
double r1383474 = r1383470 + r1383473;
double r1383475 = -1259.1392167224028;
double r1383476 = r1383446 + r1383438;
double r1383477 = r1383475 / r1383476;
double r1383478 = r1383474 + r1383477;
double r1383479 = r1383469 + r1383478;
double r1383480 = r1383465 + r1383479;
double r1383481 = 12.507343278686905;
double r1383482 = 5.0;
double r1383483 = r1383446 + r1383482;
double r1383484 = r1383481 / r1383483;
double r1383485 = r1383480 + r1383484;
double r1383486 = -0.13857109526572012;
double r1383487 = 6.0;
double r1383488 = r1383487 + r1383446;
double r1383489 = r1383486 / r1383488;
double r1383490 = r1383485 + r1383489;
double r1383491 = r1383461 + r1383490;
double r1383492 = r1383459 + r1383491;
double r1383493 = r1383455 * r1383492;
double r1383494 = r1383439 * r1383444;
double r1383495 = sin(r1383494);
double r1383496 = r1383439 / r1383495;
double r1383497 = r1383493 * r1383496;
return r1383497;
}



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