\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\left(\frac{1}{\sqrt{k}} \cdot \left({2}^{\left(\frac{1 - k}{2}\right)} \cdot {\pi}^{\left(\frac{1 - k}{2}\right)}\right)\right) \cdot {n}^{\left(\frac{1 - k}{2}\right)}double f(double k, double n) {
double r71339 = 1.0;
double r71340 = k;
double r71341 = sqrt(r71340);
double r71342 = r71339 / r71341;
double r71343 = 2.0;
double r71344 = atan2(1.0, 0.0);
double r71345 = r71343 * r71344;
double r71346 = n;
double r71347 = r71345 * r71346;
double r71348 = r71339 - r71340;
double r71349 = r71348 / r71343;
double r71350 = pow(r71347, r71349);
double r71351 = r71342 * r71350;
return r71351;
}
double f(double k, double n) {
double r71352 = 1.0;
double r71353 = k;
double r71354 = sqrt(r71353);
double r71355 = r71352 / r71354;
double r71356 = 2.0;
double r71357 = r71352 - r71353;
double r71358 = r71357 / r71356;
double r71359 = pow(r71356, r71358);
double r71360 = atan2(1.0, 0.0);
double r71361 = pow(r71360, r71358);
double r71362 = r71359 * r71361;
double r71363 = r71355 * r71362;
double r71364 = n;
double r71365 = pow(r71364, r71358);
double r71366 = r71363 * r71365;
return r71366;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
rmApplied unpow-prod-down0.5
Applied associate-*r*0.5
rmApplied unpow-prod-down0.5
Final simplification0.5
herbie shell --seed 2019325
(FPCore (k n)
:name "Migdal et al, Equation (51)"
:precision binary64
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))