\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 - k}{2}\right)}}{\frac{\sqrt{k}}{{\pi}^{\left(\frac{1 - k}{2}\right)}}} \cdot {2}^{\left(\frac{1 - k}{2}\right)}double f(double k, double n) {
double r41699564 = 1.0;
double r41699565 = k;
double r41699566 = sqrt(r41699565);
double r41699567 = r41699564 / r41699566;
double r41699568 = 2.0;
double r41699569 = atan2(1.0, 0.0);
double r41699570 = r41699568 * r41699569;
double r41699571 = n;
double r41699572 = r41699570 * r41699571;
double r41699573 = r41699564 - r41699565;
double r41699574 = r41699573 / r41699568;
double r41699575 = pow(r41699572, r41699574);
double r41699576 = r41699567 * r41699575;
return r41699576;
}
double f(double k, double n) {
double r41699577 = n;
double r41699578 = 1.0;
double r41699579 = k;
double r41699580 = r41699578 - r41699579;
double r41699581 = 2.0;
double r41699582 = r41699580 / r41699581;
double r41699583 = pow(r41699577, r41699582);
double r41699584 = sqrt(r41699579);
double r41699585 = atan2(1.0, 0.0);
double r41699586 = pow(r41699585, r41699582);
double r41699587 = r41699584 / r41699586;
double r41699588 = r41699583 / r41699587;
double r41699589 = pow(r41699581, r41699582);
double r41699590 = r41699588 * r41699589;
return r41699590;
}



Bits error versus k



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