\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\sqrt{\frac{\frac{1}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}} \cdot \left(\sqrt{\frac{1}{\sqrt{k}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\right)double f(double k, double n) {
double r88970 = 1.0;
double r88971 = k;
double r88972 = sqrt(r88971);
double r88973 = r88970 / r88972;
double r88974 = 2.0;
double r88975 = atan2(1.0, 0.0);
double r88976 = r88974 * r88975;
double r88977 = n;
double r88978 = r88976 * r88977;
double r88979 = r88970 - r88971;
double r88980 = r88979 / r88974;
double r88981 = pow(r88978, r88980);
double r88982 = r88973 * r88981;
return r88982;
}
double f(double k, double n) {
double r88983 = 1.0;
double r88984 = k;
double r88985 = sqrt(r88984);
double r88986 = sqrt(r88985);
double r88987 = r88983 / r88986;
double r88988 = r88987 / r88986;
double r88989 = sqrt(r88988);
double r88990 = r88983 / r88985;
double r88991 = sqrt(r88990);
double r88992 = 2.0;
double r88993 = atan2(1.0, 0.0);
double r88994 = r88992 * r88993;
double r88995 = n;
double r88996 = r88994 * r88995;
double r88997 = r88983 - r88984;
double r88998 = r88997 / r88992;
double r88999 = pow(r88996, r88998);
double r89000 = r88991 * r88999;
double r89001 = r88989 * r89000;
return r89001;
}



Bits error versus k



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