Average Error: 0.4 → 0.6
Time: 55.2s
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[\left({n}^{\left(\frac{1 - k}{2}\right)} \cdot {\left(2 \cdot \pi\right)}^{\left(\frac{1 - k}{2}\right)}\right) \cdot \frac{1}{\sqrt{k}}\]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\left({n}^{\left(\frac{1 - k}{2}\right)} \cdot {\left(2 \cdot \pi\right)}^{\left(\frac{1 - k}{2}\right)}\right) \cdot \frac{1}{\sqrt{k}}
double f(double k, double n) {
        double r5014619 = 1.0;
        double r5014620 = k;
        double r5014621 = sqrt(r5014620);
        double r5014622 = r5014619 / r5014621;
        double r5014623 = 2.0;
        double r5014624 = atan2(1.0, 0.0);
        double r5014625 = r5014623 * r5014624;
        double r5014626 = n;
        double r5014627 = r5014625 * r5014626;
        double r5014628 = r5014619 - r5014620;
        double r5014629 = r5014628 / r5014623;
        double r5014630 = pow(r5014627, r5014629);
        double r5014631 = r5014622 * r5014630;
        return r5014631;
}

double f(double k, double n) {
        double r5014632 = n;
        double r5014633 = 1.0;
        double r5014634 = k;
        double r5014635 = r5014633 - r5014634;
        double r5014636 = 2.0;
        double r5014637 = r5014635 / r5014636;
        double r5014638 = pow(r5014632, r5014637);
        double r5014639 = atan2(1.0, 0.0);
        double r5014640 = r5014636 * r5014639;
        double r5014641 = pow(r5014640, r5014637);
        double r5014642 = r5014638 * r5014641;
        double r5014643 = sqrt(r5014634);
        double r5014644 = r5014633 / r5014643;
        double r5014645 = r5014642 * r5014644;
        return r5014645;
}

Error

Bits error versus k

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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 unpow-prod-down0.6

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

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

Reproduce

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