\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 r156110 = atan2(1.0, 0.0);
double r156111 = z;
double r156112 = r156110 * r156111;
double r156113 = sin(r156112);
double r156114 = r156110 / r156113;
double r156115 = 2.0;
double r156116 = r156110 * r156115;
double r156117 = sqrt(r156116);
double r156118 = 1.0;
double r156119 = r156118 - r156111;
double r156120 = r156119 - r156118;
double r156121 = 7.0;
double r156122 = r156120 + r156121;
double r156123 = 0.5;
double r156124 = r156122 + r156123;
double r156125 = r156120 + r156123;
double r156126 = pow(r156124, r156125);
double r156127 = r156117 * r156126;
double r156128 = -r156124;
double r156129 = exp(r156128);
double r156130 = r156127 * r156129;
double r156131 = 0.9999999999998099;
double r156132 = 676.5203681218851;
double r156133 = r156120 + r156118;
double r156134 = r156132 / r156133;
double r156135 = r156131 + r156134;
double r156136 = -1259.1392167224028;
double r156137 = r156120 + r156115;
double r156138 = r156136 / r156137;
double r156139 = r156135 + r156138;
double r156140 = 771.3234287776531;
double r156141 = 3.0;
double r156142 = r156120 + r156141;
double r156143 = r156140 / r156142;
double r156144 = r156139 + r156143;
double r156145 = -176.6150291621406;
double r156146 = 4.0;
double r156147 = r156120 + r156146;
double r156148 = r156145 / r156147;
double r156149 = r156144 + r156148;
double r156150 = 12.507343278686905;
double r156151 = 5.0;
double r156152 = r156120 + r156151;
double r156153 = r156150 / r156152;
double r156154 = r156149 + r156153;
double r156155 = -0.13857109526572012;
double r156156 = 6.0;
double r156157 = r156120 + r156156;
double r156158 = r156155 / r156157;
double r156159 = r156154 + r156158;
double r156160 = 9.984369578019572e-06;
double r156161 = r156160 / r156122;
double r156162 = r156159 + r156161;
double r156163 = 1.5056327351493116e-07;
double r156164 = 8.0;
double r156165 = r156120 + r156164;
double r156166 = r156163 / r156165;
double r156167 = r156162 + r156166;
double r156168 = r156130 * r156167;
double r156169 = r156114 * r156168;
return r156169;
}
double f(double z) {
double r156170 = atan2(1.0, 0.0);
double r156171 = z;
double r156172 = r156170 * r156171;
double r156173 = sin(r156172);
double r156174 = r156170 / r156173;
double r156175 = 2.0;
double r156176 = r156170 * r156175;
double r156177 = sqrt(r156176);
double r156178 = 1.0;
double r156179 = r156178 - r156171;
double r156180 = r156179 - r156178;
double r156181 = 7.0;
double r156182 = r156180 + r156181;
double r156183 = 0.5;
double r156184 = r156182 + r156183;
double r156185 = r156180 + r156183;
double r156186 = pow(r156184, r156185);
double r156187 = r156177 * r156186;
double r156188 = -r156184;
double r156189 = exp(r156188);
double r156190 = r156187 * r156189;
double r156191 = 0.9999999999998099;
double r156192 = 676.5203681218851;
double r156193 = r156180 + r156178;
double r156194 = r156192 / r156193;
double r156195 = r156191 + r156194;
double r156196 = -1259.1392167224028;
double r156197 = r156180 + r156175;
double r156198 = r156196 / r156197;
double r156199 = r156195 + r156198;
double r156200 = 771.3234287776531;
double r156201 = 3.0;
double r156202 = r156180 + r156201;
double r156203 = r156200 / r156202;
double r156204 = r156199 + r156203;
double r156205 = -176.6150291621406;
double r156206 = 4.0;
double r156207 = r156180 + r156206;
double r156208 = r156205 / r156207;
double r156209 = r156204 + r156208;
double r156210 = 12.507343278686905;
double r156211 = 5.0;
double r156212 = r156180 + r156211;
double r156213 = r156210 / r156212;
double r156214 = r156209 + r156213;
double r156215 = -0.13857109526572012;
double r156216 = 6.0;
double r156217 = r156180 + r156216;
double r156218 = r156215 / r156217;
double r156219 = r156214 + r156218;
double r156220 = 9.984369578019572e-06;
double r156221 = r156220 / r156182;
double r156222 = r156219 + r156221;
double r156223 = 1.5056327351493116e-07;
double r156224 = 8.0;
double r156225 = r156180 + r156224;
double r156226 = r156223 / r156225;
double r156227 = r156222 + r156226;
double r156228 = r156190 * r156227;
double r156229 = r156174 * r156228;
return r156229;
}



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))))))