Average Error: 0.4 → 0.4
Time: 40.6s
Precision: 64
Internal Precision: 128
\[\frac{1}{\sqrt{k}} \cdot {\left(\left(2 \cdot \pi\right) \cdot n\right)}^{\left(\frac{1 - k}{2}\right)}\]
\[\frac{1}{\frac{\sqrt{k}}{\sqrt{{\left(2 \cdot \pi\right)}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)}} \cdot \left({n}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)} \cdot \sqrt{{\left(2 \cdot \pi\right)}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)}}\right)}}\]

Error

Bits error versus k

Bits error versus n

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. Initial simplification0.3

    \[\leadsto \frac{{\left(\pi \cdot \left(n \cdot 2\right)\right)}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}{\sqrt{k}}\]
  3. Taylor expanded around inf 17.9

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

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

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

    \[\leadsto \frac{\color{blue}{\sqrt{{\left(2 \cdot \pi\right)}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)}} \cdot \left(\sqrt{{\left(2 \cdot \pi\right)}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)}} \cdot {n}^{\left((\frac{-1}{2} \cdot k + \frac{1}{2})_*\right)}\right)}}{\sqrt{k}}\]
  8. Using strategy rm
  9. Applied clear-num0.4

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

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

Reproduce

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

Details

Time bar (total: 26.6s)Debug log

start502.0ms

Algorithm
intervals

setup99.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.4b

localize22.0ms

Local error

Found 3 expressions with local error:

0.9b
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
0.2b
(* PI (* n 2))
0.2b
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
3 → 74
Calls

3 calls. Slowest were:

8.0ms
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))
2.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
1.0ms
(* PI (* n 2))

series526.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

278.0ms
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))
162.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
85.0ms
(* PI (* n 2))

simplify2.7s

Counts
67 → 83
Calls

67 calls. Slowest were:

368.0ms
(* (log (* PI (* n 2))) (- 1/2 (/ k 2)))
312.0ms
(/ (* (* (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))) (* (* (sqrt k) (sqrt k)) (sqrt k)))
304.0ms
(- (+ (* 1/4 (* (log (* 2 PI)) (* (exp (* 1/2 (+ (log n) (log (* 2 PI))))) (* (log n) (pow k 2))))) (+ (* 1/8 (* (exp (* 1/2 (+ (log n) (log (* 2 PI))))) (* (pow (log n) 2) (pow k 2)))) (+ (exp (* 1/2 (+ (log n) (log (* 2 PI))))) (* 1/8 (* (pow (log (* 2 PI)) 2) (* (exp (* 1/2 (+ (log n) (log (* 2 PI))))) (pow k 2))))))) (+ (* 1/2 (* (exp (* 1/2 (+ (log n) (log (* 2 PI))))) (* (log n) k))) (* 1/2 (* (log (* 2 PI)) (* (exp (* 1/2 (+ (log n) (log (* 2 PI))))) k)))))

prune1.2s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.0b

localize20.0ms

Local error

Found 4 expressions with local error:

0.6b
(pow n (fma -1/2 k 1/2))
0.5b
(pow (* 2 PI) (fma -1/2 k 1/2))
0.2b
(* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2)))
0.2b
(/ (* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2))) (sqrt k))

rewrite22.0ms

Algorithm
rewrite-expression-head
Counts
4 → 86
Calls

4 calls. Slowest were:

13.0ms
(/ (* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2))) (sqrt k))
6.0ms
(* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2)))
1.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

series589.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

294.0ms
(/ (* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2))) (sqrt k))
163.0ms
(* (pow (* 2 PI) (fma -1/2 k 1/2)) (pow n (fma -1/2 k 1/2)))
89.0ms
(pow n (fma -1/2 k 1/2))
42.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

simplify7.7s

Counts
59 → 98
Calls

59 calls. Slowest were:

1.0s
(exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n)))))
839.0ms
(* (exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n))))) (pow (* 2 PI) (- 1/2 (* 1/2 k))))
624.0ms
(- (+ (log (pow (* 2 PI) (fma -1/2 k 1/2))) (* (log n) (fma -1/2 k 1/2))) (log (sqrt k)))

prune1.6s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0b

localize11.0ms

Local error

Found 4 expressions with local error:

0.6b
(pow n (fma -1/2 k 1/2))
0.5b
(pow (* 2 PI) (fma -1/2 k 1/2))
0.5b
(pow (* 2 PI) (fma -1/2 k 1/2))
0.2b
(/ (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))) (sqrt k))

rewrite38.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

31.0ms
(/ (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))) (sqrt k))
2.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))
2.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

series466.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

294.0ms
(/ (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))) (sqrt k))
75.0ms
(pow n (fma -1/2 k 1/2))
53.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))
44.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

simplify3.3s

Counts
47 → 86
Calls

47 calls. Slowest were:

907.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n)))))
358.0ms
(- (+ (log (sqrt (pow (* 2 PI) (fma -1/2 k 1/2)))) (+ (log (sqrt (pow (* 2 PI) (fma -1/2 k 1/2)))) (* (log n) (fma -1/2 k 1/2)))) (log (sqrt k)))
228.0ms
(- (+ (pow n 1/2) (* 1/8 (* (sqrt n) (* (pow (log n) 2) (pow k 2))))) (* 1/2 (* (sqrt n) (* (log n) k))))

prune1.7s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0b

localize8.0ms

Local error

Found 4 expressions with local error:

0.6b
(pow n (fma -1/2 k 1/2))
0.5b
(pow (* 2 PI) (fma -1/2 k 1/2))
0.5b
(pow (* 2 PI) (fma -1/2 k 1/2))
0.2b
(/ (sqrt k) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))))

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 74
Calls

4 calls. Slowest were:

25.0ms
(/ (sqrt k) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))))
3.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))
3.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

series425.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

252.0ms
(/ (sqrt k) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2)))))
63.0ms
(pow n (fma -1/2 k 1/2))
57.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))
52.0ms
(pow (* 2 PI) (fma -1/2 k 1/2))

simplify3.6s

Counts
46 → 86
Calls

46 calls. Slowest were:

861.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n)))))
614.0ms
(- (log (sqrt k)) (+ (log (sqrt (pow (* 2 PI) (fma -1/2 k 1/2)))) (log (* (sqrt (pow (* 2 PI) (fma -1/2 k 1/2))) (pow n (fma -1/2 k 1/2))))))
291.0ms
(- (+ (pow n 1/2) (* 1/8 (* (sqrt n) (* (pow (log n) 2) (pow k 2))))) (* 1/2 (* (sqrt n) (* (log n) k))))

prune1.9s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 0b

regimes179.0ms

Accuracy

0% (0.4b remaining)

Error of 0.4b against oracle of 0.0b and baseline of 0.4b

bsearch4.0ms