Average Error: 0.4 → 0.3
Time: 1.5m
Precision: 64
\[\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)}\]
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)}

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. Simplified0.3

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

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

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

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

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

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

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

Reproduce

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))))