\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\frac{{n}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}{\frac{1}{{2}^{\left(\frac{1}{2} - \frac{k}{2}\right)}} \cdot \frac{\sqrt{k}}{{\pi}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}}double f(double k, double n) {
double r20454350 = 1.0;
double r20454351 = k;
double r20454352 = sqrt(r20454351);
double r20454353 = r20454350 / r20454352;
double r20454354 = 2.0;
double r20454355 = atan2(1.0, 0.0);
double r20454356 = r20454354 * r20454355;
double r20454357 = n;
double r20454358 = r20454356 * r20454357;
double r20454359 = r20454350 - r20454351;
double r20454360 = r20454359 / r20454354;
double r20454361 = pow(r20454358, r20454360);
double r20454362 = r20454353 * r20454361;
return r20454362;
}
double f(double k, double n) {
double r20454363 = n;
double r20454364 = 0.5;
double r20454365 = k;
double r20454366 = 2.0;
double r20454367 = r20454365 / r20454366;
double r20454368 = r20454364 - r20454367;
double r20454369 = pow(r20454363, r20454368);
double r20454370 = 1.0;
double r20454371 = pow(r20454366, r20454368);
double r20454372 = r20454370 / r20454371;
double r20454373 = sqrt(r20454365);
double r20454374 = atan2(1.0, 0.0);
double r20454375 = pow(r20454374, r20454368);
double r20454376 = r20454373 / r20454375;
double r20454377 = r20454372 * r20454376;
double r20454378 = r20454369 / r20454377;
return r20454378;
}



Bits error versus k



Bits error versus n
Results
Initial program 0.4
Simplified0.4
rmApplied unpow-prod-down0.5
Applied associate-/l*0.5
rmApplied unpow-prod-down0.5
Applied *-un-lft-identity0.5
Applied times-frac0.4
Final simplification0.4
herbie shell --seed 2019155 +o rules:numerics
(FPCore (k n)
:name "Migdal et al, Equation (51)"
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))