Average Error: 0.4 → 0.5
Time: 32.8s
Precision: 64
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[{\left(\left(\pi \cdot n\right) \cdot 2\right)}^{\left(\frac{1 - k}{2}\right)} \cdot \left(\sqrt{\frac{1}{\sqrt{k}}} \cdot \sqrt{\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(\pi \cdot n\right) \cdot 2\right)}^{\left(\frac{1 - k}{2}\right)} \cdot \left(\sqrt{\frac{1}{\sqrt{k}}} \cdot \sqrt{\frac{1}{\sqrt{k}}}\right)
double f(double k, double n) {
        double r5405456 = 1.0;
        double r5405457 = k;
        double r5405458 = sqrt(r5405457);
        double r5405459 = r5405456 / r5405458;
        double r5405460 = 2.0;
        double r5405461 = atan2(1.0, 0.0);
        double r5405462 = r5405460 * r5405461;
        double r5405463 = n;
        double r5405464 = r5405462 * r5405463;
        double r5405465 = r5405456 - r5405457;
        double r5405466 = r5405465 / r5405460;
        double r5405467 = pow(r5405464, r5405466);
        double r5405468 = r5405459 * r5405467;
        return r5405468;
}

double f(double k, double n) {
        double r5405469 = atan2(1.0, 0.0);
        double r5405470 = n;
        double r5405471 = r5405469 * r5405470;
        double r5405472 = 2.0;
        double r5405473 = r5405471 * r5405472;
        double r5405474 = 1.0;
        double r5405475 = k;
        double r5405476 = r5405474 - r5405475;
        double r5405477 = r5405476 / r5405472;
        double r5405478 = pow(r5405473, r5405477);
        double r5405479 = sqrt(r5405475);
        double r5405480 = r5405474 / r5405479;
        double r5405481 = sqrt(r5405480);
        double r5405482 = r5405481 * r5405481;
        double r5405483 = r5405478 * r5405482;
        return r5405483;
}

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

    \[\leadsto \color{blue}{{\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \cdot \frac{1}{\sqrt{k}}}\]
  4. Taylor expanded around 0 0.4

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

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

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

Reproduce

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