Average Error: 0.4 → 0.4
Time: 4.5m
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)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)} \cdot {n}^{\left(\frac{1 - k}{2}\right)}\right) \cdot \left({\left(2 \cdot \pi\right)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)} \cdot \frac{1}{\sqrt{k}}\right)\]
\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)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)} \cdot {n}^{\left(\frac{1 - k}{2}\right)}\right) \cdot \left({\left(2 \cdot \pi\right)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)} \cdot \frac{1}{\sqrt{k}}\right)
double f(double k, double n) {
        double r43700477 = 1.0;
        double r43700478 = k;
        double r43700479 = sqrt(r43700478);
        double r43700480 = r43700477 / r43700479;
        double r43700481 = 2.0;
        double r43700482 = atan2(1.0, 0.0);
        double r43700483 = r43700481 * r43700482;
        double r43700484 = n;
        double r43700485 = r43700483 * r43700484;
        double r43700486 = r43700477 - r43700478;
        double r43700487 = r43700486 / r43700481;
        double r43700488 = pow(r43700485, r43700487);
        double r43700489 = r43700480 * r43700488;
        return r43700489;
}

double f(double k, double n) {
        double r43700490 = 2.0;
        double r43700491 = atan2(1.0, 0.0);
        double r43700492 = r43700490 * r43700491;
        double r43700493 = 1.0;
        double r43700494 = k;
        double r43700495 = r43700493 - r43700494;
        double r43700496 = r43700495 / r43700490;
        double r43700497 = r43700496 / r43700490;
        double r43700498 = pow(r43700492, r43700497);
        double r43700499 = n;
        double r43700500 = pow(r43700499, r43700496);
        double r43700501 = r43700498 * r43700500;
        double r43700502 = sqrt(r43700494);
        double r43700503 = r43700493 / r43700502;
        double r43700504 = r43700498 * r43700503;
        double r43700505 = r43700501 * r43700504;
        return r43700505;
}

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.5

    \[\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. Applied associate-*r*0.5

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

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

    \[\leadsto \color{blue}{\left(\left(\frac{1}{\sqrt{k}} \cdot {\left(2 \cdot \pi\right)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)}\right) \cdot {\left(2 \cdot \pi\right)}^{\left(\frac{\frac{1 - k}{2}}{2}\right)}\right)} \cdot {n}^{\left(\frac{1 - k}{2}\right)}\]
  8. Using strategy rm
  9. Applied associate-*l*0.4

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

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

Reproduce

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