\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\left(\frac{{\pi}^{\left(\frac{1 - k}{2}\right)}}{\sqrt{k}} \cdot {2}^{\left(\frac{1 - k}{2}\right)}\right) \cdot {n}^{\left(\frac{1 - k}{2}\right)}double f(double k, double n) {
double r4082431 = 1.0;
double r4082432 = k;
double r4082433 = sqrt(r4082432);
double r4082434 = r4082431 / r4082433;
double r4082435 = 2.0;
double r4082436 = atan2(1.0, 0.0);
double r4082437 = r4082435 * r4082436;
double r4082438 = n;
double r4082439 = r4082437 * r4082438;
double r4082440 = r4082431 - r4082432;
double r4082441 = r4082440 / r4082435;
double r4082442 = pow(r4082439, r4082441);
double r4082443 = r4082434 * r4082442;
return r4082443;
}
double f(double k, double n) {
double r4082444 = atan2(1.0, 0.0);
double r4082445 = 1.0;
double r4082446 = k;
double r4082447 = r4082445 - r4082446;
double r4082448 = 2.0;
double r4082449 = r4082447 / r4082448;
double r4082450 = pow(r4082444, r4082449);
double r4082451 = sqrt(r4082446);
double r4082452 = r4082450 / r4082451;
double r4082453 = pow(r4082448, r4082449);
double r4082454 = r4082452 * r4082453;
double r4082455 = n;
double r4082456 = pow(r4082455, r4082449);
double r4082457 = r4082454 * r4082456;
return r4082457;
}



Bits error versus k



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