Average Error: 0.4 → 0.4
Time: 1.0m
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}}{{\left(\pi \cdot \left(n \cdot 2\right)\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.4

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

    \[\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 clear-num0.4

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

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

Reproduce

herbie shell --seed 2019016 +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.0m)Debug log

sample290.0ms

Algorithm
intervals
Results
1008×(pre true 80)
648×(body nan 80)
360×(body real 80)

simplify97.0ms

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

prune23.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.6b

localize43.0ms

Local error

Found 3 expressions with local error:

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

rewrite24.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
16.0ms
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))
4.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
2.0ms
(* PI (* n 2))

series465.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
228.0ms
(/ (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (sqrt k))
174.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
63.0ms
(* PI (* n 2))

simplify2.5s

Counts
67 → 83
Calls
67 calls:
Slowest
337.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)))))
336.0ms
(* (log (* PI (* n 2))) (- 1/2 (/ k 2)))
277.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)))
261.0ms
(- (log (pow (* PI (* n 2)) (- 1/2 (/ k 2)))) (log (sqrt k)))
151.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log (* -2 PI)) (log (/ -1 n)))))

prune958.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.0b

localize6.0ms

Local error

Found 4 expressions with local error:

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

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
36×times-frac
29×associate-/r*
26×add-cube-cbrt
26×*-un-lft-identity
26×add-sqr-sqrt
16×add-exp-log
16×unpow-prod-up
unpow-prod-down
sub-neg
div-exp
add-cbrt-cube
pow1
add-log-exp
log1p-expm1-u
rec-exp
expm1-log1p-u
pow-sub
associate-/l*
div-inv
associate-/r/
pow-exp
pow-unpow
pow-to-exp
frac-2neg
clear-num
inv-pow
pow-flip
*-commutative
associate-*r*
pow-pow
cbrt-undiv
Counts
4 → 116
Calls
4 calls:
Slowest
5.0ms
(/ (sqrt k) (pow (* PI (* n 2)) (- 1/2 (/ k 2))))
5.0ms
(/ 1 (/ (sqrt k) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))))
2.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
1.0ms
(* PI (* n 2))

series614.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
194.0ms
(/ (sqrt k) (pow (* PI (* n 2)) (- 1/2 (/ k 2))))
179.0ms
(/ 1 (/ (sqrt k) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))))
157.0ms
(pow (* PI (* n 2)) (- 1/2 (/ k 2)))
84.0ms
(* PI (* n 2))

simplify3.1s

Counts
95 → 128
Calls
95 calls:
Slowest
319.0ms
(/ (* (* (sqrt k) (sqrt k)) (sqrt k)) (* (* (pow (* PI (* n 2)) (- 1/2 (/ k 2))) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))) (pow (* PI (* n 2)) (- 1/2 (/ k 2)))))
302.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)))))
286.0ms
(* (log (* PI (* n 2))) (- 1/2 (/ k 2)))
284.0ms
(- (log (sqrt k)) (log (pow (* PI (* n 2)) (- 1/2 (/ k 2)))))
223.0ms
(exp (* (- 1/2 (* 1/2 k)) (- (log (* -2 PI)) (log (/ -1 n)))))

prune1.9s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize39.0ms

Local error

Found 4 expressions with local error:

0.9b
(pow (* n 2) (- 1/2 (/ k 2)))
0.5b
(pow PI (- 1/2 (/ k 2)))
0.2b
(/ (/ 1 (/ 1 (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))))

rewrite38.0ms

Algorithm
rewrite-expression-head
Rules
241×times-frac
101×add-cube-cbrt
101×*-un-lft-identity
101×add-sqr-sqrt
48×unpow-prod-up
46×add-exp-log
32×div-inv
32×associate-/r/
31×div-exp
29×associate-/r*
24×sub-neg
23×unpow-prod-down
20×rec-exp
11×add-cbrt-cube
11×pow-to-exp
pow-sub
associate-/l*
pow-exp
pow-unpow
pow1
add-log-exp
log1p-expm1-u
cbrt-undiv
expm1-log1p-u
frac-2neg
clear-num
associate-/l/
pow-pow
Counts
4 → 254
Calls
4 calls:
Slowest
13.0ms
(/ (/ 1 (/ 1 (pow PI (- 1/2 (/ k 2))))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
8.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
3.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
1.0ms
(pow PI (- 1/2 (/ k 2)))

series515.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
268.0ms
(/ (/ 1 (/ 1 (pow PI (- 1/2 (/ k 2))))) (/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2)))))
109.0ms
(/ (sqrt k) (pow (* n 2) (- 1/2 (/ k 2))))
98.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
39.0ms
(pow PI (- 1/2 (/ k 2)))

simplify29.7s

Counts
351 → 266
Calls
351 calls:
Slowest
583.0ms
(- (- (log (/ 1 (pow PI (- 1/2 (/ k 2)))))) (- (log (sqrt k)) (log (pow (* n 2) (- 1/2 (/ k 2))))))
576.0ms
(exp (* (- (log 2) (log (/ 1 n))) (- 1/2 (* 1/2 k))))
473.0ms
(/ (/ 1 1) (/ (* (cbrt (sqrt k)) (cbrt (sqrt k))) (* (cbrt (pow (* n 2) (- 1/2 (/ k 2)))) (cbrt (pow (* n 2) (- 1/2 (/ k 2)))))))
465.0ms
(/ (/ 1 (/ 1 (pow PI (- 1/2 (/ k 2))))) (/ (sqrt (sqrt k)) (pow (* n 2) (- 1/2 (/ k 2)))))
456.0ms
(/ (/ 1 (/ 1 (pow PI (- 1/2 (/ k 2))))) (/ (sqrt k) (cbrt (pow (* n 2) (- 1/2 (/ k 2))))))

prune3.4s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0b

localize13.0ms

Local error

Found 4 expressions with local error:

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

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
27×add-exp-log
12×prod-exp
12×pow-to-exp
11×add-cbrt-cube
10×pow-sub
10×add-cube-cbrt
10×*-un-lft-identity
10×add-sqr-sqrt
unpow-prod-up
div-exp
associate-*r*
pow-unpow
pow-exp
associate-*l*
pow1
add-log-exp
log1p-expm1-u
sub-neg
expm1-log1p-u
associate-/l/
times-frac
associate-/r*
cbrt-unprod
associate-*r/
associate-*l/
unpow-prod-down
cbrt-undiv
frac-times
associate-/l*
div-inv
*-commutative
pow-prod-down
frac-2neg
pow-pow
clear-num
Counts
4 → 98
Calls
4 calls:
Slowest
18.0ms
(/ (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2)))) (sqrt k))
12.0ms
(* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2))))
3.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
1.0ms
(pow PI (- 1/2 (/ k 2)))

series898.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
440.0ms
(pow (* n 2) (- 1/2 (/ k 2)))
272.0ms
(/ (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2)))) (sqrt k))
158.0ms
(* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2))))
28.0ms
(pow PI (- 1/2 (/ k 2)))

simplify7.3s

Counts
72 → 110
Calls
72 calls:
Slowest
625.0ms
(* (exp (* (- (log 2) (log (/ 1 n))) (- 1/2 (* 1/2 k)))) (pow PI (- 1/2 (* 1/2 k))))
593.0ms
(- (+ (* (log PI) (- 1/2 (/ k 2))) (log (pow (* n 2) (- 1/2 (/ k 2))))) (log (sqrt k)))
575.0ms
(exp (* (- (log 2) (log (/ 1 n))) (- 1/2 (* 1/2 k))))
461.0ms
(- (log (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2))))) (log (sqrt k)))
416.0ms
(/ (* (* (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2)))) (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2))))) (* (pow PI (- 1/2 (/ k 2))) (pow (* n 2) (- 1/2 (/ k 2))))) (* (* (sqrt k) (sqrt k)) (sqrt k)))

prune1.2s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 0b

regimes121.0ms

Accuracy

0% (0.4b remaining)

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

bsearch2.0ms

end0.0ms

sample8.2s

Algorithm
intervals
Results
32813×(pre true 80)
20878×(body nan 80)
11931×(body real 80)
(body nan 160)