\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{\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)double f(double z) {
double r152378 = atan2(1.0, 0.0);
double r152379 = z;
double r152380 = r152378 * r152379;
double r152381 = sin(r152380);
double r152382 = r152378 / r152381;
double r152383 = 2.0;
double r152384 = r152378 * r152383;
double r152385 = sqrt(r152384);
double r152386 = 1.0;
double r152387 = r152386 - r152379;
double r152388 = r152387 - r152386;
double r152389 = 7.0;
double r152390 = r152388 + r152389;
double r152391 = 0.5;
double r152392 = r152390 + r152391;
double r152393 = r152388 + r152391;
double r152394 = pow(r152392, r152393);
double r152395 = r152385 * r152394;
double r152396 = -r152392;
double r152397 = exp(r152396);
double r152398 = r152395 * r152397;
double r152399 = 0.9999999999998099;
double r152400 = 676.5203681218851;
double r152401 = r152388 + r152386;
double r152402 = r152400 / r152401;
double r152403 = r152399 + r152402;
double r152404 = -1259.1392167224028;
double r152405 = r152388 + r152383;
double r152406 = r152404 / r152405;
double r152407 = r152403 + r152406;
double r152408 = 771.3234287776531;
double r152409 = 3.0;
double r152410 = r152388 + r152409;
double r152411 = r152408 / r152410;
double r152412 = r152407 + r152411;
double r152413 = -176.6150291621406;
double r152414 = 4.0;
double r152415 = r152388 + r152414;
double r152416 = r152413 / r152415;
double r152417 = r152412 + r152416;
double r152418 = 12.507343278686905;
double r152419 = 5.0;
double r152420 = r152388 + r152419;
double r152421 = r152418 / r152420;
double r152422 = r152417 + r152421;
double r152423 = -0.13857109526572012;
double r152424 = 6.0;
double r152425 = r152388 + r152424;
double r152426 = r152423 / r152425;
double r152427 = r152422 + r152426;
double r152428 = 9.984369578019572e-06;
double r152429 = r152428 / r152390;
double r152430 = r152427 + r152429;
double r152431 = 1.5056327351493116e-07;
double r152432 = 8.0;
double r152433 = r152388 + r152432;
double r152434 = r152431 / r152433;
double r152435 = r152430 + r152434;
double r152436 = r152398 * r152435;
double r152437 = r152382 * r152436;
return r152437;
}
double f(double z) {
double r152438 = atan2(1.0, 0.0);
double r152439 = z;
double r152440 = r152438 * r152439;
double r152441 = sin(r152440);
double r152442 = r152438 / r152441;
double r152443 = 2.0;
double r152444 = r152438 * r152443;
double r152445 = sqrt(r152444);
double r152446 = 1.0;
double r152447 = r152446 - r152439;
double r152448 = r152447 - r152446;
double r152449 = 7.0;
double r152450 = r152448 + r152449;
double r152451 = 0.5;
double r152452 = r152450 + r152451;
double r152453 = r152448 + r152451;
double r152454 = pow(r152452, r152453);
double r152455 = r152445 * r152454;
double r152456 = -r152452;
double r152457 = exp(r152456);
double r152458 = r152455 * r152457;
double r152459 = 0.9999999999998099;
double r152460 = 676.5203681218851;
double r152461 = r152448 + r152446;
double r152462 = r152460 / r152461;
double r152463 = r152459 + r152462;
double r152464 = -1259.1392167224028;
double r152465 = r152448 + r152443;
double r152466 = r152464 / r152465;
double r152467 = r152463 + r152466;
double r152468 = 771.3234287776531;
double r152469 = 3.0;
double r152470 = r152448 + r152469;
double r152471 = r152468 / r152470;
double r152472 = r152467 + r152471;
double r152473 = -176.6150291621406;
double r152474 = 4.0;
double r152475 = r152448 + r152474;
double r152476 = r152473 / r152475;
double r152477 = r152472 + r152476;
double r152478 = 12.507343278686905;
double r152479 = 5.0;
double r152480 = r152448 + r152479;
double r152481 = r152478 / r152480;
double r152482 = r152477 + r152481;
double r152483 = -0.13857109526572012;
double r152484 = 6.0;
double r152485 = r152448 + r152484;
double r152486 = r152483 / r152485;
double r152487 = r152482 + r152486;
double r152488 = 9.984369578019572e-06;
double r152489 = r152488 / r152450;
double r152490 = r152487 + r152489;
double r152491 = 1.5056327351493116e-07;
double r152492 = 8.0;
double r152493 = r152448 + r152492;
double r152494 = r152491 / r152493;
double r152495 = r152490 + r152494;
double r152496 = r152458 * r152495;
double r152497 = r152442 * r152496;
return r152497;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020001 +o rules:numerics
(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))))))