\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\frac{1 \cdot \left(\sqrt{{\left(2 \cdot \pi\right)}^{\left(\frac{1}{2}\right)}} \cdot \left(\sqrt{{n}^{\left(\frac{1}{2}\right)}} \cdot \sqrt{{\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1}{2}\right)}}\right)\right)}{\sqrt{k} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{k}{2}\right)}}double code(double k, double n) {
return ((double) (((double) (1.0 / ((double) sqrt(k)))) * ((double) pow(((double) (((double) (2.0 * ((double) M_PI))) * n)), ((double) (((double) (1.0 - k)) / 2.0))))));
}
double code(double k, double n) {
return ((double) (((double) (1.0 * ((double) (((double) sqrt(((double) pow(((double) (2.0 * ((double) M_PI))), ((double) (1.0 / 2.0)))))) * ((double) (((double) sqrt(((double) pow(n, ((double) (1.0 / 2.0)))))) * ((double) sqrt(((double) pow(((double) (((double) (2.0 * ((double) M_PI))) * n)), ((double) (1.0 / 2.0)))))))))))) / ((double) (((double) sqrt(k)) * ((double) pow(((double) (((double) (2.0 * ((double) M_PI))) * n)), ((double) (k / 2.0))))))));
}



Bits error versus k



Bits error versus n
Results
Initial program 0.5
rmApplied div-sub0.5
Applied pow-sub0.4
Applied frac-times0.4
rmApplied add-sqr-sqrt0.6
rmApplied unpow-prod-down0.6
Applied sqrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2020161
(FPCore (k n)
:name "Migdal et al, Equation (51)"
:precision binary64
(* (/ 1.0 (sqrt k)) (pow (* (* 2.0 PI) n) (/ (- 1.0 k) 2.0))))