Details

Time bar (total: 4.5s)

analyze19.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%25%25%4
50%12.5%37.5%5
50%6.2%43.8%6
50%3.1%46.9%7
50%1.6%48.5%8
50%1.6%48.5%9
50.4%1.2%48.5%10
50.4%1.2%48.5%11
50.4%1.1%48.6%12
50.4%1%48.6%13
50.5%0.9%48.6%14
Compiler

Compiled 15 to 8 computations (46.7% saved)

sample3.3s (73.2%)

Results
2.0s3983×body1024valid
636.0ms2061×body512valid
258.0ms1009×body256valid
228.0ms417×body2048valid
88.0ms786×body128valid
0.0msbody128invalid
Compiler

Compiled 44 to 23 computations (47.7% saved)

simplify66.0ms (1.5%)

Algorithm
egg-herbie
Rules
720×fma-def_binary64
658×unswap-sqr_binary64
478×fma-neg_binary64
464×times-frac_binary64
388×associate-/r/_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0822
12022
23422
35822
412522
528822
662422
7157722
8379822
9455322
10502322

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
57.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
57.8b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 42 to 21 computations (50% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.3b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
6.9b
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

series18.0ms (0.4%)

Counts
3 → 24
Calls

3 calls:

14.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
2.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
2.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

rewrite77.0ms (1.7%)

Algorithm
egg-rewrite
batch-egg-rewrite
Rules
97×add-sqr-sqrt_binary64
92×log1p-expm1-u_binary64
92×expm1-log1p-u_binary64
91×add-log-exp_binary64
89×add-cbrt-cube_binary64
Counts
3 → 0
Calls

3 calls:

77.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
77.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
77.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
118618
22618
066
11306
2716
083
11863
2263
066
11296
2196

simplify72.0ms (1.6%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
752×fma-neg_binary64
514×cancel-sign-sub-inv_binary64
508×unswap-sqr_binary64
480×associate-*l*_binary64
Counts
24 → 27
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
050321
1137317
2336311
3910309
42632309
54822309
64911309
74936309

prune24.0ms (0.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New24327
Fresh000
Picked011
Done000
Total24428
Error
0.2b
Counts
28 → 4
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
1.4b
x
57.8b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.6b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 496 to 275 computations (44.6% saved)

localize16.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.0b
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
0.0b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
0.1b
(*.f64 1/3 (pow.f64 x 3))

series16.0ms (0.3%)

Counts
3 → 24
Calls

3 calls:

9.0ms
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
4.0ms
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
3.0ms
(*.f64 1/3 (pow.f64 x 3))

rewrite168.0ms (3.7%)

Algorithm
egg-rewrite
batch-egg-rewrite
Rules
1073×log1p-udef_binary64
679×log-prod_binary64
589×log1p-expm1-u_binary64
589×expm1-log1p-u_binary64
423×pow2_binary64
Counts
3 → 49
Calls

3 calls:

167.0ms
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
167.0ms
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
167.0ms
(*.f64 1/3 (pow.f64 x 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02121
145621
27321
067
11257
212617
348167
461637
02133
145633
27333
01218
125418
2252018
3484218

simplify56.0ms (1.2%)

Algorithm
egg-herbie
Rules
651×associate-/r/_binary64
590×associate-/l/_binary64
488×fma-neg_binary64
446×fma-def_binary64
406×distribute-rgt-neg-in_binary64
Counts
73 → 77
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061591
1136591
2299587
3685585
41704561
52988561
65130561

prune79.0ms (1.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New85186
Fresh112
Picked101
Done011
Total87390
Error
0.2b
Counts
90 → 3
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
0.6b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
57.8b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 2483 to 1606 computations (35.3% saved)

localize20.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2)))
0.0b
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
0.0b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
0.1b
(*.f64 1/3 (pow.f64 x 3))

series8.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

5.0ms
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
3.0ms
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2)))

rewrite63.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
434×log1p-udef_binary64
250×add-sqr-sqrt_binary64
250×log1p-expm1-u_binary64
250×expm1-log1p-u_binary64
244×add-log-exp_binary64
Counts
2 → 36
Calls

2 calls:

62.0ms
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2)))
62.0ms
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02665
155865
2476965
3516965

simplify42.0ms (0.9%)

Algorithm
egg-herbie
Rules
774×fma-neg_binary64
673×fma-def_binary64
558×cancel-sign-sub-inv_binary64
506×unswap-sqr_binary64
438×associate-*l*_binary64
Counts
60 → 62
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052337
1144321
2348311
3894309
42640309
55134309

prune132.0ms (2.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1201121
Fresh011
Picked011
Done011
Total1204124
Error
0.2b
Counts
124 → 4
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
53.5b
(*.f64 1/7 x)
0.6b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
57.8b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 4112 to 3185 computations (22.5% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))

series4.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

4.0ms
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))

rewrite40.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
835×log1p-expm1-u_binary64
835×expm1-log1p-u_binary64
103×prod-diff_binary64
100×add-sqr-sqrt_binary64
95×add-cbrt-cube_binary64
Counts
1 → 25
Calls

1 calls:

39.0ms
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
121415
2215115
3504715

simplify119.0ms (2.6%)

Algorithm
egg-herbie
Rules
992×fma-neg_binary64
552×distribute-rgt-neg-in_binary64
422×distribute-lft-neg-in_binary64
416×unswap-sqr_binary64
405×cancel-sign-sub-inv_binary64
Counts
37 → 33
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014159
142155
288141
3223141
4500141
51264141
61975141
73745141
84307141
94647141
104957141
114997141
124831141

prune23.0ms (0.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New33033
Fresh011
Picked011
Done022
Total33437
Error
0.2b
Counts
37 → 4
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
53.5b
(*.f64 1/7 x)
0.6b
(/.f64 (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x 2))))
57.8b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 560 to 430 computations (23.2% saved)

regimes30.0ms (0.7%)

Accuracy

Total 0.5b remaining (32%)

Threshold costs 0.5b (32%)

Counts
15 → 1
Compiler

Compiled 508 to 372 computations (26.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02646
12746
22746

end103.0ms (2.3%)

Compiler

Compiled 132 to 97 computations (26.5% saved)

Profiling

Loading profile data...