\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}{\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)double f(double z) {
double r117076 = atan2(1.0, 0.0);
double r117077 = z;
double r117078 = r117076 * r117077;
double r117079 = sin(r117078);
double r117080 = r117076 / r117079;
double r117081 = 2.0;
double r117082 = r117076 * r117081;
double r117083 = sqrt(r117082);
double r117084 = 1.0;
double r117085 = r117084 - r117077;
double r117086 = r117085 - r117084;
double r117087 = 7.0;
double r117088 = r117086 + r117087;
double r117089 = 0.5;
double r117090 = r117088 + r117089;
double r117091 = r117086 + r117089;
double r117092 = pow(r117090, r117091);
double r117093 = r117083 * r117092;
double r117094 = -r117090;
double r117095 = exp(r117094);
double r117096 = r117093 * r117095;
double r117097 = 0.9999999999998099;
double r117098 = 676.5203681218851;
double r117099 = r117086 + r117084;
double r117100 = r117098 / r117099;
double r117101 = r117097 + r117100;
double r117102 = -1259.1392167224028;
double r117103 = r117086 + r117081;
double r117104 = r117102 / r117103;
double r117105 = r117101 + r117104;
double r117106 = 771.3234287776531;
double r117107 = 3.0;
double r117108 = r117086 + r117107;
double r117109 = r117106 / r117108;
double r117110 = r117105 + r117109;
double r117111 = -176.6150291621406;
double r117112 = 4.0;
double r117113 = r117086 + r117112;
double r117114 = r117111 / r117113;
double r117115 = r117110 + r117114;
double r117116 = 12.507343278686905;
double r117117 = 5.0;
double r117118 = r117086 + r117117;
double r117119 = r117116 / r117118;
double r117120 = r117115 + r117119;
double r117121 = -0.13857109526572012;
double r117122 = 6.0;
double r117123 = r117086 + r117122;
double r117124 = r117121 / r117123;
double r117125 = r117120 + r117124;
double r117126 = 9.984369578019572e-06;
double r117127 = r117126 / r117088;
double r117128 = r117125 + r117127;
double r117129 = 1.5056327351493116e-07;
double r117130 = 8.0;
double r117131 = r117086 + r117130;
double r117132 = r117129 / r117131;
double r117133 = r117128 + r117132;
double r117134 = r117096 * r117133;
double r117135 = r117080 * r117134;
return r117135;
}
double f(double z) {
double r117136 = atan2(1.0, 0.0);
double r117137 = z;
double r117138 = r117136 * r117137;
double r117139 = sin(r117138);
double r117140 = r117136 / r117139;
double r117141 = 2.0;
double r117142 = r117136 * r117141;
double r117143 = sqrt(r117142);
double r117144 = 1.0;
double r117145 = r117144 - r117137;
double r117146 = r117145 - r117144;
double r117147 = 7.0;
double r117148 = r117146 + r117147;
double r117149 = 0.5;
double r117150 = r117148 + r117149;
double r117151 = r117146 + r117149;
double r117152 = pow(r117150, r117151);
double r117153 = r117143 * r117152;
double r117154 = -r117150;
double r117155 = exp(r117154);
double r117156 = r117153 * r117155;
double r117157 = 0.9999999999998099;
double r117158 = 676.5203681218851;
double r117159 = r117146 + r117144;
double r117160 = r117158 / r117159;
double r117161 = r117157 + r117160;
double r117162 = -1259.1392167224028;
double r117163 = r117146 + r117141;
double r117164 = r117162 / r117163;
double r117165 = r117161 + r117164;
double r117166 = 771.3234287776531;
double r117167 = 3.0;
double r117168 = r117146 + r117167;
double r117169 = r117166 / r117168;
double r117170 = r117165 + r117169;
double r117171 = -176.6150291621406;
double r117172 = 4.0;
double r117173 = r117146 + r117172;
double r117174 = r117171 / r117173;
double r117175 = r117170 + r117174;
double r117176 = 12.507343278686905;
double r117177 = 5.0;
double r117178 = r117146 + r117177;
double r117179 = r117176 / r117178;
double r117180 = r117175 + r117179;
double r117181 = -0.13857109526572012;
double r117182 = 6.0;
double r117183 = r117146 + r117182;
double r117184 = r117181 / r117183;
double r117185 = r117180 + r117184;
double r117186 = 9.984369578019572e-06;
double r117187 = r117186 / r117148;
double r117188 = r117185 + r117187;
double r117189 = 1.5056327351493116e-07;
double r117190 = 8.0;
double r117191 = r117146 + r117190;
double r117192 = r117189 / r117191;
double r117193 = r117188 + r117192;
double r117194 = r117156 * r117193;
double r117195 = r117140 * r117194;
return r117195;
}



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