Average Error: 0.4 → 0.5
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)}\]
\[\frac{{\pi}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)} \cdot \left({\left(\left(n \cdot 2\right) \cdot \pi\right)}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)} \cdot {\left(n \cdot 2\right)}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)}\right)}{\sqrt{k}}\]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\frac{{\pi}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)} \cdot \left({\left(\left(n \cdot 2\right) \cdot \pi\right)}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)} \cdot {\left(n \cdot 2\right)}^{\left(\frac{\frac{1}{2} - \frac{k}{2}}{2}\right)}\right)}{\sqrt{k}}
double f(double k, double n) {
        double r7637681 = 1.0;
        double r7637682 = k;
        double r7637683 = sqrt(r7637682);
        double r7637684 = r7637681 / r7637683;
        double r7637685 = 2.0;
        double r7637686 = atan2(1.0, 0.0);
        double r7637687 = r7637685 * r7637686;
        double r7637688 = n;
        double r7637689 = r7637687 * r7637688;
        double r7637690 = r7637681 - r7637682;
        double r7637691 = r7637690 / r7637685;
        double r7637692 = pow(r7637689, r7637691);
        double r7637693 = r7637684 * r7637692;
        return r7637693;
}

double f(double k, double n) {
        double r7637694 = atan2(1.0, 0.0);
        double r7637695 = 0.5;
        double r7637696 = k;
        double r7637697 = 2.0;
        double r7637698 = r7637696 / r7637697;
        double r7637699 = r7637695 - r7637698;
        double r7637700 = r7637699 / r7637697;
        double r7637701 = pow(r7637694, r7637700);
        double r7637702 = n;
        double r7637703 = r7637702 * r7637697;
        double r7637704 = r7637703 * r7637694;
        double r7637705 = pow(r7637704, r7637700);
        double r7637706 = pow(r7637703, r7637700);
        double r7637707 = r7637705 * r7637706;
        double r7637708 = r7637701 * r7637707;
        double r7637709 = sqrt(r7637696);
        double r7637710 = r7637708 / r7637709;
        return r7637710;
}

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

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

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

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

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

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

Reproduce

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