Details

Time bar (total: 7.4s)

analyze346.0ms (4.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%50%50%2
0%50%50%3
0%50%50%4
12.5%37.5%50%5
15.6%31.2%53.2%6
17.2%25%57.9%7
18%20.3%61.8%8
18.3%16.4%65.3%9
18.5%13.7%67.8%10
18.6%11.5%69.9%11
18.7%10%71.3%12
18.7%8.9%72.4%13
18.7%8.2%73.1%14
Compiler

Compiled 19 to 16 computations (15.8% saved)

sample3.2s (43.5%)

Alt Table
StatusErrorProgram
0.4b
(*.f64 (/.f64 1 (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
Results
1.3s8256×body128valid
1.1s1349×body1024invalid
408.0ms665×body512invalid
176.0ms1148×body128invalid
118.0ms365×body256invalid
Compiler

Compiled 92 to 77 computations (16.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.2b
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
0.3b
(/.f64 1 (sqrt.f64 k))
0.3b
(*.f64 (*.f64 2 (PI.f64)) n)

series427.0ms (5.8%)

Counts
4 → 48
Calls

4 calls:

215.0ms
(*.f64 (/.f64 1 (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
199.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
10.0ms
(/.f64 1 (sqrt.f64 k))
3.0ms
(*.f64 (*.f64 2 (PI.f64)) n)

rewrite128.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
260×expm1-udef_binary64
259×log1p-udef_binary64
191×prod-diff_binary64
150×fma-def_binary64
149×add-sqr-sqrt_binary64
Counts
4 → 87
Calls

4 calls:

126.0ms
(*.f64 (/.f64 1 (sqrt.f64 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
126.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
126.0ms
(/.f64 1 (sqrt.f64 k))
126.0ms
(*.f64 (*.f64 2 (PI.f64)) n)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01453
130651
2369751
3492451
000
100

prune143.0ms (1.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1269135
Fresh000
Picked101
Done000
Total1279136
Error
0.0b
Counts
136 → 9
Alt Table
StatusErrorProgram
0.5b
(*.f64 (*.f64 (pow.f64 (pow.f64 k 1/4) -1) (pow.f64 (pow.f64 k 1/4) -1)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
23.2b
(*.f64 (/.f64 1 (sqrt.f64 k)) (-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 n (PI.f64))) (sqrt.f64 2)) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 k 2) (*.f64 (pow.f64 (log.f64 (*.f64 2 (*.f64 n (PI.f64)))) 2) (sqrt.f64 2))) (sqrt.f64 (*.f64 n (PI.f64)))))) (*.f64 1/2 (*.f64 (*.f64 k (*.f64 (log.f64 (*.f64 2 (*.f64 n (PI.f64)))) (sqrt.f64 2))) (sqrt.f64 (*.f64 n (PI.f64)))))))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 k)) (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (PI.f64)) n)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (*.f64 k 1/2))))
0.8b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (cbrt.f64 k)) (cbrt.f64 (sqrt.f64 k)))
0.5b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
0.5b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4)) (/.f64 (sqrt.f64 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4))))
0.6b
(/.f64 (pow.f64 (*.f64 2 (PI.f64)) (/.f64 (-.f64 1 k) 2)) (/.f64 (sqrt.f64 k) (pow.f64 n (/.f64 (-.f64 1 k) 2))))
0.4b
(*.f64 (sqrt.f64 (/.f64 1 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.4b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (sqrt.f64 k))
Compiler

Compiled 3144 to 2287 computations (27.3% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (sqrt.f64 k))
0.2b
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
0.3b
(*.f64 (*.f64 2 (PI.f64)) n)

series440.0ms (5.9%)

Counts
3 → 48
Calls

3 calls:

231.0ms
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (sqrt.f64 k))
206.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
3.0ms
(*.f64 (*.f64 2 (PI.f64)) n)

rewrite97.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
247×expm1-udef_binary64
246×log1p-udef_binary64
227×prod-diff_binary64
207×fma-udef_binary64
151×fma-def_binary64
Counts
3 → 73
Calls

3 calls:

94.0ms
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (sqrt.f64 k))
94.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
94.0ms
(*.f64 (*.f64 2 (PI.f64)) n)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01347
128547
2356047
3495947
4489847
000
100

prune137.0ms (1.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1201121
Fresh178
Picked011
Done000
Total1219130
Error
0.0b
Counts
130 → 9
Alt Table
StatusErrorProgram
23.2b
(/.f64 (*.f64 (sqrt.f64 (*.f64 n (PI.f64))) (sqrt.f64 2)) (sqrt.f64 k))
0.5b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4)) (/.f64 (sqrt.f64 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4))))
0.5b
(*.f64 (*.f64 (pow.f64 (pow.f64 k 1/4) -1) (pow.f64 (pow.f64 k 1/4) -1)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 k)) (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (PI.f64)) n)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (*.f64 k 1/2))))
0.8b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (cbrt.f64 k)) (cbrt.f64 (sqrt.f64 k)))
0.5b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
0.6b
(/.f64 (pow.f64 (*.f64 2 (PI.f64)) (/.f64 (-.f64 1 k) 2)) (/.f64 (sqrt.f64 k) (pow.f64 n (/.f64 (-.f64 1 k) 2))))
0.4b
(*.f64 (sqrt.f64 (/.f64 1 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.4b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (sqrt.f64 k))
Compiler

Compiled 2762 to 1968 computations (28.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 1 k))
0.2b
(*.f64 (sqrt.f64 (/.f64 1 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.2b
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
0.3b
(*.f64 (*.f64 2 (PI.f64)) n)

series429.0ms (5.8%)

Counts
4 → 48
Calls

4 calls:

220.0ms
(*.f64 (sqrt.f64 (/.f64 1 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
200.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
5.0ms
(*.f64 (*.f64 2 (PI.f64)) n)
4.0ms
(sqrt.f64 (/.f64 1 k))

rewrite134.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
258×expm1-udef_binary64
257×log1p-udef_binary64
184×fma-neg_binary64
152×fma-def_binary64
148×add-sqr-sqrt_binary64
Counts
4 → 81
Calls

4 calls:

132.0ms
(sqrt.f64 (/.f64 1 k))
132.0ms
(*.f64 (sqrt.f64 (/.f64 1 k)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
132.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
132.0ms
(*.f64 (*.f64 2 (PI.f64)) n)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
130551
2363049
3491749
4499249
5498249
000
100

prune144.0ms (1.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1272129
Fresh257
Picked101
Done101
Total1317138
Error
0.0b
Counts
138 → 7
Alt Table
StatusErrorProgram
0.5b
(*.f64 (*.f64 (pow.f64 (pow.f64 k 1/4) -1) (pow.f64 (pow.f64 k 1/4) -1)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 k)) (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (PI.f64)) n)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (*.f64 k 1/2))))
0.8b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (cbrt.f64 k)) (cbrt.f64 (sqrt.f64 k)))
12.5b
(sqrt.f64 (*.f64 (/.f64 1 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (-.f64 1 k))))
0.5b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
0.5b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4)) (/.f64 (sqrt.f64 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4))))
0.5b
(*.f64 (sqrt.f64 (/.f64 1 k)) (*.f64 (pow.f64 2 (/.f64 (-.f64 1 k) 2)) (pow.f64 (*.f64 (PI.f64) n) (/.f64 (-.f64 1 k) 2))))
Compiler

Compiled 2834 to 2133 computations (24.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4))
0.2b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
0.2b
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
0.3b
(*.f64 (*.f64 2 (PI.f64)) n)

series797.0ms (10.8%)

Counts
4 → 72
Calls

4 calls:

379.0ms
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4))
213.0ms
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
202.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
3.0ms
(*.f64 (*.f64 2 (PI.f64)) n)

rewrite84.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
286×log1p-udef_binary64
261×prod-diff_binary64
163×add-sqr-sqrt_binary64
157×log1p-expm1-u_binary64
157×expm1-log1p-u_binary64
Counts
4 → 113
Calls

4 calls:

81.0ms
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4))
81.0ms
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
81.0ms
(pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2))
81.0ms
(*.f64 (*.f64 2 (PI.f64)) n)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01577
133870
2423970
3513670
000
100

prune203.0ms (2.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1841185
Fresh156
Picked011
Done000
Total1857192
Error
0.0b
Counts
192 → 7
Alt Table
StatusErrorProgram
0.5b
(*.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (*.f64 (pow.f64 k -1/4) (pow.f64 k -1/4)))
0.5b
(*.f64 (/.f64 1 (sqrt.f64 k)) (/.f64 (sqrt.f64 (*.f64 (*.f64 2 (PI.f64)) n)) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (*.f64 k 1/2))))
0.8b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (cbrt.f64 k)) (cbrt.f64 (sqrt.f64 k)))
12.5b
(sqrt.f64 (*.f64 (/.f64 1 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (-.f64 1 k))))
0.5b
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 2)) (pow.f64 k 1/4)) (pow.f64 k 1/4))
0.5b
(/.f64 (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4)) (/.f64 (sqrt.f64 k) (pow.f64 (*.f64 (*.f64 2 (PI.f64)) n) (/.f64 (-.f64 1 k) 4))))
0.5b
(*.f64 (sqrt.f64 (/.f64 1 k)) (*.f64 (pow.f64 2 (/.f64 (-.f64 1 k) 2)) (pow.f64 (*.f64 (PI.f64) n) (/.f64 (-.f64 1 k) 2))))
Compiler

Compiled 4776 to 3559 computations (25.5% saved)

regimes504.0ms (6.8%)

Accuracy

Total 0.4b remaining (86.8%)

Threshold costs 0.4b (86.8%)

Counts
119 → 1
Compiler

Compiled 10210 to 8438 computations (17.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
11921
22321
32521
42621
52521

end124.0ms (1.7%)

Compiler

Compiled 183 to 147 computations (19.7% saved)

Profiling

Loading profile data...