Details

Time bar (total: 4.4s)

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.1s (69.5%)

Results
1.8s3996×body1024valid
554.0ms2018×body512valid
298.0ms1027×body256valid
201.0ms400×body2048valid
87.0ms815×body128valid
0.0msbody128invalid
Compiler

Compiled 44 to 23 computations (47.7% saved)

simplify65.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
58.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
58.7b
(/.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)))
2.2b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
5.4b
(-.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)))

rewrite69.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
55×*-un-lft-identity_binary64
39×add-sqr-sqrt_binary64
30×times-frac_binary64
25×add-cube-cbrt_binary64
prod-diff_binary64
Counts
3 → 110
Calls

3 calls:

49.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
8.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
3.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

simplify108.0ms (2.5%)

Algorithm
egg-herbie
Rules
508×fma-def_binary64
473×associate-*l*_binary64
370×fma-neg_binary64
327×times-frac_binary64
203×associate-/l*_binary64
Counts
134 → 152
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01923081
14342840
212822757
342522757
448502757

prune68.0ms (1.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1493152
Fresh000
Picked101
Done000
Total1503153
Error
0b
Counts
153 → 3
Alt Table
StatusErrorProgram
2.9b
(-.f64 (fma.f64 (pow.f64 x 5) 2/15 x) (fma.f64 1/3 (pow.f64 x 3) (*.f64 (pow.f64 x 7) 17/315)))
0.0b
(tanh.f64 x)
58.7b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (sqrt.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
Compiler

Compiled 3428 to 760 computations (77.8% saved)

localize1.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 x)

series21.0ms (0.5%)

Counts
1 → 12
Calls

1 calls:

21.0ms
(tanh.f64 x)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 12
Calls

1 calls:

1.0ms
(tanh.f64 x)

simplify51.0ms (1.2%)

Algorithm
egg-herbie
Rules
748×times-frac_binary64
602×fma-neg_binary64
330×fma-def_binary64
236×distribute-rgt-in_binary64
234×distribute-lft-in_binary64
Counts
24 → 24
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049189
1111182
2266178
3751175
43049175
54950175
65000175

prune15.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New22224
Fresh202
Picked011
Done000
Total24327
Error
0b
Counts
27 → 3
Alt Table
StatusErrorProgram
0.0b
(tanh.f64 x)
39.6b
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))
2.9b
(fma.f64 (pow.f64 x 7) -17/315 (fma.f64 (pow.f64 x 3) -1/3 (fma.f64 2/15 (pow.f64 x 5) x)))
Compiler

Compiled 266 to 168 computations (36.8% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series11.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

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

rewrite2.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
3 → 30
Calls

3 calls:

0.0ms
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 2/15 (pow.f64 x 5) x))
0.0ms
(fma.f64 (pow.f64 x 7) -17/315 (fma.f64 (pow.f64 x 3) -1/3 (fma.f64 2/15 (pow.f64 x 5) x)))
0.0ms
(fma.f64 2/15 (pow.f64 x 5) x)

simplify91.0ms (2.1%)

Algorithm
egg-herbie
Rules
709×fma-def_binary64
381×unsub-neg_binary64
357×exp-prod_binary64
319×fma-neg_binary64
294×*-commutative_binary64
Counts
66 → 56
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0571071
1109950
2260942
31117942
42874942
54681942
64975942
74886942

prune45.0ms (1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New56056
Fresh011
Picked011
Done011
Total56359
Error
0b
Counts
59 → 3
Alt Table
StatusErrorProgram
0.0b
(tanh.f64 x)
39.6b
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))
2.9b
(fma.f64 (pow.f64 x 7) -17/315 (fma.f64 (pow.f64 x 3) -1/3 (fma.f64 2/15 (pow.f64 x 5) x)))
Compiler

Compiled 1193 to 917 computations (23.1% saved)

localize5.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(tanh.f64 x)
0.0b
(*.f64 (tanh.f64 x) (tanh.f64 x))
0.1b
(*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x))
39.6b
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))

series114.0ms (2.6%)

Counts
3 → 36
Calls

3 calls:

58.0ms
(*.f64 (tanh.f64 x) (tanh.f64 x))
34.0ms
(*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x))
21.0ms
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))

rewrite47.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
171×frac-times_binary64
104×tanh-def-a_binary64
104×tanh-def-b_binary64
104×tanh-def-c_binary64
63×cbrt-div_binary64
Counts
3 → 211
Calls

3 calls:

9.0ms
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))
8.0ms
(*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x))
4.0ms
(*.f64 (tanh.f64 x) (tanh.f64 x))

simplify223.0ms (5.1%)

Algorithm
egg-herbie
Rules
684×fma-def_binary64
573×times-frac_binary64
533×log-prod_binary64
344×associate-/l*_binary64
319×log-div_binary64
Counts
247 → 306
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03418029
15967026
220076217
343856217
455736217

prune190.0ms (4.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New3780378
Fresh000
Picked011
Done022
Total3783381
Error
0b
Counts
381 → 3
Alt Table
StatusErrorProgram
0.0b
(tanh.f64 x)
39.6b
(cbrt.f64 (*.f64 (*.f64 (tanh.f64 x) (tanh.f64 x)) (tanh.f64 x)))
2.9b
(fma.f64 (pow.f64 x 7) -17/315 (fma.f64 (pow.f64 x 3) -1/3 (fma.f64 2/15 (pow.f64 x 5) x)))
Compiler

Compiled 8849 to 4703 computations (46.9% saved)

regimes110.0ms (2.5%)

Accuracy

Total 0.0b remaining (86.1%)

Threshold costs 0.0b (86.1%)

Counts
60 → 1
Compiler

Compiled 2044 to 1192 computations (41.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
133

end49.0ms (1.1%)

Compiler

Compiled 36 to 24 computations (33.3% saved)

Profiling

Loading profile data...