\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\left(\left(\sqrt{2 \cdot \pi} \cdot \left(\left(\frac{-0.13857109526572012}{z - -5} + \frac{9.984369578019572 \cdot 10^{-06}}{z + 6}\right) + \left(\left(\frac{1.5056327351493116 \cdot 10^{-07}}{z + 7} + \left(\frac{676.5203681218851}{z} + 0.9999999999998099\right)\right) + \left(\left(\left(\frac{771.3234287776531}{z + 2} + \frac{-1259.1392167224028}{1 + z}\right) + \frac{12.507343278686905}{z - -4}\right) + \frac{-176.6150291621406}{z - -3}\right)\right)\right)\right) \cdot \left(\frac{{\left(0.5 + \left(z - -6\right)\right)}^{\left(\frac{0.5 + \left(z - 1\right)}{2}\right)}}{\sqrt{e^{0.5 + \left(z - -6\right)}}} \cdot \frac{1}{\sqrt{e^{0.5 + \left(z - -6\right)}}}\right)\right) \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(\frac{0.5 + \left(z - 1\right)}{2}\right)}double f(double z) {
double r19669169 = atan2(1.0, 0.0);
double r19669170 = 2.0;
double r19669171 = r19669169 * r19669170;
double r19669172 = sqrt(r19669171);
double r19669173 = z;
double r19669174 = 1.0;
double r19669175 = r19669173 - r19669174;
double r19669176 = 7.0;
double r19669177 = r19669175 + r19669176;
double r19669178 = 0.5;
double r19669179 = r19669177 + r19669178;
double r19669180 = r19669175 + r19669178;
double r19669181 = pow(r19669179, r19669180);
double r19669182 = r19669172 * r19669181;
double r19669183 = -r19669179;
double r19669184 = exp(r19669183);
double r19669185 = r19669182 * r19669184;
double r19669186 = 0.9999999999998099;
double r19669187 = 676.5203681218851;
double r19669188 = r19669175 + r19669174;
double r19669189 = r19669187 / r19669188;
double r19669190 = r19669186 + r19669189;
double r19669191 = -1259.1392167224028;
double r19669192 = r19669175 + r19669170;
double r19669193 = r19669191 / r19669192;
double r19669194 = r19669190 + r19669193;
double r19669195 = 771.3234287776531;
double r19669196 = 3.0;
double r19669197 = r19669175 + r19669196;
double r19669198 = r19669195 / r19669197;
double r19669199 = r19669194 + r19669198;
double r19669200 = -176.6150291621406;
double r19669201 = 4.0;
double r19669202 = r19669175 + r19669201;
double r19669203 = r19669200 / r19669202;
double r19669204 = r19669199 + r19669203;
double r19669205 = 12.507343278686905;
double r19669206 = 5.0;
double r19669207 = r19669175 + r19669206;
double r19669208 = r19669205 / r19669207;
double r19669209 = r19669204 + r19669208;
double r19669210 = -0.13857109526572012;
double r19669211 = 6.0;
double r19669212 = r19669175 + r19669211;
double r19669213 = r19669210 / r19669212;
double r19669214 = r19669209 + r19669213;
double r19669215 = 9.984369578019572e-06;
double r19669216 = r19669215 / r19669177;
double r19669217 = r19669214 + r19669216;
double r19669218 = 1.5056327351493116e-07;
double r19669219 = 8.0;
double r19669220 = r19669175 + r19669219;
double r19669221 = r19669218 / r19669220;
double r19669222 = r19669217 + r19669221;
double r19669223 = r19669185 * r19669222;
return r19669223;
}
double f(double z) {
double r19669224 = 2.0;
double r19669225 = atan2(1.0, 0.0);
double r19669226 = r19669224 * r19669225;
double r19669227 = sqrt(r19669226);
double r19669228 = -0.13857109526572012;
double r19669229 = z;
double r19669230 = -5.0;
double r19669231 = r19669229 - r19669230;
double r19669232 = r19669228 / r19669231;
double r19669233 = 9.984369578019572e-06;
double r19669234 = 6.0;
double r19669235 = r19669229 + r19669234;
double r19669236 = r19669233 / r19669235;
double r19669237 = r19669232 + r19669236;
double r19669238 = 1.5056327351493116e-07;
double r19669239 = 7.0;
double r19669240 = r19669229 + r19669239;
double r19669241 = r19669238 / r19669240;
double r19669242 = 676.5203681218851;
double r19669243 = r19669242 / r19669229;
double r19669244 = 0.9999999999998099;
double r19669245 = r19669243 + r19669244;
double r19669246 = r19669241 + r19669245;
double r19669247 = 771.3234287776531;
double r19669248 = r19669229 + r19669224;
double r19669249 = r19669247 / r19669248;
double r19669250 = -1259.1392167224028;
double r19669251 = 1.0;
double r19669252 = r19669251 + r19669229;
double r19669253 = r19669250 / r19669252;
double r19669254 = r19669249 + r19669253;
double r19669255 = 12.507343278686905;
double r19669256 = -4.0;
double r19669257 = r19669229 - r19669256;
double r19669258 = r19669255 / r19669257;
double r19669259 = r19669254 + r19669258;
double r19669260 = -176.6150291621406;
double r19669261 = -3.0;
double r19669262 = r19669229 - r19669261;
double r19669263 = r19669260 / r19669262;
double r19669264 = r19669259 + r19669263;
double r19669265 = r19669246 + r19669264;
double r19669266 = r19669237 + r19669265;
double r19669267 = r19669227 * r19669266;
double r19669268 = 0.5;
double r19669269 = -6.0;
double r19669270 = r19669229 - r19669269;
double r19669271 = r19669268 + r19669270;
double r19669272 = r19669229 - r19669251;
double r19669273 = r19669268 + r19669272;
double r19669274 = r19669273 / r19669224;
double r19669275 = pow(r19669271, r19669274);
double r19669276 = exp(r19669271);
double r19669277 = sqrt(r19669276);
double r19669278 = r19669275 / r19669277;
double r19669279 = r19669251 / r19669277;
double r19669280 = r19669278 * r19669279;
double r19669281 = r19669267 * r19669280;
double r19669282 = r19669281 * r19669275;
return r19669282;
}



Bits error versus z
Results
Initial program 59.8
Simplified1.0
rmApplied *-un-lft-identity1.0
Applied sqr-pow1.0
Applied times-frac0.9
Applied associate-*l*1.0
rmApplied add-sqr-sqrt1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
Final simplification1.0
herbie shell --seed 2019133 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))