\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)\left(\left(\sqrt{2 \cdot \pi} \cdot \frac{\pi}{\sin \left(\pi \cdot z\right)}\right) \cdot \left(\sqrt[3]{\frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(\left(1 - z\right) - \left(1 - 0.5\right)\right)}}{e^{\left(7 - z\right) + 0.5}}} \cdot \left(\sqrt[3]{\frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(\left(1 - z\right) - \left(1 - 0.5\right)\right)}}{e^{\left(7 - z\right) + 0.5}}} \cdot \sqrt[3]{\frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(\left(1 - z\right) - \left(1 - 0.5\right)\right)}}{e^{\left(7 - z\right) + 0.5}}}\right)\right)\right) \cdot \left(\left(\left(\left(\frac{-1259.1392167224028}{2 - z} + \frac{-0.13857109526572012}{6 - z}\right) + \left(\frac{676.5203681218851}{1 - z} + \left(0.9999999999998099 + \frac{771.3234287776531}{\left(1 - z\right) + 2}\right)\right)\right) + \left(\frac{1.5056327351493116 \cdot 10^{-07}}{8 - z} + \frac{9.984369578019572 \cdot 10^{-06}}{7 - z}\right)\right) + \left(\frac{12.507343278686905}{-1 + \left(6 - z\right)} + \frac{-176.6150291621406}{4 - z}\right)\right)double f(double z) {
double r5588057 = atan2(1.0, 0.0);
double r5588058 = z;
double r5588059 = r5588057 * r5588058;
double r5588060 = sin(r5588059);
double r5588061 = r5588057 / r5588060;
double r5588062 = 2.0;
double r5588063 = r5588057 * r5588062;
double r5588064 = sqrt(r5588063);
double r5588065 = 1.0;
double r5588066 = r5588065 - r5588058;
double r5588067 = r5588066 - r5588065;
double r5588068 = 7.0;
double r5588069 = r5588067 + r5588068;
double r5588070 = 0.5;
double r5588071 = r5588069 + r5588070;
double r5588072 = r5588067 + r5588070;
double r5588073 = pow(r5588071, r5588072);
double r5588074 = r5588064 * r5588073;
double r5588075 = -r5588071;
double r5588076 = exp(r5588075);
double r5588077 = r5588074 * r5588076;
double r5588078 = 0.9999999999998099;
double r5588079 = 676.5203681218851;
double r5588080 = r5588067 + r5588065;
double r5588081 = r5588079 / r5588080;
double r5588082 = r5588078 + r5588081;
double r5588083 = -1259.1392167224028;
double r5588084 = r5588067 + r5588062;
double r5588085 = r5588083 / r5588084;
double r5588086 = r5588082 + r5588085;
double r5588087 = 771.3234287776531;
double r5588088 = 3.0;
double r5588089 = r5588067 + r5588088;
double r5588090 = r5588087 / r5588089;
double r5588091 = r5588086 + r5588090;
double r5588092 = -176.6150291621406;
double r5588093 = 4.0;
double r5588094 = r5588067 + r5588093;
double r5588095 = r5588092 / r5588094;
double r5588096 = r5588091 + r5588095;
double r5588097 = 12.507343278686905;
double r5588098 = 5.0;
double r5588099 = r5588067 + r5588098;
double r5588100 = r5588097 / r5588099;
double r5588101 = r5588096 + r5588100;
double r5588102 = -0.13857109526572012;
double r5588103 = 6.0;
double r5588104 = r5588067 + r5588103;
double r5588105 = r5588102 / r5588104;
double r5588106 = r5588101 + r5588105;
double r5588107 = 9.984369578019572e-06;
double r5588108 = r5588107 / r5588069;
double r5588109 = r5588106 + r5588108;
double r5588110 = 1.5056327351493116e-07;
double r5588111 = 8.0;
double r5588112 = r5588067 + r5588111;
double r5588113 = r5588110 / r5588112;
double r5588114 = r5588109 + r5588113;
double r5588115 = r5588077 * r5588114;
double r5588116 = r5588061 * r5588115;
return r5588116;
}
double f(double z) {
double r5588117 = 2.0;
double r5588118 = atan2(1.0, 0.0);
double r5588119 = r5588117 * r5588118;
double r5588120 = sqrt(r5588119);
double r5588121 = z;
double r5588122 = r5588118 * r5588121;
double r5588123 = sin(r5588122);
double r5588124 = r5588118 / r5588123;
double r5588125 = r5588120 * r5588124;
double r5588126 = 7.0;
double r5588127 = r5588126 - r5588121;
double r5588128 = 0.5;
double r5588129 = r5588127 + r5588128;
double r5588130 = 1.0;
double r5588131 = r5588130 - r5588121;
double r5588132 = r5588130 - r5588128;
double r5588133 = r5588131 - r5588132;
double r5588134 = pow(r5588129, r5588133);
double r5588135 = exp(r5588129);
double r5588136 = r5588134 / r5588135;
double r5588137 = cbrt(r5588136);
double r5588138 = r5588137 * r5588137;
double r5588139 = r5588137 * r5588138;
double r5588140 = r5588125 * r5588139;
double r5588141 = -1259.1392167224028;
double r5588142 = r5588117 - r5588121;
double r5588143 = r5588141 / r5588142;
double r5588144 = -0.13857109526572012;
double r5588145 = 6.0;
double r5588146 = r5588145 - r5588121;
double r5588147 = r5588144 / r5588146;
double r5588148 = r5588143 + r5588147;
double r5588149 = 676.5203681218851;
double r5588150 = r5588149 / r5588131;
double r5588151 = 0.9999999999998099;
double r5588152 = 771.3234287776531;
double r5588153 = r5588131 + r5588117;
double r5588154 = r5588152 / r5588153;
double r5588155 = r5588151 + r5588154;
double r5588156 = r5588150 + r5588155;
double r5588157 = r5588148 + r5588156;
double r5588158 = 1.5056327351493116e-07;
double r5588159 = 8.0;
double r5588160 = r5588159 - r5588121;
double r5588161 = r5588158 / r5588160;
double r5588162 = 9.984369578019572e-06;
double r5588163 = r5588162 / r5588127;
double r5588164 = r5588161 + r5588163;
double r5588165 = r5588157 + r5588164;
double r5588166 = 12.507343278686905;
double r5588167 = -1.0;
double r5588168 = r5588167 + r5588146;
double r5588169 = r5588166 / r5588168;
double r5588170 = -176.6150291621406;
double r5588171 = 4.0;
double r5588172 = r5588171 - r5588121;
double r5588173 = r5588170 / r5588172;
double r5588174 = r5588169 + r5588173;
double r5588175 = r5588165 + r5588174;
double r5588176 = r5588140 * r5588175;
return r5588176;
}



Bits error versus z
Results
Initial program 1.8
Simplified2.0
rmApplied add-cube-cbrt0.7
Final simplification0.7
herbie shell --seed 2019152
(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))))))