\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{\frac{\left({\left(0.5 + \left(7 - z\right)\right)}^{\left(0.5 - z\right)} \cdot \sqrt{\pi \cdot 2}\right) \cdot \left(\left(\frac{12.5073432786869052}{5 - z} \cdot \frac{12.5073432786869052}{5 - z} - \frac{-176.615029162140587}{4 - z} \cdot \frac{-176.615029162140587}{4 - z}\right) \cdot \left(\left(\left(8 - z\right) \cdot \left(7 - z\right)\right) \cdot \left(\left(\frac{-0.138571095265720118}{6 - z} - \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) \cdot \left(3 - z\right)\right)\right) + \left(\frac{12.5073432786869052}{5 - z} - \frac{-176.615029162140587}{4 - z}\right) \cdot \left(\left(1.50563273514931162 \cdot 10^{-7} \cdot \left(7 - z\right) + \left(8 - z\right) \cdot 9.98436957801957158 \cdot 10^{-6}\right) \cdot \left(\left(\frac{-0.138571095265720118}{6 - z} - \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) \cdot \left(3 - z\right)\right) + \left(\left(8 - z\right) \cdot \left(7 - z\right)\right) \cdot \left(\left(\frac{-0.138571095265720118}{6 - z} \cdot \frac{-0.138571095265720118}{6 - z} - \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right) \cdot \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) \cdot \left(3 - z\right) + \left(\frac{-0.138571095265720118}{6 - z} - \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) \cdot 771.32342877765313\right)\right)\right)}{\left(\frac{12.5073432786869052}{5 - z} - \frac{-176.615029162140587}{4 - z}\right) \cdot \left(\left(\left(8 - z\right) \cdot \left(7 - z\right)\right) \cdot \left(\left(\frac{-0.138571095265720118}{6 - z} - \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) \cdot \left(3 - z\right)\right)\right)}}{\frac{\sin \left(\pi \cdot z\right)}{\pi} \cdot e^{0.5 + \left(7 - z\right)}}double f(double z) {
double r207391 = atan2(1.0, 0.0);
double r207392 = z;
double r207393 = r207391 * r207392;
double r207394 = sin(r207393);
double r207395 = r207391 / r207394;
double r207396 = 2.0;
double r207397 = r207391 * r207396;
double r207398 = sqrt(r207397);
double r207399 = 1.0;
double r207400 = r207399 - r207392;
double r207401 = r207400 - r207399;
double r207402 = 7.0;
double r207403 = r207401 + r207402;
double r207404 = 0.5;
double r207405 = r207403 + r207404;
double r207406 = r207401 + r207404;
double r207407 = pow(r207405, r207406);
double r207408 = r207398 * r207407;
double r207409 = -r207405;
double r207410 = exp(r207409);
double r207411 = r207408 * r207410;
double r207412 = 0.9999999999998099;
double r207413 = 676.5203681218851;
double r207414 = r207401 + r207399;
double r207415 = r207413 / r207414;
double r207416 = r207412 + r207415;
double r207417 = -1259.1392167224028;
double r207418 = r207401 + r207396;
double r207419 = r207417 / r207418;
double r207420 = r207416 + r207419;
double r207421 = 771.3234287776531;
double r207422 = 3.0;
double r207423 = r207401 + r207422;
double r207424 = r207421 / r207423;
double r207425 = r207420 + r207424;
double r207426 = -176.6150291621406;
double r207427 = 4.0;
double r207428 = r207401 + r207427;
double r207429 = r207426 / r207428;
double r207430 = r207425 + r207429;
double r207431 = 12.507343278686905;
double r207432 = 5.0;
double r207433 = r207401 + r207432;
double r207434 = r207431 / r207433;
double r207435 = r207430 + r207434;
double r207436 = -0.13857109526572012;
double r207437 = 6.0;
double r207438 = r207401 + r207437;
double r207439 = r207436 / r207438;
double r207440 = r207435 + r207439;
double r207441 = 9.984369578019572e-06;
double r207442 = r207441 / r207403;
double r207443 = r207440 + r207442;
double r207444 = 1.5056327351493116e-07;
double r207445 = 8.0;
double r207446 = r207401 + r207445;
double r207447 = r207444 / r207446;
double r207448 = r207443 + r207447;
double r207449 = r207411 * r207448;
double r207450 = r207395 * r207449;
return r207450;
}
double f(double z) {
double r207451 = 0.5;
double r207452 = 7.0;
double r207453 = z;
double r207454 = r207452 - r207453;
double r207455 = r207451 + r207454;
double r207456 = r207451 - r207453;
double r207457 = pow(r207455, r207456);
double r207458 = atan2(1.0, 0.0);
double r207459 = 2.0;
double r207460 = r207458 * r207459;
double r207461 = sqrt(r207460);
double r207462 = r207457 * r207461;
double r207463 = 12.507343278686905;
double r207464 = 5.0;
double r207465 = r207464 - r207453;
double r207466 = r207463 / r207465;
double r207467 = r207466 * r207466;
double r207468 = -176.6150291621406;
double r207469 = 4.0;
double r207470 = r207469 - r207453;
double r207471 = r207468 / r207470;
double r207472 = r207471 * r207471;
double r207473 = r207467 - r207472;
double r207474 = 8.0;
double r207475 = r207474 - r207453;
double r207476 = r207475 * r207454;
double r207477 = -0.13857109526572012;
double r207478 = 6.0;
double r207479 = r207478 - r207453;
double r207480 = r207477 / r207479;
double r207481 = 0.9999999999998099;
double r207482 = 676.5203681218851;
double r207483 = 1.0;
double r207484 = r207483 - r207453;
double r207485 = r207482 / r207484;
double r207486 = r207481 + r207485;
double r207487 = -1259.1392167224028;
double r207488 = r207459 - r207453;
double r207489 = r207487 / r207488;
double r207490 = r207486 + r207489;
double r207491 = r207480 - r207490;
double r207492 = 3.0;
double r207493 = r207492 - r207453;
double r207494 = r207491 * r207493;
double r207495 = r207476 * r207494;
double r207496 = r207473 * r207495;
double r207497 = r207466 - r207471;
double r207498 = 1.5056327351493116e-07;
double r207499 = r207498 * r207454;
double r207500 = 9.984369578019572e-06;
double r207501 = r207475 * r207500;
double r207502 = r207499 + r207501;
double r207503 = r207502 * r207494;
double r207504 = r207480 * r207480;
double r207505 = r207490 * r207490;
double r207506 = r207504 - r207505;
double r207507 = r207506 * r207493;
double r207508 = 771.3234287776531;
double r207509 = r207491 * r207508;
double r207510 = r207507 + r207509;
double r207511 = r207476 * r207510;
double r207512 = r207503 + r207511;
double r207513 = r207497 * r207512;
double r207514 = r207496 + r207513;
double r207515 = r207462 * r207514;
double r207516 = r207497 * r207495;
double r207517 = r207515 / r207516;
double r207518 = r207458 * r207453;
double r207519 = sin(r207518);
double r207520 = r207519 / r207458;
double r207521 = exp(r207455);
double r207522 = r207520 * r207521;
double r207523 = r207517 / r207522;
return r207523;
}



Bits error versus z
Results
Initial program 1.8
Simplified0.6
rmApplied flip-+0.6
Applied frac-add0.6
Applied frac-add0.6
Applied frac-add0.6
Applied flip-+0.6
Applied frac-add0.6
Applied associate-*r/0.5
Final simplification0.5
herbie shell --seed 2020047
(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))))))