\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(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \left(\left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(-z\right) + 8} + \frac{-0.1385710952657201178173096423051902092993}{6 + \left(-z\right)}\right) + \left(\left(\left(\frac{-1259.139216722402807135949842631816864014}{2 + \left(-z\right)} + \mathsf{fma}\left(\frac{1}{\sqrt[3]{\left(-z\right) + 3} \cdot \sqrt[3]{\left(-z\right) + 3}}, \frac{771.3234287776531346025876700878143310547}{\sqrt[3]{\left(-z\right) + 3}}, \frac{-176.6150291621405870046146446838974952698}{\left(-z\right) + 4}\right)\right) + \left(\frac{676.5203681218850988443591631948947906494}{1 - z} + 0.9999999999998099298181841732002794742584\right)\right) + \left(\frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5} + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(-z\right) + 7}\right)\right)\right) \cdot \left(\frac{{\left(\left(\left(-z\right) + 7\right) + 0.5\right)}^{\left(0.5 + \left(-z\right)\right)}}{e^{7}} \cdot e^{z - 0.5}\right)\right)\right) \cdot \sqrt{2 \cdot \pi}double f(double z) {
double r6531044 = atan2(1.0, 0.0);
double r6531045 = z;
double r6531046 = r6531044 * r6531045;
double r6531047 = sin(r6531046);
double r6531048 = r6531044 / r6531047;
double r6531049 = 2.0;
double r6531050 = r6531044 * r6531049;
double r6531051 = sqrt(r6531050);
double r6531052 = 1.0;
double r6531053 = r6531052 - r6531045;
double r6531054 = r6531053 - r6531052;
double r6531055 = 7.0;
double r6531056 = r6531054 + r6531055;
double r6531057 = 0.5;
double r6531058 = r6531056 + r6531057;
double r6531059 = r6531054 + r6531057;
double r6531060 = pow(r6531058, r6531059);
double r6531061 = r6531051 * r6531060;
double r6531062 = -r6531058;
double r6531063 = exp(r6531062);
double r6531064 = r6531061 * r6531063;
double r6531065 = 0.9999999999998099;
double r6531066 = 676.5203681218851;
double r6531067 = r6531054 + r6531052;
double r6531068 = r6531066 / r6531067;
double r6531069 = r6531065 + r6531068;
double r6531070 = -1259.1392167224028;
double r6531071 = r6531054 + r6531049;
double r6531072 = r6531070 / r6531071;
double r6531073 = r6531069 + r6531072;
double r6531074 = 771.3234287776531;
double r6531075 = 3.0;
double r6531076 = r6531054 + r6531075;
double r6531077 = r6531074 / r6531076;
double r6531078 = r6531073 + r6531077;
double r6531079 = -176.6150291621406;
double r6531080 = 4.0;
double r6531081 = r6531054 + r6531080;
double r6531082 = r6531079 / r6531081;
double r6531083 = r6531078 + r6531082;
double r6531084 = 12.507343278686905;
double r6531085 = 5.0;
double r6531086 = r6531054 + r6531085;
double r6531087 = r6531084 / r6531086;
double r6531088 = r6531083 + r6531087;
double r6531089 = -0.13857109526572012;
double r6531090 = 6.0;
double r6531091 = r6531054 + r6531090;
double r6531092 = r6531089 / r6531091;
double r6531093 = r6531088 + r6531092;
double r6531094 = 9.984369578019572e-06;
double r6531095 = r6531094 / r6531056;
double r6531096 = r6531093 + r6531095;
double r6531097 = 1.5056327351493116e-07;
double r6531098 = 8.0;
double r6531099 = r6531054 + r6531098;
double r6531100 = r6531097 / r6531099;
double r6531101 = r6531096 + r6531100;
double r6531102 = r6531064 * r6531101;
double r6531103 = r6531048 * r6531102;
return r6531103;
}
double f(double z) {
double r6531104 = atan2(1.0, 0.0);
double r6531105 = z;
double r6531106 = r6531105 * r6531104;
double r6531107 = sin(r6531106);
double r6531108 = r6531104 / r6531107;
double r6531109 = 1.5056327351493116e-07;
double r6531110 = -r6531105;
double r6531111 = 8.0;
double r6531112 = r6531110 + r6531111;
double r6531113 = r6531109 / r6531112;
double r6531114 = -0.13857109526572012;
double r6531115 = 6.0;
double r6531116 = r6531115 + r6531110;
double r6531117 = r6531114 / r6531116;
double r6531118 = r6531113 + r6531117;
double r6531119 = -1259.1392167224028;
double r6531120 = 2.0;
double r6531121 = r6531120 + r6531110;
double r6531122 = r6531119 / r6531121;
double r6531123 = 1.0;
double r6531124 = 3.0;
double r6531125 = r6531110 + r6531124;
double r6531126 = cbrt(r6531125);
double r6531127 = r6531126 * r6531126;
double r6531128 = r6531123 / r6531127;
double r6531129 = 771.3234287776531;
double r6531130 = r6531129 / r6531126;
double r6531131 = -176.6150291621406;
double r6531132 = 4.0;
double r6531133 = r6531110 + r6531132;
double r6531134 = r6531131 / r6531133;
double r6531135 = fma(r6531128, r6531130, r6531134);
double r6531136 = r6531122 + r6531135;
double r6531137 = 676.5203681218851;
double r6531138 = 1.0;
double r6531139 = r6531138 - r6531105;
double r6531140 = r6531137 / r6531139;
double r6531141 = 0.9999999999998099;
double r6531142 = r6531140 + r6531141;
double r6531143 = r6531136 + r6531142;
double r6531144 = 12.507343278686905;
double r6531145 = 5.0;
double r6531146 = r6531110 + r6531145;
double r6531147 = r6531144 / r6531146;
double r6531148 = 9.984369578019572e-06;
double r6531149 = 7.0;
double r6531150 = r6531110 + r6531149;
double r6531151 = r6531148 / r6531150;
double r6531152 = r6531147 + r6531151;
double r6531153 = r6531143 + r6531152;
double r6531154 = r6531118 + r6531153;
double r6531155 = 0.5;
double r6531156 = r6531150 + r6531155;
double r6531157 = r6531155 + r6531110;
double r6531158 = pow(r6531156, r6531157);
double r6531159 = exp(r6531149);
double r6531160 = r6531158 / r6531159;
double r6531161 = r6531105 - r6531155;
double r6531162 = exp(r6531161);
double r6531163 = r6531160 * r6531162;
double r6531164 = r6531154 * r6531163;
double r6531165 = r6531108 * r6531164;
double r6531166 = r6531120 * r6531104;
double r6531167 = sqrt(r6531166);
double r6531168 = r6531165 * r6531167;
return r6531168;
}



Bits error versus z
Initial program 1.8
Simplified0.5
rmApplied sub0-neg0.5
Applied unsub-neg0.5
Applied associate-+l-0.5
Applied exp-diff0.5
Applied associate-/r/0.5
rmApplied add-cube-cbrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied fma-def0.5
Final simplification0.5
herbie shell --seed 2019172 +o rules:numerics
(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))))))