\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\sqrt{\frac{1 \cdot 1}{k}} \cdot \left(\left({2}^{\left(\frac{1 - k}{2}\right)} \cdot {\pi}^{\left(\frac{1 - k}{2}\right)}\right) \cdot {n}^{\left(\frac{1 - k}{2}\right)}\right)double f(double k, double n) {
double r140729 = 1.0;
double r140730 = k;
double r140731 = sqrt(r140730);
double r140732 = r140729 / r140731;
double r140733 = 2.0;
double r140734 = atan2(1.0, 0.0);
double r140735 = r140733 * r140734;
double r140736 = n;
double r140737 = r140735 * r140736;
double r140738 = r140729 - r140730;
double r140739 = r140738 / r140733;
double r140740 = pow(r140737, r140739);
double r140741 = r140732 * r140740;
return r140741;
}
double f(double k, double n) {
double r140742 = 1.0;
double r140743 = r140742 * r140742;
double r140744 = k;
double r140745 = r140743 / r140744;
double r140746 = sqrt(r140745);
double r140747 = 2.0;
double r140748 = r140742 - r140744;
double r140749 = r140748 / r140747;
double r140750 = pow(r140747, r140749);
double r140751 = atan2(1.0, 0.0);
double r140752 = pow(r140751, r140749);
double r140753 = r140750 * r140752;
double r140754 = n;
double r140755 = pow(r140754, r140749);
double r140756 = r140753 * r140755;
double r140757 = r140746 * r140756;
return r140757;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
rmApplied add-sqr-sqrt0.5
rmApplied sqrt-unprod0.4
Simplified0.4
rmApplied unpow-prod-down0.5
rmApplied unpow-prod-down0.4
Final simplification0.4
herbie shell --seed 2019347
(FPCore (k n)
:name "Migdal et al, Equation (51)"
:precision binary64
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))