\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)\frac{1}{e^{z}} \cdot \left(\left(\frac{\sqrt{2 \cdot \pi}}{e^{0.5}} \cdot \left(\left(\frac{-176.6150291621406}{z + 3} + \left(\left(\left(\frac{771.3234287776531}{2 + z} + \frac{676.5203681218851}{z}\right) + 0.9999999999998099\right) + \frac{-1259.1392167224028}{z - -1}\right)\right) + \left(\left(\frac{-0.13857109526572012}{\left(z - -6\right) + -1} + \frac{12.507343278686905}{4 + z}\right) + \left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{z + 7}\right)\right)\right)\right) \cdot \left(\frac{{\left(0.5 + \left(z - -6\right)\right)}^{\left(\left(z - 1\right) + 0.5\right)}}{\sqrt{e^{6}}} \cdot \frac{1}{\sqrt{e^{6}}}\right)\right)double f(double z) {
double r16807129 = atan2(1.0, 0.0);
double r16807130 = 2.0;
double r16807131 = r16807129 * r16807130;
double r16807132 = sqrt(r16807131);
double r16807133 = z;
double r16807134 = 1.0;
double r16807135 = r16807133 - r16807134;
double r16807136 = 7.0;
double r16807137 = r16807135 + r16807136;
double r16807138 = 0.5;
double r16807139 = r16807137 + r16807138;
double r16807140 = r16807135 + r16807138;
double r16807141 = pow(r16807139, r16807140);
double r16807142 = r16807132 * r16807141;
double r16807143 = -r16807139;
double r16807144 = exp(r16807143);
double r16807145 = r16807142 * r16807144;
double r16807146 = 0.9999999999998099;
double r16807147 = 676.5203681218851;
double r16807148 = r16807135 + r16807134;
double r16807149 = r16807147 / r16807148;
double r16807150 = r16807146 + r16807149;
double r16807151 = -1259.1392167224028;
double r16807152 = r16807135 + r16807130;
double r16807153 = r16807151 / r16807152;
double r16807154 = r16807150 + r16807153;
double r16807155 = 771.3234287776531;
double r16807156 = 3.0;
double r16807157 = r16807135 + r16807156;
double r16807158 = r16807155 / r16807157;
double r16807159 = r16807154 + r16807158;
double r16807160 = -176.6150291621406;
double r16807161 = 4.0;
double r16807162 = r16807135 + r16807161;
double r16807163 = r16807160 / r16807162;
double r16807164 = r16807159 + r16807163;
double r16807165 = 12.507343278686905;
double r16807166 = 5.0;
double r16807167 = r16807135 + r16807166;
double r16807168 = r16807165 / r16807167;
double r16807169 = r16807164 + r16807168;
double r16807170 = -0.13857109526572012;
double r16807171 = 6.0;
double r16807172 = r16807135 + r16807171;
double r16807173 = r16807170 / r16807172;
double r16807174 = r16807169 + r16807173;
double r16807175 = 9.984369578019572e-06;
double r16807176 = r16807175 / r16807137;
double r16807177 = r16807174 + r16807176;
double r16807178 = 1.5056327351493116e-07;
double r16807179 = 8.0;
double r16807180 = r16807135 + r16807179;
double r16807181 = r16807178 / r16807180;
double r16807182 = r16807177 + r16807181;
double r16807183 = r16807145 * r16807182;
return r16807183;
}
double f(double z) {
double r16807184 = 1.0;
double r16807185 = z;
double r16807186 = exp(r16807185);
double r16807187 = r16807184 / r16807186;
double r16807188 = 2.0;
double r16807189 = atan2(1.0, 0.0);
double r16807190 = r16807188 * r16807189;
double r16807191 = sqrt(r16807190);
double r16807192 = 0.5;
double r16807193 = exp(r16807192);
double r16807194 = r16807191 / r16807193;
double r16807195 = -176.6150291621406;
double r16807196 = 3.0;
double r16807197 = r16807185 + r16807196;
double r16807198 = r16807195 / r16807197;
double r16807199 = 771.3234287776531;
double r16807200 = r16807188 + r16807185;
double r16807201 = r16807199 / r16807200;
double r16807202 = 676.5203681218851;
double r16807203 = r16807202 / r16807185;
double r16807204 = r16807201 + r16807203;
double r16807205 = 0.9999999999998099;
double r16807206 = r16807204 + r16807205;
double r16807207 = -1259.1392167224028;
double r16807208 = -1.0;
double r16807209 = r16807185 - r16807208;
double r16807210 = r16807207 / r16807209;
double r16807211 = r16807206 + r16807210;
double r16807212 = r16807198 + r16807211;
double r16807213 = -0.13857109526572012;
double r16807214 = -6.0;
double r16807215 = r16807185 - r16807214;
double r16807216 = r16807215 + r16807208;
double r16807217 = r16807213 / r16807216;
double r16807218 = 12.507343278686905;
double r16807219 = 4.0;
double r16807220 = r16807219 + r16807185;
double r16807221 = r16807218 / r16807220;
double r16807222 = r16807217 + r16807221;
double r16807223 = 9.984369578019572e-06;
double r16807224 = r16807223 / r16807215;
double r16807225 = 1.5056327351493116e-07;
double r16807226 = 7.0;
double r16807227 = r16807185 + r16807226;
double r16807228 = r16807225 / r16807227;
double r16807229 = r16807224 + r16807228;
double r16807230 = r16807222 + r16807229;
double r16807231 = r16807212 + r16807230;
double r16807232 = r16807194 * r16807231;
double r16807233 = r16807192 + r16807215;
double r16807234 = r16807185 - r16807184;
double r16807235 = r16807234 + r16807192;
double r16807236 = pow(r16807233, r16807235);
double r16807237 = 6.0;
double r16807238 = exp(r16807237);
double r16807239 = sqrt(r16807238);
double r16807240 = r16807236 / r16807239;
double r16807241 = r16807184 / r16807239;
double r16807242 = r16807240 * r16807241;
double r16807243 = r16807232 * r16807242;
double r16807244 = r16807187 * r16807243;
return r16807244;
}



Bits error versus z
Results
Initial program 60.1
Simplified1.0
rmApplied exp-sum1.0
Applied times-frac0.8
Applied associate-*l*0.8
rmApplied sub-neg0.8
Applied exp-sum0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Applied associate-*l*0.8
rmApplied add-sqr-sqrt0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Final simplification0.8
herbie shell --seed 2019149 +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)))))