\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\frac{\left(\left(\left(\frac{-0.138571095265720118}{6 - z} + \frac{1.50563273514931162 \cdot 10^{-7}}{8 - z}\right) + \left(\frac{-176.615029162140587}{4 - z} + \left(\left(\left(\left(0.99999999999980993 + \frac{771.32342877765313}{3 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right) + \left(\frac{12.5073432786869052}{5 - z} + \frac{676.520368121885099}{1 - z}\right)\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{7 - z}\right)\right)\right) \cdot \pi\right) \cdot \left(\sqrt{\pi \cdot 2} \cdot \left(\frac{{\left(\sqrt{7 + \left(0.5 - z\right)}\right)}^{\left(0.5 - z\right)}}{\sqrt[3]{e^{7 + \left(0.5 - z\right)}} \cdot \sqrt[3]{e^{7 + \left(0.5 - z\right)}}} \cdot \frac{{\left(\sqrt{7 + \left(0.5 - z\right)}\right)}^{\left(0.5 - z\right)}}{\sqrt[3]{e^{7 + \left(0.5 - z\right)}}}\right)\right)}{\sin \left(\pi \cdot z\right)}double f(double z) {
double r366203 = atan2(1.0, 0.0);
double r366204 = z;
double r366205 = r366203 * r366204;
double r366206 = sin(r366205);
double r366207 = r366203 / r366206;
double r366208 = 2.0;
double r366209 = r366203 * r366208;
double r366210 = sqrt(r366209);
double r366211 = 1.0;
double r366212 = r366211 - r366204;
double r366213 = r366212 - r366211;
double r366214 = 7.0;
double r366215 = r366213 + r366214;
double r366216 = 0.5;
double r366217 = r366215 + r366216;
double r366218 = r366213 + r366216;
double r366219 = pow(r366217, r366218);
double r366220 = r366210 * r366219;
double r366221 = -r366217;
double r366222 = exp(r366221);
double r366223 = r366220 * r366222;
double r366224 = 0.9999999999998099;
double r366225 = 676.5203681218851;
double r366226 = r366213 + r366211;
double r366227 = r366225 / r366226;
double r366228 = r366224 + r366227;
double r366229 = -1259.1392167224028;
double r366230 = r366213 + r366208;
double r366231 = r366229 / r366230;
double r366232 = r366228 + r366231;
double r366233 = 771.3234287776531;
double r366234 = 3.0;
double r366235 = r366213 + r366234;
double r366236 = r366233 / r366235;
double r366237 = r366232 + r366236;
double r366238 = -176.6150291621406;
double r366239 = 4.0;
double r366240 = r366213 + r366239;
double r366241 = r366238 / r366240;
double r366242 = r366237 + r366241;
double r366243 = 12.507343278686905;
double r366244 = 5.0;
double r366245 = r366213 + r366244;
double r366246 = r366243 / r366245;
double r366247 = r366242 + r366246;
double r366248 = -0.13857109526572012;
double r366249 = 6.0;
double r366250 = r366213 + r366249;
double r366251 = r366248 / r366250;
double r366252 = r366247 + r366251;
double r366253 = 9.984369578019572e-06;
double r366254 = r366253 / r366215;
double r366255 = r366252 + r366254;
double r366256 = 1.5056327351493116e-07;
double r366257 = 8.0;
double r366258 = r366213 + r366257;
double r366259 = r366256 / r366258;
double r366260 = r366255 + r366259;
double r366261 = r366223 * r366260;
double r366262 = r366207 * r366261;
return r366262;
}
double f(double z) {
double r366263 = -0.13857109526572012;
double r366264 = 6.0;
double r366265 = z;
double r366266 = r366264 - r366265;
double r366267 = r366263 / r366266;
double r366268 = 1.5056327351493116e-07;
double r366269 = 8.0;
double r366270 = r366269 - r366265;
double r366271 = r366268 / r366270;
double r366272 = r366267 + r366271;
double r366273 = -176.6150291621406;
double r366274 = 4.0;
double r366275 = r366274 - r366265;
double r366276 = r366273 / r366275;
double r366277 = 0.9999999999998099;
double r366278 = 771.3234287776531;
double r366279 = 3.0;
double r366280 = r366279 - r366265;
double r366281 = r366278 / r366280;
double r366282 = r366277 + r366281;
double r366283 = -1259.1392167224028;
double r366284 = 2.0;
double r366285 = r366284 - r366265;
double r366286 = r366283 / r366285;
double r366287 = r366282 + r366286;
double r366288 = 12.507343278686905;
double r366289 = 5.0;
double r366290 = r366289 - r366265;
double r366291 = r366288 / r366290;
double r366292 = 676.5203681218851;
double r366293 = 1.0;
double r366294 = r366293 - r366265;
double r366295 = r366292 / r366294;
double r366296 = r366291 + r366295;
double r366297 = r366287 + r366296;
double r366298 = 9.984369578019572e-06;
double r366299 = 7.0;
double r366300 = r366299 - r366265;
double r366301 = r366298 / r366300;
double r366302 = r366297 + r366301;
double r366303 = r366276 + r366302;
double r366304 = r366272 + r366303;
double r366305 = atan2(1.0, 0.0);
double r366306 = r366304 * r366305;
double r366307 = r366305 * r366284;
double r366308 = sqrt(r366307);
double r366309 = 0.5;
double r366310 = r366309 - r366265;
double r366311 = r366299 + r366310;
double r366312 = sqrt(r366311);
double r366313 = pow(r366312, r366310);
double r366314 = exp(r366311);
double r366315 = cbrt(r366314);
double r366316 = r366315 * r366315;
double r366317 = r366313 / r366316;
double r366318 = r366313 / r366315;
double r366319 = r366317 * r366318;
double r366320 = r366308 * r366319;
double r366321 = r366306 * r366320;
double r366322 = r366305 * r366265;
double r366323 = sin(r366322);
double r366324 = r366321 / r366323;
return r366324;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.1
rmApplied add-cube-cbrt1.1
Applied add-sqr-sqrt1.1
Applied unpow-prod-down1.1
Applied times-frac1.1
rmApplied associate-*l/1.0
Applied associate-*r/0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020045
(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))))))