\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\frac{1}{\sqrt{k}} \cdot \left(\left({\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{\frac{\frac{1 - k}{2}}{2}}{2}\right)} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{\frac{\frac{1 - k}{2}}{2}}{2}\right)}\right) \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)}\right)double f(double k, double n) {
double r184797 = 1.0;
double r184798 = k;
double r184799 = sqrt(r184798);
double r184800 = r184797 / r184799;
double r184801 = 2.0;
double r184802 = atan2(1.0, 0.0);
double r184803 = r184801 * r184802;
double r184804 = n;
double r184805 = r184803 * r184804;
double r184806 = r184797 - r184798;
double r184807 = r184806 / r184801;
double r184808 = pow(r184805, r184807);
double r184809 = r184800 * r184808;
return r184809;
}
double f(double k, double n) {
double r184810 = 1.0;
double r184811 = k;
double r184812 = sqrt(r184811);
double r184813 = r184810 / r184812;
double r184814 = 2.0;
double r184815 = atan2(1.0, 0.0);
double r184816 = r184814 * r184815;
double r184817 = n;
double r184818 = r184816 * r184817;
double r184819 = r184810 - r184811;
double r184820 = r184819 / r184814;
double r184821 = 2.0;
double r184822 = r184820 / r184821;
double r184823 = r184822 / r184821;
double r184824 = pow(r184818, r184823);
double r184825 = r184824 * r184824;
double r184826 = pow(r184818, r184822);
double r184827 = r184825 * r184826;
double r184828 = r184813 * r184827;
return r184828;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
rmApplied sqr-pow0.4
rmApplied sqr-pow0.5
Final simplification0.5
herbie shell --seed 2020036 +o rules:numerics
(FPCore (k n)
:name "Migdal et al, Equation (51)"
:precision binary64
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))