Average Error: 0.5 → 0.4
Time: 10.3s
Precision: binary64
Cost: 39168
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)} \]
\[\begin{array}{l} t_0 := \sqrt{2 \cdot \left(n \cdot \pi\right)}\\ \frac{t_0}{\sqrt{k} \cdot {t_0}^{k}} \end{array} \]
(FPCore (k n)
 :precision binary64
 (* (/ 1.0 (sqrt k)) (pow (* (* 2.0 PI) n) (/ (- 1.0 k) 2.0))))
(FPCore (k n)
 :precision binary64
 (let* ((t_0 (sqrt (* 2.0 (* n PI))))) (/ t_0 (* (sqrt k) (pow t_0 k)))))
double code(double k, double n) {
	return (1.0 / sqrt(k)) * pow(((2.0 * ((double) M_PI)) * n), ((1.0 - k) / 2.0));
}
double code(double k, double n) {
	double t_0 = sqrt((2.0 * (n * ((double) M_PI))));
	return t_0 / (sqrt(k) * pow(t_0, k));
}
public static double code(double k, double n) {
	return (1.0 / Math.sqrt(k)) * Math.pow(((2.0 * Math.PI) * n), ((1.0 - k) / 2.0));
}
public static double code(double k, double n) {
	double t_0 = Math.sqrt((2.0 * (n * Math.PI)));
	return t_0 / (Math.sqrt(k) * Math.pow(t_0, k));
}
def code(k, n):
	return (1.0 / math.sqrt(k)) * math.pow(((2.0 * math.pi) * n), ((1.0 - k) / 2.0))
def code(k, n):
	t_0 = math.sqrt((2.0 * (n * math.pi)))
	return t_0 / (math.sqrt(k) * math.pow(t_0, k))
function code(k, n)
	return Float64(Float64(1.0 / sqrt(k)) * (Float64(Float64(2.0 * pi) * n) ^ Float64(Float64(1.0 - k) / 2.0)))
end
function code(k, n)
	t_0 = sqrt(Float64(2.0 * Float64(n * pi)))
	return Float64(t_0 / Float64(sqrt(k) * (t_0 ^ k)))
end
function tmp = code(k, n)
	tmp = (1.0 / sqrt(k)) * (((2.0 * pi) * n) ^ ((1.0 - k) / 2.0));
end
function tmp = code(k, n)
	t_0 = sqrt((2.0 * (n * pi)));
	tmp = t_0 / (sqrt(k) * (t_0 ^ k));
end
code[k_, n_] := N[(N[(1.0 / N[Sqrt[k], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * Pi), $MachinePrecision] * n), $MachinePrecision], N[(N[(1.0 - k), $MachinePrecision] / 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
code[k_, n_] := Block[{t$95$0 = N[Sqrt[N[(2.0 * N[(n * Pi), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, N[(t$95$0 / N[(N[Sqrt[k], $MachinePrecision] * N[Power[t$95$0, k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}
\begin{array}{l}
t_0 := \sqrt{2 \cdot \left(n \cdot \pi\right)}\\
\frac{t_0}{\sqrt{k} \cdot {t_0}^{k}}
\end{array}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

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

    \[\leadsto \color{blue}{\frac{{\left(2 \cdot \left(\pi \cdot n\right)\right)}^{\left(0.5 - \frac{k}{2}\right)}}{\sqrt{k}}} \]
    Proof
    (/.f64 (pow.f64 (*.f64 2 (*.f64 (PI.f64) n)) (-.f64 1/2 (/.f64 k 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 2 (PI.f64)) n)) (-.f64 1/2 (/.f64 k 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (-.f64 (Rewrite<= metadata-eval (/.f64 1 2)) (/.f64 k 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (Rewrite<= div-sub_binary64 (/.f64 (-.f64 1 k) 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (Rewrite<= /-rgt-identity_binary64 (/.f64 (/.f64 (-.f64 1 k) 2) 1))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (/.f64 (-.f64 1 k) 2) (Rewrite<= metadata-eval (/.f64 2 2)))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (/.f64 (-.f64 1 k) 2) 2) 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (/.f64 (-.f64 1 k) 2) 2) 2))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (Rewrite<= *-commutative_binary64 (*.f64 2 (/.f64 (/.f64 (-.f64 1 k) 2) 2)))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (/.f64 (Rewrite<= pow-sqr_binary64 (*.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (/.f64 (-.f64 1 k) 2) 2)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (/.f64 (-.f64 1 k) 2) 2)))) (sqrt.f64 k)): 57 points increase in error, 16 points decrease in error
    (/.f64 (Rewrite<= sqr-pow_binary64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))) (sqrt.f64 k)): 16 points increase in error, 57 points decrease in error
    (/.f64 (Rewrite<= *-lft-identity_binary64 (*.f64 1 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))) (sqrt.f64 k)): 0 points increase in error, 0 points decrease in error
    (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 1 (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))): 30 points increase in error, 15 points decrease in error
  3. Applied egg-rr0.4

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

    \[\leadsto \color{blue}{\sqrt{\pi \cdot \left(n + n\right)} \cdot \frac{1}{{\left(\sqrt{\pi \cdot \left(n + n\right)}\right)}^{k} \cdot \sqrt{k}}} \]
  5. Simplified0.4

    \[\leadsto \color{blue}{\frac{\sqrt{2 \cdot \left(n \cdot \pi\right)}}{\sqrt{k} \cdot {\left(\sqrt{2 \cdot \left(n \cdot \pi\right)}\right)}^{k}}} \]
    Proof
    (/.f64 (sqrt.f64 (*.f64 2 (*.f64 n (PI.f64)))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 n (PI.f64)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 2 n) (PI.f64)))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 n (PI.f64)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (*.f64 (Rewrite<= count-2_binary64 (+.f64 n n)) (PI.f64))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 n (PI.f64)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (Rewrite<= *-commutative_binary64 (*.f64 (PI.f64) (+.f64 n n)))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 2 (*.f64 n (PI.f64)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 2 n) (PI.f64)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 (Rewrite<= count-2_binary64 (+.f64 n n)) (PI.f64))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (Rewrite<= *-commutative_binary64 (*.f64 (PI.f64) (+.f64 n n)))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (Rewrite<= *-rgt-identity_binary64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) 1)) (*.f64 (sqrt.f64 k) (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) k))): 0 points increase in error, 0 points decrease in error
    (/.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) 1) (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) k) (sqrt.f64 k)))): 0 points increase in error, 0 points decrease in error
    (Rewrite<= associate-*r/_binary64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) (+.f64 n n))) k) (sqrt.f64 k))))): 33 points increase in error, 16 points decrease in error
  6. Final simplification0.4

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

Alternatives

Alternative 1
Error0.4
Cost32896
\[\begin{array}{l} t_0 := \pi \cdot \left(2 \cdot n\right)\\ \frac{\sqrt{t_0} \cdot {t_0}^{\left(k \cdot -0.5\right)}}{\sqrt{k}} \end{array} \]
Alternative 2
Error0.4
Cost32896
\[\begin{array}{l} t_0 := \pi \cdot \left(2 \cdot n\right)\\ \frac{\frac{\sqrt{t_0}}{{t_0}^{\left(k \cdot 0.5\right)}}}{\sqrt{k}} \end{array} \]
Alternative 3
Error0.5
Cost20032
\[\sqrt{\frac{1}{k}} \cdot {\left(n \cdot \left(2 \cdot \pi\right)\right)}^{\left(\frac{1 - k}{2}\right)} \]
Alternative 4
Error0.5
Cost19968
\[{\left(n \cdot \left(2 \cdot \pi\right)\right)}^{\left(\frac{1 - k}{2}\right)} \cdot {k}^{-0.5} \]
Alternative 5
Error0.5
Cost19908
\[\begin{array}{l} \mathbf{if}\;k \leq 1.02 \cdot 10^{-15}:\\ \;\;\;\;\frac{\sqrt{n \cdot \pi}}{\sqrt{k \cdot 0.5}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{{\left(\pi \cdot \left(2 \cdot n\right)\right)}^{\left(1 - k\right)}}{k}}\\ \end{array} \]
Alternative 6
Error0.5
Cost19904
\[\frac{{\left(2 \cdot \left(n \cdot \pi\right)\right)}^{\left(0.5 - \frac{k}{2}\right)}}{\sqrt{k}} \]
Alternative 7
Error12.9
Cost19844
\[\begin{array}{l} \mathbf{if}\;k \leq 2:\\ \;\;\;\;\frac{\sqrt{n \cdot \pi}}{\sqrt{k \cdot 0.5}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(1 + \mathsf{fma}\left(\frac{n}{k}, \pi, -1\right)\right)}\\ \end{array} \]
Alternative 8
Error12.9
Cost19716
\[\begin{array}{l} \mathbf{if}\;k \leq 2:\\ \;\;\;\;\sqrt{n \cdot \pi} \cdot \sqrt{\frac{2}{k}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(-1 + \left(1 + \pi \cdot \frac{n}{k}\right)\right)}\\ \end{array} \]
Alternative 9
Error12.9
Cost19716
\[\begin{array}{l} \mathbf{if}\;k \leq 2:\\ \;\;\;\;\frac{\sqrt{n \cdot \pi}}{\sqrt{k \cdot 0.5}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(-1 + \left(1 + \pi \cdot \frac{n}{k}\right)\right)}\\ \end{array} \]
Alternative 10
Error22.6
Cost13572
\[\begin{array}{l} \mathbf{if}\;k \leq 2:\\ \;\;\;\;\frac{1}{\sqrt{\frac{k}{n} \cdot \frac{0.5}{\pi}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot \left(-1 + \left(1 + \pi \cdot \frac{n}{k}\right)\right)}\\ \end{array} \]
Alternative 11
Error31.5
Cost13312
\[\frac{1}{\sqrt{\frac{k}{n} \cdot \frac{0.5}{\pi}}} \]
Alternative 12
Error32.2
Cost13184
\[\sqrt{2 \cdot \left(\pi \cdot \frac{n}{k}\right)} \]

Error

Reproduce

herbie shell --seed 2022329 
(FPCore (k n)
  :name "Migdal et al, Equation (51)"
  :precision binary64
  (* (/ 1.0 (sqrt k)) (pow (* (* 2.0 PI) n) (/ (- 1.0 k) 2.0))))