\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\left({\left(\pi \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \cdot {2}^{\left(\frac{1 - k}{2}\right)}\right) \cdot \frac{1}{\sqrt{k}}double f(double k, double n) {
double r5809927 = 1.0;
double r5809928 = k;
double r5809929 = sqrt(r5809928);
double r5809930 = r5809927 / r5809929;
double r5809931 = 2.0;
double r5809932 = atan2(1.0, 0.0);
double r5809933 = r5809931 * r5809932;
double r5809934 = n;
double r5809935 = r5809933 * r5809934;
double r5809936 = r5809927 - r5809928;
double r5809937 = r5809936 / r5809931;
double r5809938 = pow(r5809935, r5809937);
double r5809939 = r5809930 * r5809938;
return r5809939;
}
double f(double k, double n) {
double r5809940 = atan2(1.0, 0.0);
double r5809941 = n;
double r5809942 = r5809940 * r5809941;
double r5809943 = 1.0;
double r5809944 = k;
double r5809945 = r5809943 - r5809944;
double r5809946 = 2.0;
double r5809947 = r5809945 / r5809946;
double r5809948 = pow(r5809942, r5809947);
double r5809949 = pow(r5809946, r5809947);
double r5809950 = r5809948 * r5809949;
double r5809951 = sqrt(r5809944);
double r5809952 = r5809943 / r5809951;
double r5809953 = r5809950 * r5809952;
return r5809953;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
Taylor expanded around 0 0.4
rmApplied add-sqr-sqrt0.5
Applied associate-*r*0.5
rmApplied unpow-prod-down0.4
Simplified0.5
Final simplification0.5
herbie shell --seed 2019172
(FPCore (k n)
:name "Migdal et al, Equation (51)"
(* (/ 1.0 (sqrt k)) (pow (* (* 2.0 PI) n) (/ (- 1.0 k) 2.0))))