\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(\sqrt[3]{\left(1 - z\right) - 1} \cdot \sqrt[3]{\left(1 - z\right) - 1}\right) \cdot \sqrt[3]{\left(1 - z\right) - 1} + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\sqrt[3]{-1 \cdot {z}^{3}} + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\sqrt[3]{\left(1 - z\right) - 1} \cdot \sqrt[3]{\left(1 - z\right) - 1}\right) \cdot \sqrt[3]{\left(1 - z\right) - 1} + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r115301 = atan2(1.0, 0.0);
double r115302 = z;
double r115303 = r115301 * r115302;
double r115304 = sin(r115303);
double r115305 = r115301 / r115304;
double r115306 = 2.0;
double r115307 = r115301 * r115306;
double r115308 = sqrt(r115307);
double r115309 = 1.0;
double r115310 = r115309 - r115302;
double r115311 = r115310 - r115309;
double r115312 = 7.0;
double r115313 = r115311 + r115312;
double r115314 = 0.5;
double r115315 = r115313 + r115314;
double r115316 = r115311 + r115314;
double r115317 = pow(r115315, r115316);
double r115318 = r115308 * r115317;
double r115319 = -r115315;
double r115320 = exp(r115319);
double r115321 = r115318 * r115320;
double r115322 = 0.9999999999998099;
double r115323 = 676.5203681218851;
double r115324 = r115311 + r115309;
double r115325 = r115323 / r115324;
double r115326 = r115322 + r115325;
double r115327 = -1259.1392167224028;
double r115328 = r115311 + r115306;
double r115329 = r115327 / r115328;
double r115330 = r115326 + r115329;
double r115331 = 771.3234287776531;
double r115332 = 3.0;
double r115333 = r115311 + r115332;
double r115334 = r115331 / r115333;
double r115335 = r115330 + r115334;
double r115336 = -176.6150291621406;
double r115337 = 4.0;
double r115338 = r115311 + r115337;
double r115339 = r115336 / r115338;
double r115340 = r115335 + r115339;
double r115341 = 12.507343278686905;
double r115342 = 5.0;
double r115343 = r115311 + r115342;
double r115344 = r115341 / r115343;
double r115345 = r115340 + r115344;
double r115346 = -0.13857109526572012;
double r115347 = 6.0;
double r115348 = r115311 + r115347;
double r115349 = r115346 / r115348;
double r115350 = r115345 + r115349;
double r115351 = 9.984369578019572e-06;
double r115352 = r115351 / r115313;
double r115353 = r115350 + r115352;
double r115354 = 1.5056327351493116e-07;
double r115355 = 8.0;
double r115356 = r115311 + r115355;
double r115357 = r115354 / r115356;
double r115358 = r115353 + r115357;
double r115359 = r115321 * r115358;
double r115360 = r115305 * r115359;
return r115360;
}
double f(double z) {
double r115361 = atan2(1.0, 0.0);
double r115362 = z;
double r115363 = r115361 * r115362;
double r115364 = sin(r115363);
double r115365 = r115361 / r115364;
double r115366 = 2.0;
double r115367 = r115361 * r115366;
double r115368 = sqrt(r115367);
double r115369 = 1.0;
double r115370 = r115369 - r115362;
double r115371 = r115370 - r115369;
double r115372 = 7.0;
double r115373 = r115371 + r115372;
double r115374 = 0.5;
double r115375 = r115373 + r115374;
double r115376 = r115371 + r115374;
double r115377 = pow(r115375, r115376);
double r115378 = r115368 * r115377;
double r115379 = -r115375;
double r115380 = exp(r115379);
double r115381 = r115378 * r115380;
double r115382 = 0.9999999999998099;
double r115383 = 676.5203681218851;
double r115384 = r115371 + r115369;
double r115385 = r115383 / r115384;
double r115386 = r115382 + r115385;
double r115387 = -1259.1392167224028;
double r115388 = r115371 + r115366;
double r115389 = r115387 / r115388;
double r115390 = r115386 + r115389;
double r115391 = 771.3234287776531;
double r115392 = 3.0;
double r115393 = r115371 + r115392;
double r115394 = r115391 / r115393;
double r115395 = r115390 + r115394;
double r115396 = -176.6150291621406;
double r115397 = 4.0;
double r115398 = r115371 + r115397;
double r115399 = r115396 / r115398;
double r115400 = r115395 + r115399;
double r115401 = 12.507343278686905;
double r115402 = cbrt(r115371);
double r115403 = r115402 * r115402;
double r115404 = r115403 * r115402;
double r115405 = 5.0;
double r115406 = r115404 + r115405;
double r115407 = r115401 / r115406;
double r115408 = r115400 + r115407;
double r115409 = -0.13857109526572012;
double r115410 = -1.0;
double r115411 = 3.0;
double r115412 = pow(r115362, r115411);
double r115413 = r115410 * r115412;
double r115414 = cbrt(r115413);
double r115415 = 6.0;
double r115416 = r115414 + r115415;
double r115417 = r115409 / r115416;
double r115418 = r115408 + r115417;
double r115419 = 9.984369578019572e-06;
double r115420 = r115404 + r115372;
double r115421 = r115419 / r115420;
double r115422 = r115418 + r115421;
double r115423 = 1.5056327351493116e-07;
double r115424 = 8.0;
double r115425 = r115371 + r115424;
double r115426 = r115423 / r115425;
double r115427 = r115422 + r115426;
double r115428 = r115381 * r115427;
double r115429 = r115365 * r115428;
return r115429;
}



Bits error versus z
Results
Initial program 1.8
rmApplied add-cube-cbrt1.8
rmApplied add-cbrt-cube1.8
Simplified1.8
rmApplied add-cube-cbrt1.8
Final simplification1.8
herbie shell --seed 2019353
(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))))))