Details

Time bar (total: 12.4s)

analyze2.3s (18.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.9%50.1%0
0%49.9%50.1%1
0%49.9%50.1%2
0%49.9%50.1%3
0%49.9%50.1%4
0%49.9%50.1%5
0%49.9%50.1%6
0%49.9%50.1%7
0%49.9%50.1%8
0.4%49.5%50.1%9
0.4%49.3%50.3%10
0.6%48.9%50.5%11
1.1%48.1%50.9%12
1.5%47.3%51.2%13
1.7%46.9%51.5%14
Compiler

Compiled 34 to 24 computations (29.4% saved)

sample8.3s (66.6%)

Symmetry

(sort a b)

Results
4.8s4179×body2048valid
1.8s2453×body1024valid
426.0ms576×body1024invalid
401.0ms782×body512valid
359.0ms379×body2048invalid
130.0ms305×body512invalid
93.0ms557×body128valid
80.0ms267×body256valid
47.0ms278×body128invalid
41.0ms137×body256invalid
30.0ms18×body4096valid
Compiler

Compiled 95 to 67 computations (29.5% saved)

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
670×rules-20_binary64
344×rules-14-rev_binary64
338×rules-15-rev_binary64
315×fma-def_binary64
264×rules-4_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01828
14928
210428
327628
477328
5245128
6491328
7497528

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
42.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
42.9b
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
Compiler

Compiled 87 to 54 computations (37.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 eps (+.f64 a b))
0.1b
(*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b))))
0.3b
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
41.2b
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))

series335.0ms (2.7%)

Counts
4 → 132
Calls

4 calls:

270.0ms
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
31.0ms
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
27.0ms
(*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b))))
6.0ms
(*.f64 eps (+.f64 a b))

rewrite116.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
840×prod-diff_binary64
261×egg-rr
142×add-sqr-sqrt_binary64
134×log1p-expm1-u_binary64
134×expm1-log1p-u_binary64
Counts
4 → 261
Calls

4 calls:

111.0ms
(*.f64 eps (+.f64 a b))
110.0ms
(*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b))))
110.0ms
(*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))
110.0ms
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01461
132361
2431261
3607161
000
100

simplify105.0ms (0.8%)

Algorithm
egg-herbie
Rules
677×rules-21_binary64
634×rules-20_binary64
462×rules-14-rev_binary64
135×fma-def_binary64
128×rules-2-rev_binary64
Counts
393 → 345
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05236353
123036055
249996055

prune198.0ms (1.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New3432345
Fresh000
Picked011
Done000
Total3433346
Error
0b
Counts
346 → 3
Alt Table
StatusErrorProgram
42.9b
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
4.7b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
13.7b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 15261 to 4942 computations (67.6% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
0.2b
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
6.5b
(*.f64 a (*.f64 eps eps))
6.5b
(*.f64 b (*.f64 eps eps))

series57.0ms (0.5%)

Counts
4 → 108
Calls

4 calls:

29.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
10.0ms
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
9.0ms
(*.f64 a (*.f64 eps eps))
8.0ms
(*.f64 b (*.f64 eps eps))

rewrite96.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
286×log1p-udef_binary64
163×add-sqr-sqrt_binary64
155×log1p-expm1-u_binary64
155×expm1-log1p-u_binary64
151×add-cbrt-cube_binary64
Counts
4 → 138
Calls

4 calls:

93.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
93.0ms
(*.f64 1/12 (*.f64 b (*.f64 eps eps)))
93.0ms
(*.f64 a (*.f64 eps eps))
93.0ms
(*.f64 b (*.f64 eps eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01556
137354
2494754
3530854
000
100

simplify99.0ms (0.8%)

Algorithm
egg-herbie
Rules
803×rules-6_binary64
592×rules-21_binary64
395×rules-14-rev_binary64
392×rules-20_binary64
371×rules-6-rev_binary64
Counts
246 → 162
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0261478
1831301
23441247
314451247
447231247
548731247
650071247

prune121.0ms (1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1620162
Fresh011
Picked011
Done011
Total1623165
Error
0b
Counts
165 → 3
Alt Table
StatusErrorProgram
42.9b
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
4.7b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
13.7b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 4272 to 2213 computations (48.2% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
12.7b
(/.f64 (+.f64 a b) (*.f64 a b))

series7.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(/.f64 (+.f64 a b) (*.f64 a b))

rewrite50.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
695×log1p-expm1-u_binary64
695×expm1-log1p-u_binary64
615×prod-diff_binary64
66×add-sqr-sqrt_binary64
60×add-cbrt-cube_binary64
Counts
1 → 29
Calls

1 calls:

49.0ms
(/.f64 (+.f64 a b) (*.f64 a b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
114510
2198110
3564810
000
100

simplify80.0ms (0.6%)

Algorithm
egg-herbie
Rules
424×rules-20_binary64
406×rules-9-rev_binary64
354×rules-5-rev_binary64
330×rules-10-rev_binary64
281×rules-6_binary64
Counts
53 → 33
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07204
113204
221204
344204
4122204
5444204
61588204
74585204
84880204
94968204

prune19.0ms (0.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New33033
Fresh000
Picked011
Done022
Total33336
Error
0b
Counts
36 → 3
Alt Table
StatusErrorProgram
42.9b
(/.f64 (*.f64 eps (expm1.f64 (*.f64 eps (+.f64 a b)))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b))))
4.7b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (+.f64 (/.f64 1 b) (+.f64 (/.f64 1 a) (*.f64 1/12 (*.f64 b (*.f64 eps eps))))))
13.7b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 413 to 135 computations (67.3% saved)

regimes206.0ms (1.7%)

Accuracy

Total 0.5b remaining (92.8%)

Threshold costs 0.5b (92.8%)

Counts
59 → 3
Compiler

Compiled 4438 to 2820 computations (36.5% saved)

bsearch2.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044144
146144
245144

end223.0ms (1.8%)

Compiler

Compiled 444 to 271 computations (39% saved)

Profiling

Loading profile data...