\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{\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)double f(double z) {
double r144120 = atan2(1.0, 0.0);
double r144121 = z;
double r144122 = r144120 * r144121;
double r144123 = sin(r144122);
double r144124 = r144120 / r144123;
double r144125 = 2.0;
double r144126 = r144120 * r144125;
double r144127 = sqrt(r144126);
double r144128 = 1.0;
double r144129 = r144128 - r144121;
double r144130 = r144129 - r144128;
double r144131 = 7.0;
double r144132 = r144130 + r144131;
double r144133 = 0.5;
double r144134 = r144132 + r144133;
double r144135 = r144130 + r144133;
double r144136 = pow(r144134, r144135);
double r144137 = r144127 * r144136;
double r144138 = -r144134;
double r144139 = exp(r144138);
double r144140 = r144137 * r144139;
double r144141 = 0.9999999999998099;
double r144142 = 676.5203681218851;
double r144143 = r144130 + r144128;
double r144144 = r144142 / r144143;
double r144145 = r144141 + r144144;
double r144146 = -1259.1392167224028;
double r144147 = r144130 + r144125;
double r144148 = r144146 / r144147;
double r144149 = r144145 + r144148;
double r144150 = 771.3234287776531;
double r144151 = 3.0;
double r144152 = r144130 + r144151;
double r144153 = r144150 / r144152;
double r144154 = r144149 + r144153;
double r144155 = -176.6150291621406;
double r144156 = 4.0;
double r144157 = r144130 + r144156;
double r144158 = r144155 / r144157;
double r144159 = r144154 + r144158;
double r144160 = 12.507343278686905;
double r144161 = 5.0;
double r144162 = r144130 + r144161;
double r144163 = r144160 / r144162;
double r144164 = r144159 + r144163;
double r144165 = -0.13857109526572012;
double r144166 = 6.0;
double r144167 = r144130 + r144166;
double r144168 = r144165 / r144167;
double r144169 = r144164 + r144168;
double r144170 = 9.984369578019572e-06;
double r144171 = r144170 / r144132;
double r144172 = r144169 + r144171;
double r144173 = 1.5056327351493116e-07;
double r144174 = 8.0;
double r144175 = r144130 + r144174;
double r144176 = r144173 / r144175;
double r144177 = r144172 + r144176;
double r144178 = r144140 * r144177;
double r144179 = r144124 * r144178;
return r144179;
}
double f(double z) {
double r144180 = atan2(1.0, 0.0);
double r144181 = z;
double r144182 = r144180 * r144181;
double r144183 = sin(r144182);
double r144184 = r144180 / r144183;
double r144185 = 2.0;
double r144186 = r144180 * r144185;
double r144187 = sqrt(r144186);
double r144188 = 1.0;
double r144189 = r144188 - r144181;
double r144190 = r144189 - r144188;
double r144191 = 7.0;
double r144192 = r144190 + r144191;
double r144193 = 0.5;
double r144194 = r144192 + r144193;
double r144195 = r144190 + r144193;
double r144196 = pow(r144194, r144195);
double r144197 = r144187 * r144196;
double r144198 = -r144194;
double r144199 = exp(r144198);
double r144200 = r144197 * r144199;
double r144201 = 0.9999999999998099;
double r144202 = 676.5203681218851;
double r144203 = r144190 + r144188;
double r144204 = r144202 / r144203;
double r144205 = r144201 + r144204;
double r144206 = -1259.1392167224028;
double r144207 = r144190 + r144185;
double r144208 = r144206 / r144207;
double r144209 = r144205 + r144208;
double r144210 = 771.3234287776531;
double r144211 = 3.0;
double r144212 = r144190 + r144211;
double r144213 = r144210 / r144212;
double r144214 = r144209 + r144213;
double r144215 = -176.6150291621406;
double r144216 = 4.0;
double r144217 = r144190 + r144216;
double r144218 = r144215 / r144217;
double r144219 = r144214 + r144218;
double r144220 = 12.507343278686905;
double r144221 = 5.0;
double r144222 = r144190 + r144221;
double r144223 = r144220 / r144222;
double r144224 = r144219 + r144223;
double r144225 = -0.13857109526572012;
double r144226 = 6.0;
double r144227 = r144190 + r144226;
double r144228 = r144225 / r144227;
double r144229 = r144224 + r144228;
double r144230 = 9.984369578019572e-06;
double r144231 = r144230 / r144192;
double r144232 = r144229 + r144231;
double r144233 = 1.5056327351493116e-07;
double r144234 = 8.0;
double r144235 = r144190 + r144234;
double r144236 = r144233 / r144235;
double r144237 = r144232 + r144236;
double r144238 = r144200 * r144237;
double r144239 = r144184 * r144238;
return r144239;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020027
(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))))))