\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.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\frac{\frac{{\left(\left(7 - z\right) + 0.5\right)}^{0.5}}{\sqrt[3]{e^{\left(7 - z\right) + 0.5}}} \cdot \left(\left(\sqrt{2 \cdot \pi} \cdot \pi\right) \cdot \frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(\left(1 - z\right) - 1\right)}}{\sqrt[3]{e^{\left(7 - z\right) + 0.5}} \cdot \sqrt[3]{e^{\left(7 - z\right) + 0.5}}}\right)}{\sin \left(z \cdot \pi\right)} \cdot \left(\left(\left(\left(\left(\left(\frac{-1259.1392167224028}{2 - z} + \frac{676.5203681218851}{1 - z}\right) + \frac{771.3234287776531}{2 + \left(1 - z\right)}\right) + \left(\frac{-176.6150291621406}{4 - z} + 0.9999999999998099\right)\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{8 - z}\right) + \frac{12.507343278686905}{5 - z}\right) + \left(\frac{9.984369578019572 \cdot 10^{-06}}{7 - z} + \frac{-0.13857109526572012}{6 - z}\right)\right)double f(double z) {
double r3726097 = atan2(1.0, 0.0);
double r3726098 = z;
double r3726099 = r3726097 * r3726098;
double r3726100 = sin(r3726099);
double r3726101 = r3726097 / r3726100;
double r3726102 = 2.0;
double r3726103 = r3726097 * r3726102;
double r3726104 = sqrt(r3726103);
double r3726105 = 1.0;
double r3726106 = r3726105 - r3726098;
double r3726107 = r3726106 - r3726105;
double r3726108 = 7.0;
double r3726109 = r3726107 + r3726108;
double r3726110 = 0.5;
double r3726111 = r3726109 + r3726110;
double r3726112 = r3726107 + r3726110;
double r3726113 = pow(r3726111, r3726112);
double r3726114 = r3726104 * r3726113;
double r3726115 = -r3726111;
double r3726116 = exp(r3726115);
double r3726117 = r3726114 * r3726116;
double r3726118 = 0.9999999999998099;
double r3726119 = 676.5203681218851;
double r3726120 = r3726107 + r3726105;
double r3726121 = r3726119 / r3726120;
double r3726122 = r3726118 + r3726121;
double r3726123 = -1259.1392167224028;
double r3726124 = r3726107 + r3726102;
double r3726125 = r3726123 / r3726124;
double r3726126 = r3726122 + r3726125;
double r3726127 = 771.3234287776531;
double r3726128 = 3.0;
double r3726129 = r3726107 + r3726128;
double r3726130 = r3726127 / r3726129;
double r3726131 = r3726126 + r3726130;
double r3726132 = -176.6150291621406;
double r3726133 = 4.0;
double r3726134 = r3726107 + r3726133;
double r3726135 = r3726132 / r3726134;
double r3726136 = r3726131 + r3726135;
double r3726137 = 12.507343278686905;
double r3726138 = 5.0;
double r3726139 = r3726107 + r3726138;
double r3726140 = r3726137 / r3726139;
double r3726141 = r3726136 + r3726140;
double r3726142 = -0.13857109526572012;
double r3726143 = 6.0;
double r3726144 = r3726107 + r3726143;
double r3726145 = r3726142 / r3726144;
double r3726146 = r3726141 + r3726145;
double r3726147 = 9.984369578019572e-06;
double r3726148 = r3726147 / r3726109;
double r3726149 = r3726146 + r3726148;
double r3726150 = 1.5056327351493116e-07;
double r3726151 = 8.0;
double r3726152 = r3726107 + r3726151;
double r3726153 = r3726150 / r3726152;
double r3726154 = r3726149 + r3726153;
double r3726155 = r3726117 * r3726154;
double r3726156 = r3726101 * r3726155;
return r3726156;
}
double f(double z) {
double r3726157 = 7.0;
double r3726158 = z;
double r3726159 = r3726157 - r3726158;
double r3726160 = 0.5;
double r3726161 = r3726159 + r3726160;
double r3726162 = pow(r3726161, r3726160);
double r3726163 = exp(r3726161);
double r3726164 = cbrt(r3726163);
double r3726165 = r3726162 / r3726164;
double r3726166 = 2.0;
double r3726167 = atan2(1.0, 0.0);
double r3726168 = r3726166 * r3726167;
double r3726169 = sqrt(r3726168);
double r3726170 = r3726169 * r3726167;
double r3726171 = 1.0;
double r3726172 = r3726171 - r3726158;
double r3726173 = r3726172 - r3726171;
double r3726174 = pow(r3726161, r3726173);
double r3726175 = r3726164 * r3726164;
double r3726176 = r3726174 / r3726175;
double r3726177 = r3726170 * r3726176;
double r3726178 = r3726165 * r3726177;
double r3726179 = r3726158 * r3726167;
double r3726180 = sin(r3726179);
double r3726181 = r3726178 / r3726180;
double r3726182 = -1259.1392167224028;
double r3726183 = r3726166 - r3726158;
double r3726184 = r3726182 / r3726183;
double r3726185 = 676.5203681218851;
double r3726186 = r3726185 / r3726172;
double r3726187 = r3726184 + r3726186;
double r3726188 = 771.3234287776531;
double r3726189 = r3726166 + r3726172;
double r3726190 = r3726188 / r3726189;
double r3726191 = r3726187 + r3726190;
double r3726192 = -176.6150291621406;
double r3726193 = 4.0;
double r3726194 = r3726193 - r3726158;
double r3726195 = r3726192 / r3726194;
double r3726196 = 0.9999999999998099;
double r3726197 = r3726195 + r3726196;
double r3726198 = r3726191 + r3726197;
double r3726199 = 1.5056327351493116e-07;
double r3726200 = 8.0;
double r3726201 = r3726200 - r3726158;
double r3726202 = r3726199 / r3726201;
double r3726203 = r3726198 + r3726202;
double r3726204 = 12.507343278686905;
double r3726205 = 5.0;
double r3726206 = r3726205 - r3726158;
double r3726207 = r3726204 / r3726206;
double r3726208 = r3726203 + r3726207;
double r3726209 = 9.984369578019572e-06;
double r3726210 = r3726209 / r3726159;
double r3726211 = -0.13857109526572012;
double r3726212 = 6.0;
double r3726213 = r3726212 - r3726158;
double r3726214 = r3726211 / r3726213;
double r3726215 = r3726210 + r3726214;
double r3726216 = r3726208 + r3726215;
double r3726217 = r3726181 * r3726216;
return r3726217;
}



Bits error versus z
Results
Initial program 1.8
Simplified0.7
rmApplied associate-*r/0.6
Applied associate-*l/0.4
rmApplied add-cube-cbrt0.4
Applied associate--r-0.4
Applied unpow-prod-up0.4
Applied times-frac0.8
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019142 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ 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))))))