\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)\left(\left(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 + \left(-z\right)} + \frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5}\right) + \left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 + \left(-z\right)} + \left(\left(\frac{-176.6150291621405870046146446838974952698}{4 + \left(-z\right)} + \frac{-0.1385710952657201178173096423051902092993}{\left(-z\right) + 6}\right) + \left(\left(0.9999999999998099298181841732002794742584 + \left(\frac{-1259.139216722402807135949842631816864014}{2 + \left(-z\right)} + \frac{676.5203681218850988443591631948947906494}{1 - z}\right)\right) + \frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3}\right)\right)\right)\right)\right) \cdot {\left(0.5 + \left(7 + \left(-z\right)\right)\right)}^{\left(\left(-z\right) + 0.5\right)}\right) \cdot \frac{\frac{\sqrt{2 \cdot \pi}}{\sqrt[3]{e^{0.5 + \left(7 + \left(-z\right)\right)}} \cdot \sqrt[3]{e^{0.5 + \left(7 + \left(-z\right)\right)}}}}{\sqrt[3]{e^{0.5 + \left(7 + \left(-z\right)\right)}}}double f(double z) {
double r6386057 = atan2(1.0, 0.0);
double r6386058 = z;
double r6386059 = r6386057 * r6386058;
double r6386060 = sin(r6386059);
double r6386061 = r6386057 / r6386060;
double r6386062 = 2.0;
double r6386063 = r6386057 * r6386062;
double r6386064 = sqrt(r6386063);
double r6386065 = 1.0;
double r6386066 = r6386065 - r6386058;
double r6386067 = r6386066 - r6386065;
double r6386068 = 7.0;
double r6386069 = r6386067 + r6386068;
double r6386070 = 0.5;
double r6386071 = r6386069 + r6386070;
double r6386072 = r6386067 + r6386070;
double r6386073 = pow(r6386071, r6386072);
double r6386074 = r6386064 * r6386073;
double r6386075 = -r6386071;
double r6386076 = exp(r6386075);
double r6386077 = r6386074 * r6386076;
double r6386078 = 0.9999999999998099;
double r6386079 = 676.5203681218851;
double r6386080 = r6386067 + r6386065;
double r6386081 = r6386079 / r6386080;
double r6386082 = r6386078 + r6386081;
double r6386083 = -1259.1392167224028;
double r6386084 = r6386067 + r6386062;
double r6386085 = r6386083 / r6386084;
double r6386086 = r6386082 + r6386085;
double r6386087 = 771.3234287776531;
double r6386088 = 3.0;
double r6386089 = r6386067 + r6386088;
double r6386090 = r6386087 / r6386089;
double r6386091 = r6386086 + r6386090;
double r6386092 = -176.6150291621406;
double r6386093 = 4.0;
double r6386094 = r6386067 + r6386093;
double r6386095 = r6386092 / r6386094;
double r6386096 = r6386091 + r6386095;
double r6386097 = 12.507343278686905;
double r6386098 = 5.0;
double r6386099 = r6386067 + r6386098;
double r6386100 = r6386097 / r6386099;
double r6386101 = r6386096 + r6386100;
double r6386102 = -0.13857109526572012;
double r6386103 = 6.0;
double r6386104 = r6386067 + r6386103;
double r6386105 = r6386102 / r6386104;
double r6386106 = r6386101 + r6386105;
double r6386107 = 9.984369578019572e-06;
double r6386108 = r6386107 / r6386069;
double r6386109 = r6386106 + r6386108;
double r6386110 = 1.5056327351493116e-07;
double r6386111 = 8.0;
double r6386112 = r6386067 + r6386111;
double r6386113 = r6386110 / r6386112;
double r6386114 = r6386109 + r6386113;
double r6386115 = r6386077 * r6386114;
double r6386116 = r6386061 * r6386115;
return r6386116;
}
double f(double z) {
double r6386117 = atan2(1.0, 0.0);
double r6386118 = z;
double r6386119 = r6386118 * r6386117;
double r6386120 = sin(r6386119);
double r6386121 = r6386117 / r6386120;
double r6386122 = 1.5056327351493116e-07;
double r6386123 = 8.0;
double r6386124 = -r6386118;
double r6386125 = r6386123 + r6386124;
double r6386126 = r6386122 / r6386125;
double r6386127 = 12.507343278686905;
double r6386128 = 5.0;
double r6386129 = r6386124 + r6386128;
double r6386130 = r6386127 / r6386129;
double r6386131 = r6386126 + r6386130;
double r6386132 = 9.984369578019572e-06;
double r6386133 = 7.0;
double r6386134 = r6386133 + r6386124;
double r6386135 = r6386132 / r6386134;
double r6386136 = -176.6150291621406;
double r6386137 = 4.0;
double r6386138 = r6386137 + r6386124;
double r6386139 = r6386136 / r6386138;
double r6386140 = -0.13857109526572012;
double r6386141 = 6.0;
double r6386142 = r6386124 + r6386141;
double r6386143 = r6386140 / r6386142;
double r6386144 = r6386139 + r6386143;
double r6386145 = 0.9999999999998099;
double r6386146 = -1259.1392167224028;
double r6386147 = 2.0;
double r6386148 = r6386147 + r6386124;
double r6386149 = r6386146 / r6386148;
double r6386150 = 676.5203681218851;
double r6386151 = 1.0;
double r6386152 = r6386151 - r6386118;
double r6386153 = r6386150 / r6386152;
double r6386154 = r6386149 + r6386153;
double r6386155 = r6386145 + r6386154;
double r6386156 = 771.3234287776531;
double r6386157 = 3.0;
double r6386158 = r6386124 + r6386157;
double r6386159 = r6386156 / r6386158;
double r6386160 = r6386155 + r6386159;
double r6386161 = r6386144 + r6386160;
double r6386162 = r6386135 + r6386161;
double r6386163 = r6386131 + r6386162;
double r6386164 = r6386121 * r6386163;
double r6386165 = 0.5;
double r6386166 = r6386165 + r6386134;
double r6386167 = r6386124 + r6386165;
double r6386168 = pow(r6386166, r6386167);
double r6386169 = r6386164 * r6386168;
double r6386170 = r6386147 * r6386117;
double r6386171 = sqrt(r6386170);
double r6386172 = exp(r6386166);
double r6386173 = cbrt(r6386172);
double r6386174 = r6386173 * r6386173;
double r6386175 = r6386171 / r6386174;
double r6386176 = r6386175 / r6386173;
double r6386177 = r6386169 * r6386176;
return r6386177;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.2
rmApplied add-cube-cbrt1.2
Applied associate-/r*1.2
Final simplification1.2
herbie shell --seed 2019172
(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))))))