\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.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(z - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(z - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(z - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(z - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(z - 1\right) + 8}\right)\left(\left(\left({\left(z + 6.5\right)}^{\left(z - 0.5\right)} \cdot \sqrt{2}\right) \cdot \sqrt{\pi}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\frac{-176.6150291621405870046146446838974952698}{\left(z - 1\right) + 4} + \left(\left(\frac{676.5203681218850988443591631948947906494}{z} + 0.9999999999998099298181841732002794742584\right) + \frac{-1259.139216722402807135949842631816864014}{\left(z - 1\right) + 2}\right)\right) + \left(\frac{771.3234287776531346025876700878143310547}{\left(z - 1\right) + 3} + \left(\left(\frac{12.50734327868690520801919774385169148445}{\left(z - 1\right) + 5} + \frac{-0.1385710952657201178173096423051902092993}{\left(z - 1\right) + 6}\right) + \left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(z - 1\right) + 7} + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(z - 1\right) + 8}\right)\right)\right)\right)double f(double z) {
double r227051 = atan2(1.0, 0.0);
double r227052 = 2.0;
double r227053 = r227051 * r227052;
double r227054 = sqrt(r227053);
double r227055 = z;
double r227056 = 1.0;
double r227057 = r227055 - r227056;
double r227058 = 7.0;
double r227059 = r227057 + r227058;
double r227060 = 0.5;
double r227061 = r227059 + r227060;
double r227062 = r227057 + r227060;
double r227063 = pow(r227061, r227062);
double r227064 = r227054 * r227063;
double r227065 = -r227061;
double r227066 = exp(r227065);
double r227067 = r227064 * r227066;
double r227068 = 0.9999999999998099;
double r227069 = 676.5203681218851;
double r227070 = r227057 + r227056;
double r227071 = r227069 / r227070;
double r227072 = r227068 + r227071;
double r227073 = -1259.1392167224028;
double r227074 = r227057 + r227052;
double r227075 = r227073 / r227074;
double r227076 = r227072 + r227075;
double r227077 = 771.3234287776531;
double r227078 = 3.0;
double r227079 = r227057 + r227078;
double r227080 = r227077 / r227079;
double r227081 = r227076 + r227080;
double r227082 = -176.6150291621406;
double r227083 = 4.0;
double r227084 = r227057 + r227083;
double r227085 = r227082 / r227084;
double r227086 = r227081 + r227085;
double r227087 = 12.507343278686905;
double r227088 = 5.0;
double r227089 = r227057 + r227088;
double r227090 = r227087 / r227089;
double r227091 = r227086 + r227090;
double r227092 = -0.13857109526572012;
double r227093 = 6.0;
double r227094 = r227057 + r227093;
double r227095 = r227092 / r227094;
double r227096 = r227091 + r227095;
double r227097 = 9.984369578019572e-06;
double r227098 = r227097 / r227059;
double r227099 = r227096 + r227098;
double r227100 = 1.5056327351493116e-07;
double r227101 = 8.0;
double r227102 = r227057 + r227101;
double r227103 = r227100 / r227102;
double r227104 = r227099 + r227103;
double r227105 = r227067 * r227104;
return r227105;
}
double f(double z) {
double r227106 = z;
double r227107 = 6.5;
double r227108 = r227106 + r227107;
double r227109 = 0.5;
double r227110 = r227106 - r227109;
double r227111 = pow(r227108, r227110);
double r227112 = 2.0;
double r227113 = sqrt(r227112);
double r227114 = r227111 * r227113;
double r227115 = atan2(1.0, 0.0);
double r227116 = sqrt(r227115);
double r227117 = r227114 * r227116;
double r227118 = 1.0;
double r227119 = r227106 - r227118;
double r227120 = 7.0;
double r227121 = r227119 + r227120;
double r227122 = r227121 + r227109;
double r227123 = -r227122;
double r227124 = exp(r227123);
double r227125 = r227117 * r227124;
double r227126 = -176.6150291621406;
double r227127 = 4.0;
double r227128 = r227119 + r227127;
double r227129 = r227126 / r227128;
double r227130 = 676.5203681218851;
double r227131 = r227130 / r227106;
double r227132 = 0.9999999999998099;
double r227133 = r227131 + r227132;
double r227134 = -1259.1392167224028;
double r227135 = r227119 + r227112;
double r227136 = r227134 / r227135;
double r227137 = r227133 + r227136;
double r227138 = r227129 + r227137;
double r227139 = 771.3234287776531;
double r227140 = 3.0;
double r227141 = r227119 + r227140;
double r227142 = r227139 / r227141;
double r227143 = 12.507343278686905;
double r227144 = 5.0;
double r227145 = r227119 + r227144;
double r227146 = r227143 / r227145;
double r227147 = -0.13857109526572012;
double r227148 = 6.0;
double r227149 = r227119 + r227148;
double r227150 = r227147 / r227149;
double r227151 = r227146 + r227150;
double r227152 = 9.984369578019572e-06;
double r227153 = r227152 / r227121;
double r227154 = 1.5056327351493116e-07;
double r227155 = 8.0;
double r227156 = r227119 + r227155;
double r227157 = r227154 / r227156;
double r227158 = r227153 + r227157;
double r227159 = r227151 + r227158;
double r227160 = r227142 + r227159;
double r227161 = r227138 + r227160;
double r227162 = r227125 * r227161;
return r227162;
}



Bits error versus z
Results
Initial program 61.6
Simplified1.2
rmApplied div-inv1.2
Simplified1.0
Taylor expanded around inf 1.0
Final simplification1.0
herbie shell --seed 2019304
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
:precision binary64
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.99999999999980993 (/ 676.520368121885099 (+ (- z 1) 1))) (/ -1259.13921672240281 (+ (- z 1) 2))) (/ 771.32342877765313 (+ (- z 1) 3))) (/ -176.615029162140587 (+ (- z 1) 4))) (/ 12.5073432786869052 (+ (- z 1) 5))) (/ -0.138571095265720118 (+ (- z 1) 6))) (/ 9.98436957801957158e-6 (+ (- z 1) 7))) (/ 1.50563273514931162e-7 (+ (- z 1) 8)))))