\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.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\frac{\pi}{\frac{\frac{\sin \left(\pi \cdot z\right)}{\frac{\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)}}{e^{\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5}}}}{\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8} + \left(\left(0.9999999999998099298181841732002794742584 + \left(\frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2} + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right)\right) + \frac{676.5203681218850988443591631948947906494}{1 - z}\right)\right) + \left(\left(\frac{-176.6150291621405870046146446838974952698}{\left(1 - \left(z + 1\right)\right) + 4} + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \left(\frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6} + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right)\right)}}double f(double z) {
double r17091112 = atan2(1.0, 0.0);
double r17091113 = z;
double r17091114 = r17091112 * r17091113;
double r17091115 = sin(r17091114);
double r17091116 = r17091112 / r17091115;
double r17091117 = 2.0;
double r17091118 = r17091112 * r17091117;
double r17091119 = sqrt(r17091118);
double r17091120 = 1.0;
double r17091121 = r17091120 - r17091113;
double r17091122 = r17091121 - r17091120;
double r17091123 = 7.0;
double r17091124 = r17091122 + r17091123;
double r17091125 = 0.5;
double r17091126 = r17091124 + r17091125;
double r17091127 = r17091122 + r17091125;
double r17091128 = pow(r17091126, r17091127);
double r17091129 = r17091119 * r17091128;
double r17091130 = -r17091126;
double r17091131 = exp(r17091130);
double r17091132 = r17091129 * r17091131;
double r17091133 = 0.9999999999998099;
double r17091134 = 676.5203681218851;
double r17091135 = r17091122 + r17091120;
double r17091136 = r17091134 / r17091135;
double r17091137 = r17091133 + r17091136;
double r17091138 = -1259.1392167224028;
double r17091139 = r17091122 + r17091117;
double r17091140 = r17091138 / r17091139;
double r17091141 = r17091137 + r17091140;
double r17091142 = 771.3234287776531;
double r17091143 = 3.0;
double r17091144 = r17091122 + r17091143;
double r17091145 = r17091142 / r17091144;
double r17091146 = r17091141 + r17091145;
double r17091147 = -176.6150291621406;
double r17091148 = 4.0;
double r17091149 = r17091122 + r17091148;
double r17091150 = r17091147 / r17091149;
double r17091151 = r17091146 + r17091150;
double r17091152 = 12.507343278686905;
double r17091153 = 5.0;
double r17091154 = r17091122 + r17091153;
double r17091155 = r17091152 / r17091154;
double r17091156 = r17091151 + r17091155;
double r17091157 = -0.13857109526572012;
double r17091158 = 6.0;
double r17091159 = r17091122 + r17091158;
double r17091160 = r17091157 / r17091159;
double r17091161 = r17091156 + r17091160;
double r17091162 = 9.984369578019572e-06;
double r17091163 = r17091162 / r17091124;
double r17091164 = r17091161 + r17091163;
double r17091165 = 1.5056327351493116e-07;
double r17091166 = 8.0;
double r17091167 = r17091122 + r17091166;
double r17091168 = r17091165 / r17091167;
double r17091169 = r17091164 + r17091168;
double r17091170 = r17091132 * r17091169;
double r17091171 = r17091116 * r17091170;
return r17091171;
}
double f(double z) {
double r17091172 = atan2(1.0, 0.0);
double r17091173 = z;
double r17091174 = r17091172 * r17091173;
double r17091175 = sin(r17091174);
double r17091176 = 2.0;
double r17091177 = r17091172 * r17091176;
double r17091178 = sqrt(r17091177);
double r17091179 = 1.0;
double r17091180 = r17091179 - r17091173;
double r17091181 = r17091180 - r17091179;
double r17091182 = 7.0;
double r17091183 = r17091181 + r17091182;
double r17091184 = 0.5;
double r17091185 = r17091183 + r17091184;
double r17091186 = r17091181 + r17091184;
double r17091187 = pow(r17091185, r17091186);
double r17091188 = r17091178 * r17091187;
double r17091189 = exp(r17091185);
double r17091190 = r17091188 / r17091189;
double r17091191 = r17091175 / r17091190;
double r17091192 = 1.5056327351493116e-07;
double r17091193 = 8.0;
double r17091194 = r17091181 + r17091193;
double r17091195 = r17091192 / r17091194;
double r17091196 = 0.9999999999998099;
double r17091197 = -1259.1392167224028;
double r17091198 = r17091181 + r17091176;
double r17091199 = r17091197 / r17091198;
double r17091200 = 771.3234287776531;
double r17091201 = 3.0;
double r17091202 = r17091181 + r17091201;
double r17091203 = r17091200 / r17091202;
double r17091204 = r17091199 + r17091203;
double r17091205 = r17091196 + r17091204;
double r17091206 = 676.5203681218851;
double r17091207 = r17091206 / r17091180;
double r17091208 = r17091205 + r17091207;
double r17091209 = r17091195 + r17091208;
double r17091210 = -176.6150291621406;
double r17091211 = r17091173 + r17091179;
double r17091212 = r17091179 - r17091211;
double r17091213 = 4.0;
double r17091214 = r17091212 + r17091213;
double r17091215 = r17091210 / r17091214;
double r17091216 = 12.507343278686905;
double r17091217 = 5.0;
double r17091218 = r17091181 + r17091217;
double r17091219 = r17091216 / r17091218;
double r17091220 = r17091215 + r17091219;
double r17091221 = -0.13857109526572012;
double r17091222 = 6.0;
double r17091223 = r17091181 + r17091222;
double r17091224 = r17091221 / r17091223;
double r17091225 = 9.984369578019572e-06;
double r17091226 = r17091225 / r17091183;
double r17091227 = r17091224 + r17091226;
double r17091228 = r17091220 + r17091227;
double r17091229 = r17091209 + r17091228;
double r17091230 = r17091191 / r17091229;
double r17091231 = r17091172 / r17091230;
return r17091231;
}



Bits error versus z
Results
Initial program 1.8
Simplified0.5
rmApplied associate--l-0.5
Final simplification0.5
herbie shell --seed 2019173 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5) (+ (- (- 1.0 z) 1.0) 0.5))) (exp (- (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1.0 z) 1.0) 1.0))) (/ -1259.1392167224028 (+ (- (- 1.0 z) 1.0) 2.0))) (/ 771.3234287776531 (+ (- (- 1.0 z) 1.0) 3.0))) (/ -176.6150291621406 (+ (- (- 1.0 z) 1.0) 4.0))) (/ 12.507343278686905 (+ (- (- 1.0 z) 1.0) 5.0))) (/ -0.13857109526572012 (+ (- (- 1.0 z) 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- (- 1.0 z) 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- (- 1.0 z) 1.0) 8.0))))))