\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r130491 = atan2(1.0, 0.0);
double r130492 = z;
double r130493 = r130491 * r130492;
double r130494 = sin(r130493);
double r130495 = r130491 / r130494;
double r130496 = 2.0;
double r130497 = r130491 * r130496;
double r130498 = sqrt(r130497);
double r130499 = 1.0;
double r130500 = r130499 - r130492;
double r130501 = r130500 - r130499;
double r130502 = 7.0;
double r130503 = r130501 + r130502;
double r130504 = 0.5;
double r130505 = r130503 + r130504;
double r130506 = r130501 + r130504;
double r130507 = pow(r130505, r130506);
double r130508 = r130498 * r130507;
double r130509 = -r130505;
double r130510 = exp(r130509);
double r130511 = r130508 * r130510;
double r130512 = 0.9999999999998099;
double r130513 = 676.5203681218851;
double r130514 = r130501 + r130499;
double r130515 = r130513 / r130514;
double r130516 = r130512 + r130515;
double r130517 = -1259.1392167224028;
double r130518 = r130501 + r130496;
double r130519 = r130517 / r130518;
double r130520 = r130516 + r130519;
double r130521 = 771.3234287776531;
double r130522 = 3.0;
double r130523 = r130501 + r130522;
double r130524 = r130521 / r130523;
double r130525 = r130520 + r130524;
double r130526 = -176.6150291621406;
double r130527 = 4.0;
double r130528 = r130501 + r130527;
double r130529 = r130526 / r130528;
double r130530 = r130525 + r130529;
double r130531 = 12.507343278686905;
double r130532 = 5.0;
double r130533 = r130501 + r130532;
double r130534 = r130531 / r130533;
double r130535 = r130530 + r130534;
double r130536 = -0.13857109526572012;
double r130537 = 6.0;
double r130538 = r130501 + r130537;
double r130539 = r130536 / r130538;
double r130540 = r130535 + r130539;
double r130541 = 9.984369578019572e-06;
double r130542 = r130541 / r130503;
double r130543 = r130540 + r130542;
double r130544 = 1.5056327351493116e-07;
double r130545 = 8.0;
double r130546 = r130501 + r130545;
double r130547 = r130544 / r130546;
double r130548 = r130543 + r130547;
double r130549 = r130511 * r130548;
double r130550 = r130495 * r130549;
return r130550;
}
double f(double z) {
double r130551 = atan2(1.0, 0.0);
double r130552 = z;
double r130553 = r130551 * r130552;
double r130554 = sin(r130553);
double r130555 = r130551 / r130554;
double r130556 = 2.0;
double r130557 = r130551 * r130556;
double r130558 = sqrt(r130557);
double r130559 = 1.0;
double r130560 = r130559 - r130552;
double r130561 = r130560 - r130559;
double r130562 = 7.0;
double r130563 = r130561 + r130562;
double r130564 = 0.5;
double r130565 = r130563 + r130564;
double r130566 = r130561 + r130564;
double r130567 = pow(r130565, r130566);
double r130568 = r130558 * r130567;
double r130569 = -r130565;
double r130570 = exp(r130569);
double r130571 = r130568 * r130570;
double r130572 = 0.9999999999998099;
double r130573 = 676.5203681218851;
double r130574 = r130561 + r130559;
double r130575 = r130573 / r130574;
double r130576 = r130572 + r130575;
double r130577 = -1259.1392167224028;
double r130578 = r130561 + r130556;
double r130579 = r130577 / r130578;
double r130580 = r130576 + r130579;
double r130581 = 771.3234287776531;
double r130582 = 3.0;
double r130583 = r130561 + r130582;
double r130584 = r130581 / r130583;
double r130585 = r130580 + r130584;
double r130586 = -176.6150291621406;
double r130587 = 4.0;
double r130588 = r130561 + r130587;
double r130589 = r130586 / r130588;
double r130590 = r130585 + r130589;
double r130591 = 12.507343278686905;
double r130592 = 5.0;
double r130593 = r130561 + r130592;
double r130594 = r130591 / r130593;
double r130595 = r130590 + r130594;
double r130596 = -0.13857109526572012;
double r130597 = 6.0;
double r130598 = r130561 + r130597;
double r130599 = r130596 / r130598;
double r130600 = r130595 + r130599;
double r130601 = 9.984369578019572e-06;
double r130602 = r130601 / r130563;
double r130603 = r130600 + r130602;
double r130604 = 1.5056327351493116e-07;
double r130605 = 8.0;
double r130606 = r130561 + r130605;
double r130607 = r130604 / r130606;
double r130608 = r130603 + r130607;
double r130609 = r130571 * r130608;
double r130610 = r130555 * r130609;
return r130610;
}



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