\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}{\left(2 \cdot n\right)}^{\left(\frac{1}{2} - \frac{1}{2} \cdot k\right)} \cdot \frac{e^{\log \pi \cdot \left(\frac{1}{2} - \frac{1}{2} \cdot k\right)}}{\sqrt{k}}double f(double k, double n) {
double r4529845 = 1.0;
double r4529846 = k;
double r4529847 = sqrt(r4529846);
double r4529848 = r4529845 / r4529847;
double r4529849 = 2.0;
double r4529850 = atan2(1.0, 0.0);
double r4529851 = r4529849 * r4529850;
double r4529852 = n;
double r4529853 = r4529851 * r4529852;
double r4529854 = r4529845 - r4529846;
double r4529855 = r4529854 / r4529849;
double r4529856 = pow(r4529853, r4529855);
double r4529857 = r4529848 * r4529856;
return r4529857;
}
double f(double k, double n) {
double r4529858 = 2.0;
double r4529859 = n;
double r4529860 = r4529858 * r4529859;
double r4529861 = 0.5;
double r4529862 = k;
double r4529863 = r4529861 * r4529862;
double r4529864 = r4529861 - r4529863;
double r4529865 = pow(r4529860, r4529864);
double r4529866 = atan2(1.0, 0.0);
double r4529867 = log(r4529866);
double r4529868 = r4529867 * r4529864;
double r4529869 = exp(r4529868);
double r4529870 = sqrt(r4529862);
double r4529871 = r4529869 / r4529870;
double r4529872 = r4529865 * r4529871;
return r4529872;
}



Bits error versus k



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