\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}{\left({\left(\left(\pi \cdot 2\right) \cdot n\right)}^{\left(1 + \sqrt{k}\right)}\right)}^{\left(\frac{1 - \sqrt{k}}{2}\right)} \cdot {k}^{\frac{-1}{2}}double f(double k, double n) {
double r15720444 = 1.0;
double r15720445 = k;
double r15720446 = sqrt(r15720445);
double r15720447 = r15720444 / r15720446;
double r15720448 = 2.0;
double r15720449 = atan2(1.0, 0.0);
double r15720450 = r15720448 * r15720449;
double r15720451 = n;
double r15720452 = r15720450 * r15720451;
double r15720453 = r15720444 - r15720445;
double r15720454 = r15720453 / r15720448;
double r15720455 = pow(r15720452, r15720454);
double r15720456 = r15720447 * r15720455;
return r15720456;
}
double f(double k, double n) {
double r15720457 = atan2(1.0, 0.0);
double r15720458 = 2.0;
double r15720459 = r15720457 * r15720458;
double r15720460 = n;
double r15720461 = r15720459 * r15720460;
double r15720462 = 1.0;
double r15720463 = k;
double r15720464 = sqrt(r15720463);
double r15720465 = r15720462 + r15720464;
double r15720466 = pow(r15720461, r15720465);
double r15720467 = r15720462 - r15720464;
double r15720468 = r15720467 / r15720458;
double r15720469 = pow(r15720466, r15720468);
double r15720470 = -0.5;
double r15720471 = pow(r15720463, r15720470);
double r15720472 = r15720469 * r15720471;
return r15720472;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied add-sqr-sqrt0.4
Applied *-un-lft-identity0.4
Applied difference-of-squares0.5
Applied times-frac0.5
Applied pow-unpow0.9
rmApplied div-inv1.0
rmApplied pow1/21.0
Applied pow-flip0.9
Simplified0.9
Final simplification0.9
herbie shell --seed 2019107 +o rules:numerics
(FPCore (k n)
:name "Migdal et al, Equation (51)"
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))