\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\left(\sqrt{\pi} \cdot \frac{{2}^{\left(\frac{1 - k}{2}\right)}}{\sqrt{k}}\right) \cdot \frac{{n}^{\left(\frac{1 - k}{2}\right)}}{{\pi}^{\left(\frac{k}{2}\right)}}double f(double k, double n) {
double r33769059 = 1.0;
double r33769060 = k;
double r33769061 = sqrt(r33769060);
double r33769062 = r33769059 / r33769061;
double r33769063 = 2.0;
double r33769064 = atan2(1.0, 0.0);
double r33769065 = r33769063 * r33769064;
double r33769066 = n;
double r33769067 = r33769065 * r33769066;
double r33769068 = r33769059 - r33769060;
double r33769069 = r33769068 / r33769063;
double r33769070 = pow(r33769067, r33769069);
double r33769071 = r33769062 * r33769070;
return r33769071;
}
double f(double k, double n) {
double r33769072 = atan2(1.0, 0.0);
double r33769073 = sqrt(r33769072);
double r33769074 = 2.0;
double r33769075 = 1.0;
double r33769076 = k;
double r33769077 = r33769075 - r33769076;
double r33769078 = r33769077 / r33769074;
double r33769079 = pow(r33769074, r33769078);
double r33769080 = sqrt(r33769076);
double r33769081 = r33769079 / r33769080;
double r33769082 = r33769073 * r33769081;
double r33769083 = n;
double r33769084 = pow(r33769083, r33769078);
double r33769085 = r33769076 / r33769074;
double r33769086 = pow(r33769072, r33769085);
double r33769087 = r33769084 / r33769086;
double r33769088 = r33769082 * r33769087;
return r33769088;
}



Bits error versus k



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