Average Error: 0.4 → 0.4
Time: 1.3m
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[{\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \cdot {k}^{\frac{-1}{2}}\]
double f(double k, double n) {
        double r10112246 = 1.0;
        double r10112247 = k;
        double r10112248 = sqrt(r10112247);
        double r10112249 = r10112246 / r10112248;
        double r10112250 = 2.0;
        double r10112251 = atan2(1.0, 0.0);
        double r10112252 = r10112250 * r10112251;
        double r10112253 = n;
        double r10112254 = r10112252 * r10112253;
        double r10112255 = r10112246 - r10112247;
        double r10112256 = r10112255 / r10112250;
        double r10112257 = pow(r10112254, r10112256);
        double r10112258 = r10112249 * r10112257;
        return r10112258;
}

double f(double k, double n) {
        double r10112259 = 2.0;
        double r10112260 = atan2(1.0, 0.0);
        double r10112261 = r10112259 * r10112260;
        double r10112262 = n;
        double r10112263 = r10112261 * r10112262;
        double r10112264 = 1.0;
        double r10112265 = k;
        double r10112266 = r10112264 - r10112265;
        double r10112267 = r10112266 / r10112259;
        double r10112268 = pow(r10112263, r10112267);
        double r10112269 = -0.5;
        double r10112270 = pow(r10112265, r10112269);
        double r10112271 = r10112268 * r10112270;
        return r10112271;
}

\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
{\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \cdot {k}^{\frac{-1}{2}}

Error

Bits error versus k

Bits error versus n

Derivation

  1. Initial program 0.4

    \[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
  2. Using strategy rm
  3. Applied pow10.4

    \[\leadsto \frac{1}{\sqrt{\color{blue}{{k}^{1}}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
  4. Applied sqrt-pow10.4

    \[\leadsto \frac{1}{\color{blue}{{k}^{\left(\frac{1}{2}\right)}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
  5. Applied pow-flip0.4

    \[\leadsto \color{blue}{{k}^{\left(-\frac{1}{2}\right)}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
  6. Simplified0.4

    \[\leadsto {k}^{\color{blue}{\frac{-1}{2}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
  7. Final simplification0.4

    \[\leadsto {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \cdot {k}^{\frac{-1}{2}}\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(FPCore (k n)
  :name "Migdal et al, Equation (51)"
  (* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2))))