\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 r184773 = 1.0;
double r184774 = k;
double r184775 = sqrt(r184774);
double r184776 = r184773 / r184775;
double r184777 = 2.0;
double r184778 = atan2(1.0, 0.0);
double r184779 = r184777 * r184778;
double r184780 = n;
double r184781 = r184779 * r184780;
double r184782 = r184773 - r184774;
double r184783 = r184782 / r184777;
double r184784 = pow(r184781, r184783);
double r184785 = r184776 * r184784;
return r184785;
}
double f(double k, double n) {
double r184786 = 1.0;
double r184787 = r184786 * r184786;
double r184788 = k;
double r184789 = r184787 / r184788;
double r184790 = sqrt(r184789);
double r184791 = 2.0;
double r184792 = r184786 - r184788;
double r184793 = r184792 / r184791;
double r184794 = pow(r184791, r184793);
double r184795 = atan2(1.0, 0.0);
double r184796 = pow(r184795, r184793);
double r184797 = r184794 * r184796;
double r184798 = n;
double r184799 = pow(r184798, r184793);
double r184800 = r184797 * r184799;
double r184801 = r184790 * r184800;
return r184801;
}



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 +o rules:numerics
(FPCore (k n)
:name "Migdal et al, Equation (51)"
:precision binary64
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))