\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)\left(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \left(\left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(-z\right) + 8} + \frac{-0.1385710952657201178173096423051902092993}{6 + \left(-z\right)}\right) + \left(\left(\left(\frac{-1259.139216722402807135949842631816864014}{2 + \left(-z\right)} + \mathsf{fma}\left(\frac{1}{\sqrt[3]{\left(-z\right) + 3} \cdot \sqrt[3]{\left(-z\right) + 3}}, \frac{771.3234287776531346025876700878143310547}{\sqrt[3]{\left(-z\right) + 3}}, \frac{-176.6150291621405870046146446838974952698}{\left(-z\right) + 4}\right)\right) + \left(\frac{676.5203681218850988443591631948947906494}{1 - z} + 0.9999999999998099298181841732002794742584\right)\right) + \left(\frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5} + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(-z\right) + 7}\right)\right)\right) \cdot \left(\frac{{\left(\left(\left(-z\right) + 7\right) + 0.5\right)}^{\left(0.5 + \left(-z\right)\right)}}{e^{7}} \cdot e^{z - 0.5}\right)\right)\right) \cdot \sqrt{2 \cdot \pi}double f(double z) {
double r6447034 = atan2(1.0, 0.0);
double r6447035 = z;
double r6447036 = r6447034 * r6447035;
double r6447037 = sin(r6447036);
double r6447038 = r6447034 / r6447037;
double r6447039 = 2.0;
double r6447040 = r6447034 * r6447039;
double r6447041 = sqrt(r6447040);
double r6447042 = 1.0;
double r6447043 = r6447042 - r6447035;
double r6447044 = r6447043 - r6447042;
double r6447045 = 7.0;
double r6447046 = r6447044 + r6447045;
double r6447047 = 0.5;
double r6447048 = r6447046 + r6447047;
double r6447049 = r6447044 + r6447047;
double r6447050 = pow(r6447048, r6447049);
double r6447051 = r6447041 * r6447050;
double r6447052 = -r6447048;
double r6447053 = exp(r6447052);
double r6447054 = r6447051 * r6447053;
double r6447055 = 0.9999999999998099;
double r6447056 = 676.5203681218851;
double r6447057 = r6447044 + r6447042;
double r6447058 = r6447056 / r6447057;
double r6447059 = r6447055 + r6447058;
double r6447060 = -1259.1392167224028;
double r6447061 = r6447044 + r6447039;
double r6447062 = r6447060 / r6447061;
double r6447063 = r6447059 + r6447062;
double r6447064 = 771.3234287776531;
double r6447065 = 3.0;
double r6447066 = r6447044 + r6447065;
double r6447067 = r6447064 / r6447066;
double r6447068 = r6447063 + r6447067;
double r6447069 = -176.6150291621406;
double r6447070 = 4.0;
double r6447071 = r6447044 + r6447070;
double r6447072 = r6447069 / r6447071;
double r6447073 = r6447068 + r6447072;
double r6447074 = 12.507343278686905;
double r6447075 = 5.0;
double r6447076 = r6447044 + r6447075;
double r6447077 = r6447074 / r6447076;
double r6447078 = r6447073 + r6447077;
double r6447079 = -0.13857109526572012;
double r6447080 = 6.0;
double r6447081 = r6447044 + r6447080;
double r6447082 = r6447079 / r6447081;
double r6447083 = r6447078 + r6447082;
double r6447084 = 9.984369578019572e-06;
double r6447085 = r6447084 / r6447046;
double r6447086 = r6447083 + r6447085;
double r6447087 = 1.5056327351493116e-07;
double r6447088 = 8.0;
double r6447089 = r6447044 + r6447088;
double r6447090 = r6447087 / r6447089;
double r6447091 = r6447086 + r6447090;
double r6447092 = r6447054 * r6447091;
double r6447093 = r6447038 * r6447092;
return r6447093;
}
double f(double z) {
double r6447094 = atan2(1.0, 0.0);
double r6447095 = z;
double r6447096 = r6447095 * r6447094;
double r6447097 = sin(r6447096);
double r6447098 = r6447094 / r6447097;
double r6447099 = 1.5056327351493116e-07;
double r6447100 = -r6447095;
double r6447101 = 8.0;
double r6447102 = r6447100 + r6447101;
double r6447103 = r6447099 / r6447102;
double r6447104 = -0.13857109526572012;
double r6447105 = 6.0;
double r6447106 = r6447105 + r6447100;
double r6447107 = r6447104 / r6447106;
double r6447108 = r6447103 + r6447107;
double r6447109 = -1259.1392167224028;
double r6447110 = 2.0;
double r6447111 = r6447110 + r6447100;
double r6447112 = r6447109 / r6447111;
double r6447113 = 1.0;
double r6447114 = 3.0;
double r6447115 = r6447100 + r6447114;
double r6447116 = cbrt(r6447115);
double r6447117 = r6447116 * r6447116;
double r6447118 = r6447113 / r6447117;
double r6447119 = 771.3234287776531;
double r6447120 = r6447119 / r6447116;
double r6447121 = -176.6150291621406;
double r6447122 = 4.0;
double r6447123 = r6447100 + r6447122;
double r6447124 = r6447121 / r6447123;
double r6447125 = fma(r6447118, r6447120, r6447124);
double r6447126 = r6447112 + r6447125;
double r6447127 = 676.5203681218851;
double r6447128 = 1.0;
double r6447129 = r6447128 - r6447095;
double r6447130 = r6447127 / r6447129;
double r6447131 = 0.9999999999998099;
double r6447132 = r6447130 + r6447131;
double r6447133 = r6447126 + r6447132;
double r6447134 = 12.507343278686905;
double r6447135 = 5.0;
double r6447136 = r6447100 + r6447135;
double r6447137 = r6447134 / r6447136;
double r6447138 = 9.984369578019572e-06;
double r6447139 = 7.0;
double r6447140 = r6447100 + r6447139;
double r6447141 = r6447138 / r6447140;
double r6447142 = r6447137 + r6447141;
double r6447143 = r6447133 + r6447142;
double r6447144 = r6447108 + r6447143;
double r6447145 = 0.5;
double r6447146 = r6447140 + r6447145;
double r6447147 = r6447145 + r6447100;
double r6447148 = pow(r6447146, r6447147);
double r6447149 = exp(r6447139);
double r6447150 = r6447148 / r6447149;
double r6447151 = r6447095 - r6447145;
double r6447152 = exp(r6447151);
double r6447153 = r6447150 * r6447152;
double r6447154 = r6447144 * r6447153;
double r6447155 = r6447098 * r6447154;
double r6447156 = r6447110 * r6447094;
double r6447157 = sqrt(r6447156);
double r6447158 = r6447155 * r6447157;
return r6447158;
}



Bits error versus z
Initial program 1.8
Simplified0.5
rmApplied sub0-neg0.5
Applied unsub-neg0.5
Applied associate-+l-0.5
Applied exp-diff0.5
Applied associate-/r/0.5
rmApplied add-cube-cbrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied fma-def0.5
Final simplification0.5
herbie shell --seed 2019172 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5) (+ (- (- 1.0 z) 1.0) 0.5))) (exp (- (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1.0 z) 1.0) 1.0))) (/ -1259.1392167224028 (+ (- (- 1.0 z) 1.0) 2.0))) (/ 771.3234287776531 (+ (- (- 1.0 z) 1.0) 3.0))) (/ -176.6150291621406 (+ (- (- 1.0 z) 1.0) 4.0))) (/ 12.507343278686905 (+ (- (- 1.0 z) 1.0) 5.0))) (/ -0.13857109526572012 (+ (- (- 1.0 z) 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- (- 1.0 z) 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- (- 1.0 z) 1.0) 8.0))))))