\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)e^{\left(-0.5\right) - \left(z - -6\right)} \cdot \left(\left(\left(\frac{12.507343278686905}{z - -4} + \left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{z}\right) + \frac{771.3234287776531}{z + 2}\right) + \left(\frac{-176.6150291621406}{z - -3} + \frac{-1259.1392167224028}{1 + z}\right)\right)\right) + \left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{z - -7}\right) + \frac{-0.13857109526572012}{z + 5}\right)\right) \cdot \sqrt[3]{\left(\sqrt{2 \cdot \pi} \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(z - \left(1 - 0.5\right)\right)}\right) \cdot \left(\left(\sqrt{2 \cdot \pi} \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(z - \left(1 - 0.5\right)\right)}\right) \cdot \left(\sqrt{2 \cdot \pi} \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(z - \left(1 - 0.5\right)\right)}\right)\right)}\right)double f(double z) {
double r9227517 = atan2(1.0, 0.0);
double r9227518 = 2.0;
double r9227519 = r9227517 * r9227518;
double r9227520 = sqrt(r9227519);
double r9227521 = z;
double r9227522 = 1.0;
double r9227523 = r9227521 - r9227522;
double r9227524 = 7.0;
double r9227525 = r9227523 + r9227524;
double r9227526 = 0.5;
double r9227527 = r9227525 + r9227526;
double r9227528 = r9227523 + r9227526;
double r9227529 = pow(r9227527, r9227528);
double r9227530 = r9227520 * r9227529;
double r9227531 = -r9227527;
double r9227532 = exp(r9227531);
double r9227533 = r9227530 * r9227532;
double r9227534 = 0.9999999999998099;
double r9227535 = 676.5203681218851;
double r9227536 = r9227523 + r9227522;
double r9227537 = r9227535 / r9227536;
double r9227538 = r9227534 + r9227537;
double r9227539 = -1259.1392167224028;
double r9227540 = r9227523 + r9227518;
double r9227541 = r9227539 / r9227540;
double r9227542 = r9227538 + r9227541;
double r9227543 = 771.3234287776531;
double r9227544 = 3.0;
double r9227545 = r9227523 + r9227544;
double r9227546 = r9227543 / r9227545;
double r9227547 = r9227542 + r9227546;
double r9227548 = -176.6150291621406;
double r9227549 = 4.0;
double r9227550 = r9227523 + r9227549;
double r9227551 = r9227548 / r9227550;
double r9227552 = r9227547 + r9227551;
double r9227553 = 12.507343278686905;
double r9227554 = 5.0;
double r9227555 = r9227523 + r9227554;
double r9227556 = r9227553 / r9227555;
double r9227557 = r9227552 + r9227556;
double r9227558 = -0.13857109526572012;
double r9227559 = 6.0;
double r9227560 = r9227523 + r9227559;
double r9227561 = r9227558 / r9227560;
double r9227562 = r9227557 + r9227561;
double r9227563 = 9.984369578019572e-06;
double r9227564 = r9227563 / r9227525;
double r9227565 = r9227562 + r9227564;
double r9227566 = 1.5056327351493116e-07;
double r9227567 = 8.0;
double r9227568 = r9227523 + r9227567;
double r9227569 = r9227566 / r9227568;
double r9227570 = r9227565 + r9227569;
double r9227571 = r9227533 * r9227570;
return r9227571;
}
double f(double z) {
double r9227572 = 0.5;
double r9227573 = -r9227572;
double r9227574 = z;
double r9227575 = -6.0;
double r9227576 = r9227574 - r9227575;
double r9227577 = r9227573 - r9227576;
double r9227578 = exp(r9227577);
double r9227579 = 12.507343278686905;
double r9227580 = -4.0;
double r9227581 = r9227574 - r9227580;
double r9227582 = r9227579 / r9227581;
double r9227583 = 0.9999999999998099;
double r9227584 = 676.5203681218851;
double r9227585 = r9227584 / r9227574;
double r9227586 = r9227583 + r9227585;
double r9227587 = 771.3234287776531;
double r9227588 = 2.0;
double r9227589 = r9227574 + r9227588;
double r9227590 = r9227587 / r9227589;
double r9227591 = r9227586 + r9227590;
double r9227592 = -176.6150291621406;
double r9227593 = -3.0;
double r9227594 = r9227574 - r9227593;
double r9227595 = r9227592 / r9227594;
double r9227596 = -1259.1392167224028;
double r9227597 = 1.0;
double r9227598 = r9227597 + r9227574;
double r9227599 = r9227596 / r9227598;
double r9227600 = r9227595 + r9227599;
double r9227601 = r9227591 + r9227600;
double r9227602 = r9227582 + r9227601;
double r9227603 = 9.984369578019572e-06;
double r9227604 = r9227603 / r9227576;
double r9227605 = 1.5056327351493116e-07;
double r9227606 = -7.0;
double r9227607 = r9227574 - r9227606;
double r9227608 = r9227605 / r9227607;
double r9227609 = r9227604 + r9227608;
double r9227610 = -0.13857109526572012;
double r9227611 = 5.0;
double r9227612 = r9227574 + r9227611;
double r9227613 = r9227610 / r9227612;
double r9227614 = r9227609 + r9227613;
double r9227615 = r9227602 + r9227614;
double r9227616 = atan2(1.0, 0.0);
double r9227617 = r9227588 * r9227616;
double r9227618 = sqrt(r9227617);
double r9227619 = r9227572 + r9227576;
double r9227620 = r9227597 - r9227572;
double r9227621 = r9227574 - r9227620;
double r9227622 = pow(r9227619, r9227621);
double r9227623 = r9227618 * r9227622;
double r9227624 = r9227623 * r9227623;
double r9227625 = r9227623 * r9227624;
double r9227626 = cbrt(r9227625);
double r9227627 = r9227615 * r9227626;
double r9227628 = r9227578 * r9227627;
return r9227628;
}



Bits error versus z
Results
Initial program 59.8
Simplified0.9
rmApplied add-cbrt-cube0.9
Final simplification0.9
herbie shell --seed 2019165 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))