\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\frac{\frac{{\left(\left(\pi \cdot 2\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}double f(double k, double n) {
double r20900111 = 1.0;
double r20900112 = k;
double r20900113 = sqrt(r20900112);
double r20900114 = r20900111 / r20900113;
double r20900115 = 2.0;
double r20900116 = atan2(1.0, 0.0);
double r20900117 = r20900115 * r20900116;
double r20900118 = n;
double r20900119 = r20900117 * r20900118;
double r20900120 = r20900111 - r20900112;
double r20900121 = r20900120 / r20900115;
double r20900122 = pow(r20900119, r20900121);
double r20900123 = r20900114 * r20900122;
return r20900123;
}
double f(double k, double n) {
double r20900124 = atan2(1.0, 0.0);
double r20900125 = 2.0;
double r20900126 = r20900124 * r20900125;
double r20900127 = n;
double r20900128 = r20900126 * r20900127;
double r20900129 = 1.0;
double r20900130 = k;
double r20900131 = r20900129 - r20900130;
double r20900132 = r20900131 / r20900125;
double r20900133 = pow(r20900128, r20900132);
double r20900134 = sqrt(r20900130);
double r20900135 = sqrt(r20900134);
double r20900136 = r20900133 / r20900135;
double r20900137 = r20900136 / r20900135;
return r20900137;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
Simplified0.4
rmApplied add-sqr-sqrt0.5
Applied associate-/r*0.5
Final simplification0.5
herbie shell --seed 2019112
(FPCore (k n)
:name "Migdal et al, Equation (51)"
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))