Average Error: 0.4 → 0.5
Time: 13.9s
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[\sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}} \cdot \sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}\]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}} \cdot \sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}
double f(double k, double n) {
        double r116307 = 1.0;
        double r116308 = k;
        double r116309 = sqrt(r116308);
        double r116310 = r116307 / r116309;
        double r116311 = 2.0;
        double r116312 = atan2(1.0, 0.0);
        double r116313 = r116311 * r116312;
        double r116314 = n;
        double r116315 = r116313 * r116314;
        double r116316 = r116307 - r116308;
        double r116317 = r116316 / r116311;
        double r116318 = pow(r116315, r116317);
        double r116319 = r116310 * r116318;
        return r116319;
}

double f(double k, double n) {
        double r116320 = 1.0;
        double r116321 = k;
        double r116322 = sqrt(r116321);
        double r116323 = r116320 / r116322;
        double r116324 = 2.0;
        double r116325 = atan2(1.0, 0.0);
        double r116326 = r116324 * r116325;
        double r116327 = n;
        double r116328 = r116326 * r116327;
        double r116329 = r116320 - r116321;
        double r116330 = r116329 / r116324;
        double r116331 = pow(r116328, r116330);
        double r116332 = r116323 * r116331;
        double r116333 = sqrt(r116332);
        double r116334 = r116333 * r116333;
        return r116334;
}

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}{\sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}} \cdot \sqrt{\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}}}\]
  4. Final simplification0.5

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

Reproduce

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