\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.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\left(\left(\sqrt{\pi \cdot 2} \cdot \frac{\pi}{\sin \left(z \cdot \pi\right)}\right) \cdot \left(\left(\left(\left(\frac{-176.6150291621406}{4 - z} + \sqrt[3]{\left(\frac{676.5203681218851}{1 - z} + 0.9999999999998099\right) + \frac{771.3234287776531}{\left(1 - z\right) + 2}} \cdot \left(\sqrt[3]{\left(\frac{676.5203681218851}{1 - z} + 0.9999999999998099\right) + \frac{771.3234287776531}{\left(1 - z\right) + 2}} \cdot \sqrt[3]{\left(\frac{676.5203681218851}{1 - z} + 0.9999999999998099\right) + \frac{771.3234287776531}{\left(1 - z\right) + 2}}\right)\right) + \frac{-1259.1392167224028}{2 - z}\right) + \left(\frac{12.507343278686905}{\left(6 - z\right) + -1} + \frac{-0.13857109526572012}{6 - z}\right)\right) + \left(\frac{1.5056327351493116 \cdot 10^{-07}}{8 - z} + \frac{9.984369578019572 \cdot 10^{-06}}{7 - z}\right)\right)\right) \cdot \frac{{\left(\sqrt[3]{0.5 + \left(7 - z\right)} \cdot \sqrt[3]{0.5 + \left(7 - z\right)}\right)}^{\left(\left(-z\right) + 0.5\right)}}{\frac{e^{0.5 + \left(7 - z\right)}}{{\left(\sqrt[3]{0.5 + \left(7 - z\right)}\right)}^{\left(\left(-z\right) + 0.5\right)}}}double f(double z) {
double r7229200 = atan2(1.0, 0.0);
double r7229201 = z;
double r7229202 = r7229200 * r7229201;
double r7229203 = sin(r7229202);
double r7229204 = r7229200 / r7229203;
double r7229205 = 2.0;
double r7229206 = r7229200 * r7229205;
double r7229207 = sqrt(r7229206);
double r7229208 = 1.0;
double r7229209 = r7229208 - r7229201;
double r7229210 = r7229209 - r7229208;
double r7229211 = 7.0;
double r7229212 = r7229210 + r7229211;
double r7229213 = 0.5;
double r7229214 = r7229212 + r7229213;
double r7229215 = r7229210 + r7229213;
double r7229216 = pow(r7229214, r7229215);
double r7229217 = r7229207 * r7229216;
double r7229218 = -r7229214;
double r7229219 = exp(r7229218);
double r7229220 = r7229217 * r7229219;
double r7229221 = 0.9999999999998099;
double r7229222 = 676.5203681218851;
double r7229223 = r7229210 + r7229208;
double r7229224 = r7229222 / r7229223;
double r7229225 = r7229221 + r7229224;
double r7229226 = -1259.1392167224028;
double r7229227 = r7229210 + r7229205;
double r7229228 = r7229226 / r7229227;
double r7229229 = r7229225 + r7229228;
double r7229230 = 771.3234287776531;
double r7229231 = 3.0;
double r7229232 = r7229210 + r7229231;
double r7229233 = r7229230 / r7229232;
double r7229234 = r7229229 + r7229233;
double r7229235 = -176.6150291621406;
double r7229236 = 4.0;
double r7229237 = r7229210 + r7229236;
double r7229238 = r7229235 / r7229237;
double r7229239 = r7229234 + r7229238;
double r7229240 = 12.507343278686905;
double r7229241 = 5.0;
double r7229242 = r7229210 + r7229241;
double r7229243 = r7229240 / r7229242;
double r7229244 = r7229239 + r7229243;
double r7229245 = -0.13857109526572012;
double r7229246 = 6.0;
double r7229247 = r7229210 + r7229246;
double r7229248 = r7229245 / r7229247;
double r7229249 = r7229244 + r7229248;
double r7229250 = 9.984369578019572e-06;
double r7229251 = r7229250 / r7229212;
double r7229252 = r7229249 + r7229251;
double r7229253 = 1.5056327351493116e-07;
double r7229254 = 8.0;
double r7229255 = r7229210 + r7229254;
double r7229256 = r7229253 / r7229255;
double r7229257 = r7229252 + r7229256;
double r7229258 = r7229220 * r7229257;
double r7229259 = r7229204 * r7229258;
return r7229259;
}
double f(double z) {
double r7229260 = atan2(1.0, 0.0);
double r7229261 = 2.0;
double r7229262 = r7229260 * r7229261;
double r7229263 = sqrt(r7229262);
double r7229264 = z;
double r7229265 = r7229264 * r7229260;
double r7229266 = sin(r7229265);
double r7229267 = r7229260 / r7229266;
double r7229268 = r7229263 * r7229267;
double r7229269 = -176.6150291621406;
double r7229270 = 4.0;
double r7229271 = r7229270 - r7229264;
double r7229272 = r7229269 / r7229271;
double r7229273 = 676.5203681218851;
double r7229274 = 1.0;
double r7229275 = r7229274 - r7229264;
double r7229276 = r7229273 / r7229275;
double r7229277 = 0.9999999999998099;
double r7229278 = r7229276 + r7229277;
double r7229279 = 771.3234287776531;
double r7229280 = r7229275 + r7229261;
double r7229281 = r7229279 / r7229280;
double r7229282 = r7229278 + r7229281;
double r7229283 = cbrt(r7229282);
double r7229284 = r7229283 * r7229283;
double r7229285 = r7229283 * r7229284;
double r7229286 = r7229272 + r7229285;
double r7229287 = -1259.1392167224028;
double r7229288 = r7229261 - r7229264;
double r7229289 = r7229287 / r7229288;
double r7229290 = r7229286 + r7229289;
double r7229291 = 12.507343278686905;
double r7229292 = 6.0;
double r7229293 = r7229292 - r7229264;
double r7229294 = -1.0;
double r7229295 = r7229293 + r7229294;
double r7229296 = r7229291 / r7229295;
double r7229297 = -0.13857109526572012;
double r7229298 = r7229297 / r7229293;
double r7229299 = r7229296 + r7229298;
double r7229300 = r7229290 + r7229299;
double r7229301 = 1.5056327351493116e-07;
double r7229302 = 8.0;
double r7229303 = r7229302 - r7229264;
double r7229304 = r7229301 / r7229303;
double r7229305 = 9.984369578019572e-06;
double r7229306 = 7.0;
double r7229307 = r7229306 - r7229264;
double r7229308 = r7229305 / r7229307;
double r7229309 = r7229304 + r7229308;
double r7229310 = r7229300 + r7229309;
double r7229311 = r7229268 * r7229310;
double r7229312 = 0.5;
double r7229313 = r7229312 + r7229307;
double r7229314 = cbrt(r7229313);
double r7229315 = r7229314 * r7229314;
double r7229316 = -r7229264;
double r7229317 = r7229316 + r7229312;
double r7229318 = pow(r7229315, r7229317);
double r7229319 = exp(r7229313);
double r7229320 = pow(r7229314, r7229317);
double r7229321 = r7229319 / r7229320;
double r7229322 = r7229318 / r7229321;
double r7229323 = r7229311 * r7229322;
return r7229323;
}



Bits error versus z
Results
Initial program 1.8
Simplified2.1
rmApplied add-cube-cbrt1.1
rmApplied add-cube-cbrt1.1
Applied unpow-prod-down1.1
Applied associate-/l*1.1
Final simplification1.1
herbie shell --seed 2019138
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ 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))))))