\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)\sqrt{\pi \cdot 2} \cdot \frac{\left(\frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(0.5 - z\right)}}{e^{\left(7 - z\right) + 0.5}} \cdot \pi\right) \cdot \left(\left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 - z} + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 - z}\right) + \left(\frac{12.50734327868690520801919774385169148445}{5 - z} + \left(\frac{-1259.139216722402807135949842631816864014}{2 - z} + \left(\left(\frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3} + \left(0.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{1 - z}\right)\right) + \frac{-0.1385710952657201178173096423051902092993}{6 - z}\right)\right)\right)\right) + \frac{-176.6150291621405870046146446838974952698}{4 - z}\right)}{\sin \left(\pi \cdot z\right)}double f(double z) {
double r399471 = atan2(1.0, 0.0);
double r399472 = z;
double r399473 = r399471 * r399472;
double r399474 = sin(r399473);
double r399475 = r399471 / r399474;
double r399476 = 2.0;
double r399477 = r399471 * r399476;
double r399478 = sqrt(r399477);
double r399479 = 1.0;
double r399480 = r399479 - r399472;
double r399481 = r399480 - r399479;
double r399482 = 7.0;
double r399483 = r399481 + r399482;
double r399484 = 0.5;
double r399485 = r399483 + r399484;
double r399486 = r399481 + r399484;
double r399487 = pow(r399485, r399486);
double r399488 = r399478 * r399487;
double r399489 = -r399485;
double r399490 = exp(r399489);
double r399491 = r399488 * r399490;
double r399492 = 0.9999999999998099;
double r399493 = 676.5203681218851;
double r399494 = r399481 + r399479;
double r399495 = r399493 / r399494;
double r399496 = r399492 + r399495;
double r399497 = -1259.1392167224028;
double r399498 = r399481 + r399476;
double r399499 = r399497 / r399498;
double r399500 = r399496 + r399499;
double r399501 = 771.3234287776531;
double r399502 = 3.0;
double r399503 = r399481 + r399502;
double r399504 = r399501 / r399503;
double r399505 = r399500 + r399504;
double r399506 = -176.6150291621406;
double r399507 = 4.0;
double r399508 = r399481 + r399507;
double r399509 = r399506 / r399508;
double r399510 = r399505 + r399509;
double r399511 = 12.507343278686905;
double r399512 = 5.0;
double r399513 = r399481 + r399512;
double r399514 = r399511 / r399513;
double r399515 = r399510 + r399514;
double r399516 = -0.13857109526572012;
double r399517 = 6.0;
double r399518 = r399481 + r399517;
double r399519 = r399516 / r399518;
double r399520 = r399515 + r399519;
double r399521 = 9.984369578019572e-06;
double r399522 = r399521 / r399483;
double r399523 = r399520 + r399522;
double r399524 = 1.5056327351493116e-07;
double r399525 = 8.0;
double r399526 = r399481 + r399525;
double r399527 = r399524 / r399526;
double r399528 = r399523 + r399527;
double r399529 = r399491 * r399528;
double r399530 = r399475 * r399529;
return r399530;
}
double f(double z) {
double r399531 = atan2(1.0, 0.0);
double r399532 = 2.0;
double r399533 = r399531 * r399532;
double r399534 = sqrt(r399533);
double r399535 = 7.0;
double r399536 = z;
double r399537 = r399535 - r399536;
double r399538 = 0.5;
double r399539 = r399537 + r399538;
double r399540 = r399538 - r399536;
double r399541 = pow(r399539, r399540);
double r399542 = exp(r399539);
double r399543 = r399541 / r399542;
double r399544 = r399543 * r399531;
double r399545 = 1.5056327351493116e-07;
double r399546 = 8.0;
double r399547 = r399546 - r399536;
double r399548 = r399545 / r399547;
double r399549 = 9.984369578019572e-06;
double r399550 = r399549 / r399537;
double r399551 = r399548 + r399550;
double r399552 = 12.507343278686905;
double r399553 = 5.0;
double r399554 = r399553 - r399536;
double r399555 = r399552 / r399554;
double r399556 = -1259.1392167224028;
double r399557 = r399532 - r399536;
double r399558 = r399556 / r399557;
double r399559 = 771.3234287776531;
double r399560 = -r399536;
double r399561 = 3.0;
double r399562 = r399560 + r399561;
double r399563 = r399559 / r399562;
double r399564 = 0.9999999999998099;
double r399565 = 676.5203681218851;
double r399566 = 1.0;
double r399567 = r399566 - r399536;
double r399568 = r399565 / r399567;
double r399569 = r399564 + r399568;
double r399570 = r399563 + r399569;
double r399571 = -0.13857109526572012;
double r399572 = 6.0;
double r399573 = r399572 - r399536;
double r399574 = r399571 / r399573;
double r399575 = r399570 + r399574;
double r399576 = r399558 + r399575;
double r399577 = r399555 + r399576;
double r399578 = r399551 + r399577;
double r399579 = -176.6150291621406;
double r399580 = 4.0;
double r399581 = r399580 - r399536;
double r399582 = r399579 / r399581;
double r399583 = r399578 + r399582;
double r399584 = r399544 * r399583;
double r399585 = r399531 * r399536;
double r399586 = sin(r399585);
double r399587 = r399584 / r399586;
double r399588 = r399534 * r399587;
return r399588;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.4
rmApplied associate-*l/1.4
Applied associate-*r/1.1
Simplified0.4
Final simplification0.4
herbie shell --seed 2019325
(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))))))