double f(double k, double n) {
double r9179479 = 1.0;
double r9179480 = k;
double r9179481 = sqrt(r9179480);
double r9179482 = r9179479 / r9179481;
double r9179483 = 2.0;
double r9179484 = atan2(1.0, 0.0);
double r9179485 = r9179483 * r9179484;
double r9179486 = n;
double r9179487 = r9179485 * r9179486;
double r9179488 = r9179479 - r9179480;
double r9179489 = r9179488 / r9179483;
double r9179490 = pow(r9179487, r9179489);
double r9179491 = r9179482 * r9179490;
return r9179491;
}
double f(double k, double n) {
double r9179492 = k;
double r9179493 = -0.5;
double r9179494 = pow(r9179492, r9179493);
double r9179495 = atan2(1.0, 0.0);
double r9179496 = 2.0;
double r9179497 = r9179495 * r9179496;
double r9179498 = n;
double r9179499 = r9179497 * r9179498;
double r9179500 = 1.0;
double r9179501 = r9179500 - r9179492;
double r9179502 = r9179501 / r9179496;
double r9179503 = pow(r9179499, r9179502);
double r9179504 = r9179494 * r9179503;
return r9179504;
}
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}{k}^{\frac{-1}{2}} \cdot {\left(\left(\pi \cdot 2\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}


Bits error versus k



Bits error versus n
Initial program 0.4
Simplified0.3
rmApplied div-inv0.4
rmApplied pow10.4
Applied sqrt-pow10.4
Applied pow-flip0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019101 +o rules:numerics
(FPCore (k n)
:name "Migdal et al, Equation (51)"
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))