Average Error: 0.4 → 0.4
Time: 26.4s
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[\sqrt{\frac{\frac{1}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}} \cdot \left(\sqrt{\frac{1}{\sqrt{k}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\right)\]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\sqrt{\frac{\frac{1}{\sqrt{\sqrt{k}}}}{\sqrt{\sqrt{k}}}} \cdot \left(\sqrt{\frac{1}{\sqrt{k}}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\right)
double f(double k, double n) {
        double r88970 = 1.0;
        double r88971 = k;
        double r88972 = sqrt(r88971);
        double r88973 = r88970 / r88972;
        double r88974 = 2.0;
        double r88975 = atan2(1.0, 0.0);
        double r88976 = r88974 * r88975;
        double r88977 = n;
        double r88978 = r88976 * r88977;
        double r88979 = r88970 - r88971;
        double r88980 = r88979 / r88974;
        double r88981 = pow(r88978, r88980);
        double r88982 = r88973 * r88981;
        return r88982;
}

double f(double k, double n) {
        double r88983 = 1.0;
        double r88984 = k;
        double r88985 = sqrt(r88984);
        double r88986 = sqrt(r88985);
        double r88987 = r88983 / r88986;
        double r88988 = r88987 / r88986;
        double r88989 = sqrt(r88988);
        double r88990 = r88983 / r88985;
        double r88991 = sqrt(r88990);
        double r88992 = 2.0;
        double r88993 = atan2(1.0, 0.0);
        double r88994 = r88992 * r88993;
        double r88995 = n;
        double r88996 = r88994 * r88995;
        double r88997 = r88983 - r88984;
        double r88998 = r88997 / r88992;
        double r88999 = pow(r88996, r88998);
        double r89000 = r88991 * r88999;
        double r89001 = r88989 * r89000;
        return r89001;
}

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 add-sqr-sqrt0.5

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

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

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

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

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

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

Reproduce

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