\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(0.5 + \left(7 - z\right)\right)}^{\left(0.5 - z\right)} \cdot \left(\left(\sqrt[3]{\pi \cdot \sqrt{\pi \cdot 2}} \cdot \sqrt[3]{\pi \cdot \sqrt{\pi \cdot 2}}\right) \cdot \sqrt[3]{\pi \cdot \sqrt{\pi \cdot 2}}\right)}{\frac{\sin \left(\pi \cdot z\right)}{\left(\left(\frac{771.32342877765313}{3 - z} + \left(\left(0.99999999999980993 + \frac{676.520368121885099}{1 - z}\right) + \frac{-1259.13921672240281}{2 - z}\right)\right) + \frac{-176.615029162140587}{4 - z}\right) + \left(\left(\frac{1.50563273514931162 \cdot 10^{-7}}{8 - z} + \left(\frac{9.98436957801957158 \cdot 10^{-6}}{7 - z} + \frac{-0.138571095265720118}{6 - z}\right)\right) + \frac{12.5073432786869052}{5 - z}\right)} \cdot e^{0.5 + \left(7 - z\right)}}double f(double z) {
double r129181 = atan2(1.0, 0.0);
double r129182 = z;
double r129183 = r129181 * r129182;
double r129184 = sin(r129183);
double r129185 = r129181 / r129184;
double r129186 = 2.0;
double r129187 = r129181 * r129186;
double r129188 = sqrt(r129187);
double r129189 = 1.0;
double r129190 = r129189 - r129182;
double r129191 = r129190 - r129189;
double r129192 = 7.0;
double r129193 = r129191 + r129192;
double r129194 = 0.5;
double r129195 = r129193 + r129194;
double r129196 = r129191 + r129194;
double r129197 = pow(r129195, r129196);
double r129198 = r129188 * r129197;
double r129199 = -r129195;
double r129200 = exp(r129199);
double r129201 = r129198 * r129200;
double r129202 = 0.9999999999998099;
double r129203 = 676.5203681218851;
double r129204 = r129191 + r129189;
double r129205 = r129203 / r129204;
double r129206 = r129202 + r129205;
double r129207 = -1259.1392167224028;
double r129208 = r129191 + r129186;
double r129209 = r129207 / r129208;
double r129210 = r129206 + r129209;
double r129211 = 771.3234287776531;
double r129212 = 3.0;
double r129213 = r129191 + r129212;
double r129214 = r129211 / r129213;
double r129215 = r129210 + r129214;
double r129216 = -176.6150291621406;
double r129217 = 4.0;
double r129218 = r129191 + r129217;
double r129219 = r129216 / r129218;
double r129220 = r129215 + r129219;
double r129221 = 12.507343278686905;
double r129222 = 5.0;
double r129223 = r129191 + r129222;
double r129224 = r129221 / r129223;
double r129225 = r129220 + r129224;
double r129226 = -0.13857109526572012;
double r129227 = 6.0;
double r129228 = r129191 + r129227;
double r129229 = r129226 / r129228;
double r129230 = r129225 + r129229;
double r129231 = 9.984369578019572e-06;
double r129232 = r129231 / r129193;
double r129233 = r129230 + r129232;
double r129234 = 1.5056327351493116e-07;
double r129235 = 8.0;
double r129236 = r129191 + r129235;
double r129237 = r129234 / r129236;
double r129238 = r129233 + r129237;
double r129239 = r129201 * r129238;
double r129240 = r129185 * r129239;
return r129240;
}
double f(double z) {
double r129241 = 0.5;
double r129242 = 7.0;
double r129243 = z;
double r129244 = r129242 - r129243;
double r129245 = r129241 + r129244;
double r129246 = r129241 - r129243;
double r129247 = pow(r129245, r129246);
double r129248 = atan2(1.0, 0.0);
double r129249 = 2.0;
double r129250 = r129248 * r129249;
double r129251 = sqrt(r129250);
double r129252 = r129248 * r129251;
double r129253 = cbrt(r129252);
double r129254 = r129253 * r129253;
double r129255 = r129254 * r129253;
double r129256 = r129247 * r129255;
double r129257 = r129248 * r129243;
double r129258 = sin(r129257);
double r129259 = 771.3234287776531;
double r129260 = 3.0;
double r129261 = r129260 - r129243;
double r129262 = r129259 / r129261;
double r129263 = 0.9999999999998099;
double r129264 = 676.5203681218851;
double r129265 = 1.0;
double r129266 = r129265 - r129243;
double r129267 = r129264 / r129266;
double r129268 = r129263 + r129267;
double r129269 = -1259.1392167224028;
double r129270 = r129249 - r129243;
double r129271 = r129269 / r129270;
double r129272 = r129268 + r129271;
double r129273 = r129262 + r129272;
double r129274 = -176.6150291621406;
double r129275 = 4.0;
double r129276 = r129275 - r129243;
double r129277 = r129274 / r129276;
double r129278 = r129273 + r129277;
double r129279 = 1.5056327351493116e-07;
double r129280 = 8.0;
double r129281 = r129280 - r129243;
double r129282 = r129279 / r129281;
double r129283 = 9.984369578019572e-06;
double r129284 = r129283 / r129244;
double r129285 = -0.13857109526572012;
double r129286 = 6.0;
double r129287 = r129286 - r129243;
double r129288 = r129285 / r129287;
double r129289 = r129284 + r129288;
double r129290 = r129282 + r129289;
double r129291 = 12.507343278686905;
double r129292 = 5.0;
double r129293 = r129292 - r129243;
double r129294 = r129291 / r129293;
double r129295 = r129290 + r129294;
double r129296 = r129278 + r129295;
double r129297 = r129258 / r129296;
double r129298 = exp(r129245);
double r129299 = r129297 * r129298;
double r129300 = r129256 / r129299;
return r129300;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020046
(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))))))