Average Error: 0.4 → 0.5
Time: 3.1m
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[\frac{\frac{{\left(\left(\pi \cdot 2\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}\]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\frac{\frac{{\left(\left(\pi \cdot 2\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}
double f(double k, double n) {
        double r33364850 = 1.0;
        double r33364851 = k;
        double r33364852 = sqrt(r33364851);
        double r33364853 = r33364850 / r33364852;
        double r33364854 = 2.0;
        double r33364855 = atan2(1.0, 0.0);
        double r33364856 = r33364854 * r33364855;
        double r33364857 = n;
        double r33364858 = r33364856 * r33364857;
        double r33364859 = r33364850 - r33364851;
        double r33364860 = r33364859 / r33364854;
        double r33364861 = pow(r33364858, r33364860);
        double r33364862 = r33364853 * r33364861;
        return r33364862;
}

double f(double k, double n) {
        double r33364863 = atan2(1.0, 0.0);
        double r33364864 = 2.0;
        double r33364865 = r33364863 * r33364864;
        double r33364866 = n;
        double r33364867 = r33364865 * r33364866;
        double r33364868 = 1.0;
        double r33364869 = k;
        double r33364870 = r33364868 - r33364869;
        double r33364871 = r33364870 / r33364864;
        double r33364872 = pow(r33364867, r33364871);
        double r33364873 = sqrt(r33364869);
        double r33364874 = sqrt(r33364873);
        double r33364875 = r33364872 / r33364874;
        double r33364876 = r33364875 / r33364874;
        return r33364876;
}

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

    \[\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 add-sqr-sqrt0.4

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

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

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

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

Reproduce

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