Average Error: 0.3 → 0.4
Time: 1.2m
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{e^{\left(\frac{1}{2} - \frac{k}{2}\right) \cdot \log \pi}}{\frac{\sqrt{k}}{{\left(2 \cdot n\right)}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}}\]

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

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

    \[\leadsto \color{blue}{\frac{{\left(\pi \cdot \left(n \cdot 2\right)\right)}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}{\sqrt{k}}}\]
  3. Using strategy rm
  4. Applied unpow-prod-down0.5

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

    \[\leadsto \color{blue}{\frac{{\pi}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}{\frac{\sqrt{k}}{{\left(n \cdot 2\right)}^{\left(\frac{1}{2} - \frac{k}{2}\right)}}}}\]
  6. Using strategy rm
  7. Applied pow-to-exp0.4

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

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

Reproduce

herbie shell --seed 2019022 +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: 1.2m)Debug log

sample214.0ms

Algorithm
intervals
Results
118.0ms603×body80nan
69.0ms392×body80valid

simplify41.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
41.0ms
(* (/ 1 (sqrt k)) (pow (* (* 2 PI) n) (/ (- 1 k) 2)))

prune32.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize34.0ms

Local error

Found 3 expressions with local error:

1.1b
(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))

rewrite8.0ms

Algorithm
rewrite-expression-head
Rules
18×times-frac
15×add-cube-cbrt
15×*-un-lft-identity
15×add-sqr-sqrt
10×unpow-prod-up
add-exp-log
associate-/l*
add-cbrt-cube
unpow-prod-down
sub-neg
pow1
add-log-exp
log1p-expm1-u
div-exp
associate-/r*
pow-unpow
expm1-log1p-u
pow-sub
pow-exp
pow-to-exp
associate-/l/
div-inv
*-commutative
associate-*r*
frac-2neg
pow-pow
clear-num
cbrt-undiv
Counts
3 → 74
Calls
3 calls:
Slowest
5.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))

series434.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
214.0ms
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))
165.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
55.0ms
(* PI (* n 2))

simplify2.3s

Counts
67 → 83
Calls
67 calls:
Slowest
308.0ms
(* (log (* PI (* n 2))) (- 1/2 (/ k 2)))
290.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)))))
222.0ms
(- (log (pow (* PI (* n 2)) (- 1/2 (/ k 2)))) (log (sqrt k)))
221.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)))
153.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log (* 2 PI)) (log (/ 1 n)))))

prune856.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.0b

localize14.0ms

Local error

Found 4 expressions with local error:

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

rewrite21.0ms

Algorithm
rewrite-expression-head
Rules
241×times-frac
101×add-cube-cbrt
101×*-un-lft-identity
101×add-sqr-sqrt
96×unpow-prod-up
48×sub-neg
29×associate-/r*
26×add-exp-log
23×unpow-prod-down
17×div-exp
11×add-cbrt-cube
10×pow-sub
pow-to-exp
associate-/l*
div-inv
associate-/r/
pow-unpow
pow1
add-log-exp
log1p-expm1-u
pow-exp
cbrt-undiv
expm1-log1p-u
frac-2neg
clear-num
associate-/l/
pow-pow
Counts
4 → 246
Calls
4 calls:
Slowest
7.0ms
(/ (pow PI (- 1/2 (/ k 2))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
5.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
1.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
1.0ms
(pow PI (- 1/2 (/ k 2)))

series498.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
253.0ms
(/ (pow PI (- 1/2 (/ k 2))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
124.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
90.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
30.0ms
(pow PI (- 1/2 (/ k 2)))

simplify13.1s

Counts
345 → 258
Calls
345 calls:
Slowest
786.0ms
(/ (* (* (pow PI (- 1/2 (/ k 2))) (pow PI (- 1/2 (/ k 2)))) (pow PI (- 1/2 (/ k 2)))) (/ (* (* (sqrt k) (sqrt k)) (sqrt k)) (* (* (pow (* n 2) (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2)))) (pow (* n 2) (- 1/2 (/ k 2))))))
556.0ms
(exp (* (- (log 2) (log (/ 1 n))) (- 1/2 (* 1/2 k))))
457.0ms
(- (* (log PI) (- 1/2 (/ k 2))) (- (log (sqrt k)) (log (pow (* n 2) (- 1/2 (/ k 2))))))
396.0ms
(- (log (pow PI (- 1/2 (/ k 2)))) (log (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))))
391.0ms
(/ (* (cbrt (pow PI (- 1/2 (/ k 2)))) (cbrt (pow PI (- 1/2 (/ k 2))))) (/ 1 (* (cbrt (pow (* n 2) (- 1/2 (/ k 2)))) (cbrt (pow (* n 2) (- 1/2 (/ k 2)))))))

prune3.2s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0b

localize11.0ms

Local error

Found 4 expressions with local error:

1.1b
(pow (* n 2) (- 1/2 (/ k 2)))
0.2b
(/ (exp (* (log PI) (- 1/2 (/ k 2)))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
0.2b
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
0.0b
(* (log PI) (- 1/2 (/ k 2)))

rewrite41.0ms

Algorithm
rewrite-expression-head
Rules
323×times-frac
122×add-cube-cbrt
122×*-un-lft-identity
122×add-sqr-sqrt
96×exp-sum
79×sub-neg
58×unpow-prod-up
50×distribute-lft-in
50×distribute-rgt-in
29×unpow-prod-down
29×associate-/r*
18×add-exp-log
13×add-cbrt-cube
10×pow-sub
10×associate-/l*
10×div-inv
10×associate-/r/
10×div-exp
pow1
add-log-exp
log1p-expm1-u
cbrt-undiv
expm1-log1p-u
pow-exp
associate-*l*
associate-*r*
pow-unpow
pow-to-exp
associate-*r/
frac-2neg
clear-num
flip--
cbrt-unprod
*-commutative
prod-exp
pow-prod-down
flip3--
pow-pow
Counts
4 → 298
Calls
4 calls:
Slowest
18.0ms
(/ (exp (* (log PI) (- 1/2 (/ k 2)))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
7.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
4.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
4.0ms
(* (log PI) (- 1/2 (/ k 2)))

series810.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
317.0ms
(* (log PI) (- 1/2 (/ k 2)))
244.0ms
(/ (exp (* (log PI) (- 1/2 (/ k 2)))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
139.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
110.0ms
(pow (* n 2) (- 1/2 (/ k 2)))

simplify28.3s

Counts
442 → 310
Calls
442 calls:
Slowest
482.0ms
(exp (* (- (log 2) (log (/ 1 n))) (- 1/2 (* 1/2 k))))
467.0ms
(/ (* (cbrt (exp (* (log PI) (- 1/2 (/ k 2))))) (cbrt (exp (* (log PI) (- 1/2 (/ k 2)))))) (/ 1 (* (cbrt (pow (* n 2) (- 1/2 (/ k 2)))) (cbrt (pow (* n 2) (- 1/2 (/ k 2)))))))
427.0ms
(* (* (* (log PI) (log PI)) (log PI)) (* (* (- 1/2 (/ k 2)) (- 1/2 (/ k 2))) (- 1/2 (/ k 2))))
426.0ms
(- (* (log PI) (- 1/2 (/ k 2))) (- (log (sqrt k)) (log (pow (* n 2) (- 1/2 (/ k 2))))))
359.0ms
(/ (* (cbrt (exp (* (log PI) (- 1/2 (/ k 2))))) (cbrt (exp (* (log PI) (- 1/2 (/ k 2)))))) (/ (* (cbrt (sqrt k)) (cbrt (sqrt k))) (* (cbrt (pow (* n 2) (- 1/2 (/ k 2)))) (cbrt (pow (* n 2) (- 1/2 (/ k 2)))))))

prune4.7s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0b

localize40.0ms

Local error

Found 4 expressions with local error:

1.1b
(pow n (- 1/2 (/ k 2)))
0.5b
(pow PI (- 1/2 (/ k 2)))
0.3b
(/ (sqrt k) (pow 2 (- 1/2 (/ k 2))))
0.2b
(/ (pow PI (- 1/2 (/ k 2))) (/ 1 (pow n (- 1/2 (/ k 2)))))

rewrite20.0ms

Algorithm
rewrite-expression-head
Rules
40×times-frac
28×add-cube-cbrt
28×*-un-lft-identity
28×add-sqr-sqrt
24×unpow-prod-up
14×add-exp-log
12×sub-neg
10×pow-sub
10×associate-/r*
associate-/l*
div-inv
associate-/r/
div-exp
add-cbrt-cube
pow-to-exp
pow-unpow
add-log-exp
log1p-expm1-u
rec-exp
pow1
expm1-log1p-u
frac-2neg
clear-num
cbrt-undiv
associate-/l/
Counts
4 → 127
Calls
4 calls:
Slowest
8.0ms
(/ (pow PI (- 1/2 (/ k 2))) (/ 1 (pow n (- 1/2 (/ k 2)))))
7.0ms
(/ (sqrt k) (pow 2 (- 1/2 (/ k 2))))
2.0ms
(pow n (- 1/2 (/ k 2)))
1.0ms
(pow PI (- 1/2 (/ k 2)))

series410.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
148.0ms
(/ (sqrt k) (pow 2 (- 1/2 (/ k 2))))
144.0ms
(/ (pow PI (- 1/2 (/ k 2))) (/ 1 (pow n (- 1/2 (/ k 2)))))
77.0ms
(pow n (- 1/2 (/ k 2)))
39.0ms
(pow PI (- 1/2 (/ k 2)))

simplify6.2s

Counts
133 → 139
Calls
133 calls:
Slowest
801.0ms
(* (exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n))))) (pow PI (- 1/2 (* 1/2 k))))
678.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log -1) (log (/ -1 n)))))
518.0ms
(* (exp (* -1 (* (- 1/2 (* 1/2 k)) (log (/ 1 n))))) (pow PI (- 1/2 (* 1/2 k))))
363.0ms
(- (log (pow PI (- 1/2 (/ k 2)))) (- (* (log n) (- 1/2 (/ k 2)))))
343.0ms
(/ (* (* (pow PI (- 1/2 (/ k 2))) (pow PI (- 1/2 (/ k 2)))) (pow PI (- 1/2 (/ k 2)))) (* (* (/ 1 (pow n (- 1/2 (/ k 2)))) (/ 1 (pow n (- 1/2 (/ k 2))))) (/ 1 (pow n (- 1/2 (/ k 2))))))

prune1.7s

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 0b

regimes141.0ms

Accuracy

0% (0.4b remaining)

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

bsearch3.0ms

end0.0ms

sample7.6s

Algorithm
intervals
Results
4.2s20818×body80nan
2.7s11839×body80valid
0.0msbody160nan