\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 r151308 = atan2(1.0, 0.0);
double r151309 = z;
double r151310 = r151308 * r151309;
double r151311 = sin(r151310);
double r151312 = r151308 / r151311;
double r151313 = 2.0;
double r151314 = r151308 * r151313;
double r151315 = sqrt(r151314);
double r151316 = 1.0;
double r151317 = r151316 - r151309;
double r151318 = r151317 - r151316;
double r151319 = 7.0;
double r151320 = r151318 + r151319;
double r151321 = 0.5;
double r151322 = r151320 + r151321;
double r151323 = r151318 + r151321;
double r151324 = pow(r151322, r151323);
double r151325 = r151315 * r151324;
double r151326 = -r151322;
double r151327 = exp(r151326);
double r151328 = r151325 * r151327;
double r151329 = 0.9999999999998099;
double r151330 = 676.5203681218851;
double r151331 = r151318 + r151316;
double r151332 = r151330 / r151331;
double r151333 = r151329 + r151332;
double r151334 = -1259.1392167224028;
double r151335 = r151318 + r151313;
double r151336 = r151334 / r151335;
double r151337 = r151333 + r151336;
double r151338 = 771.3234287776531;
double r151339 = 3.0;
double r151340 = r151318 + r151339;
double r151341 = r151338 / r151340;
double r151342 = r151337 + r151341;
double r151343 = -176.6150291621406;
double r151344 = 4.0;
double r151345 = r151318 + r151344;
double r151346 = r151343 / r151345;
double r151347 = r151342 + r151346;
double r151348 = 12.507343278686905;
double r151349 = 5.0;
double r151350 = r151318 + r151349;
double r151351 = r151348 / r151350;
double r151352 = r151347 + r151351;
double r151353 = -0.13857109526572012;
double r151354 = 6.0;
double r151355 = r151318 + r151354;
double r151356 = r151353 / r151355;
double r151357 = r151352 + r151356;
double r151358 = 9.984369578019572e-06;
double r151359 = r151358 / r151320;
double r151360 = r151357 + r151359;
double r151361 = 1.5056327351493116e-07;
double r151362 = 8.0;
double r151363 = r151318 + r151362;
double r151364 = r151361 / r151363;
double r151365 = r151360 + r151364;
double r151366 = r151328 * r151365;
double r151367 = r151312 * r151366;
return r151367;
}
double f(double z) {
double r151368 = atan2(1.0, 0.0);
double r151369 = z;
double r151370 = r151368 * r151369;
double r151371 = sin(r151370);
double r151372 = r151368 / r151371;
double r151373 = 2.0;
double r151374 = r151368 * r151373;
double r151375 = sqrt(r151374);
double r151376 = 1.0;
double r151377 = r151376 - r151369;
double r151378 = r151377 - r151376;
double r151379 = 7.0;
double r151380 = r151378 + r151379;
double r151381 = 0.5;
double r151382 = r151380 + r151381;
double r151383 = r151378 + r151381;
double r151384 = pow(r151382, r151383);
double r151385 = r151375 * r151384;
double r151386 = -r151382;
double r151387 = exp(r151386);
double r151388 = r151385 * r151387;
double r151389 = 0.9999999999998099;
double r151390 = 676.5203681218851;
double r151391 = r151378 + r151376;
double r151392 = r151390 / r151391;
double r151393 = r151389 + r151392;
double r151394 = -1259.1392167224028;
double r151395 = r151378 + r151373;
double r151396 = r151394 / r151395;
double r151397 = r151393 + r151396;
double r151398 = 771.3234287776531;
double r151399 = 3.0;
double r151400 = r151378 + r151399;
double r151401 = r151398 / r151400;
double r151402 = r151397 + r151401;
double r151403 = -176.6150291621406;
double r151404 = 4.0;
double r151405 = r151378 + r151404;
double r151406 = r151403 / r151405;
double r151407 = r151402 + r151406;
double r151408 = 12.507343278686905;
double r151409 = 5.0;
double r151410 = r151378 + r151409;
double r151411 = r151408 / r151410;
double r151412 = r151407 + r151411;
double r151413 = -0.13857109526572012;
double r151414 = 6.0;
double r151415 = r151378 + r151414;
double r151416 = r151413 / r151415;
double r151417 = r151412 + r151416;
double r151418 = 9.984369578019572e-06;
double r151419 = r151418 / r151380;
double r151420 = r151417 + r151419;
double r151421 = 1.5056327351493116e-07;
double r151422 = 8.0;
double r151423 = r151378 + r151422;
double r151424 = r151421 / r151423;
double r151425 = r151420 + r151424;
double r151426 = r151388 * r151425;
double r151427 = r151372 * r151426;
return r151427;
}



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