\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{\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)double f(double z) {
double r129163 = atan2(1.0, 0.0);
double r129164 = z;
double r129165 = r129163 * r129164;
double r129166 = sin(r129165);
double r129167 = r129163 / r129166;
double r129168 = 2.0;
double r129169 = r129163 * r129168;
double r129170 = sqrt(r129169);
double r129171 = 1.0;
double r129172 = r129171 - r129164;
double r129173 = r129172 - r129171;
double r129174 = 7.0;
double r129175 = r129173 + r129174;
double r129176 = 0.5;
double r129177 = r129175 + r129176;
double r129178 = r129173 + r129176;
double r129179 = pow(r129177, r129178);
double r129180 = r129170 * r129179;
double r129181 = -r129177;
double r129182 = exp(r129181);
double r129183 = r129180 * r129182;
double r129184 = 0.9999999999998099;
double r129185 = 676.5203681218851;
double r129186 = r129173 + r129171;
double r129187 = r129185 / r129186;
double r129188 = r129184 + r129187;
double r129189 = -1259.1392167224028;
double r129190 = r129173 + r129168;
double r129191 = r129189 / r129190;
double r129192 = r129188 + r129191;
double r129193 = 771.3234287776531;
double r129194 = 3.0;
double r129195 = r129173 + r129194;
double r129196 = r129193 / r129195;
double r129197 = r129192 + r129196;
double r129198 = -176.6150291621406;
double r129199 = 4.0;
double r129200 = r129173 + r129199;
double r129201 = r129198 / r129200;
double r129202 = r129197 + r129201;
double r129203 = 12.507343278686905;
double r129204 = 5.0;
double r129205 = r129173 + r129204;
double r129206 = r129203 / r129205;
double r129207 = r129202 + r129206;
double r129208 = -0.13857109526572012;
double r129209 = 6.0;
double r129210 = r129173 + r129209;
double r129211 = r129208 / r129210;
double r129212 = r129207 + r129211;
double r129213 = 9.984369578019572e-06;
double r129214 = r129213 / r129175;
double r129215 = r129212 + r129214;
double r129216 = 1.5056327351493116e-07;
double r129217 = 8.0;
double r129218 = r129173 + r129217;
double r129219 = r129216 / r129218;
double r129220 = r129215 + r129219;
double r129221 = r129183 * r129220;
double r129222 = r129167 * r129221;
return r129222;
}
double f(double z) {
double r129223 = atan2(1.0, 0.0);
double r129224 = z;
double r129225 = r129223 * r129224;
double r129226 = sin(r129225);
double r129227 = r129223 / r129226;
double r129228 = 2.0;
double r129229 = r129223 * r129228;
double r129230 = sqrt(r129229);
double r129231 = 1.0;
double r129232 = r129231 - r129224;
double r129233 = r129232 - r129231;
double r129234 = 7.0;
double r129235 = r129233 + r129234;
double r129236 = 0.5;
double r129237 = r129235 + r129236;
double r129238 = r129233 + r129236;
double r129239 = pow(r129237, r129238);
double r129240 = r129230 * r129239;
double r129241 = -r129237;
double r129242 = exp(r129241);
double r129243 = r129240 * r129242;
double r129244 = 0.9999999999998099;
double r129245 = 676.5203681218851;
double r129246 = r129233 + r129231;
double r129247 = r129245 / r129246;
double r129248 = r129244 + r129247;
double r129249 = -1259.1392167224028;
double r129250 = r129233 + r129228;
double r129251 = r129249 / r129250;
double r129252 = r129248 + r129251;
double r129253 = 771.3234287776531;
double r129254 = 3.0;
double r129255 = r129233 + r129254;
double r129256 = r129253 / r129255;
double r129257 = r129252 + r129256;
double r129258 = -176.6150291621406;
double r129259 = 4.0;
double r129260 = r129233 + r129259;
double r129261 = r129258 / r129260;
double r129262 = r129257 + r129261;
double r129263 = 12.507343278686905;
double r129264 = 5.0;
double r129265 = r129233 + r129264;
double r129266 = r129263 / r129265;
double r129267 = r129262 + r129266;
double r129268 = -0.13857109526572012;
double r129269 = 6.0;
double r129270 = r129233 + r129269;
double r129271 = r129268 / r129270;
double r129272 = r129267 + r129271;
double r129273 = 9.984369578019572e-06;
double r129274 = r129273 / r129235;
double r129275 = r129272 + r129274;
double r129276 = 1.5056327351493116e-07;
double r129277 = 8.0;
double r129278 = r129233 + r129277;
double r129279 = r129276 / r129278;
double r129280 = r129275 + r129279;
double r129281 = r129243 * r129280;
double r129282 = r129227 * r129281;
return r129282;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020057
(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))))))