Details

Time bar (total: 3.8s)

analyze2.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample2.0s (52.4%)

Results
1.8s8256×body128valid
Compiler

Compiled 44 to 31 computations (29.5% saved)

simplify89.0ms (2.4%)

Algorithm
egg-herbie
Rules
726×fma-def_binary64
558×associate-/l/_binary64
413×pow-sqr_binary64
387×sqr-pow_binary64
328×unswap-sqr_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
11414
22414
34714
410514
524114
658714
792714
8221514
9246714
10294814
11378314
12483814
13485014

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
3.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
3.5b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
Compiler

Compiled 30 to 21 computations (30% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.2b
(*.f64 10 (*.f64 x x))
0.4b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
3.1b
(exp.f64 (*.f64 10 (*.f64 x x)))

series17.0ms (0.5%)

Counts
4 → 40
Calls

4 calls:

7.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
4.0ms
(*.f64 10 (*.f64 x x))
3.0ms
(exp.f64 (*.f64 10 (*.f64 x x)))
2.0ms
(cos.f64 x)

rewrite129.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
648×log1p-expm1-u_binary64
648×expm1-log1p-u_binary64
369×log-prod_binary64
135×expm1-udef_binary64
135×log1p-udef_binary64
Counts
4 → 85
Calls

4 calls:

126.0ms
(cos.f64 x)
126.0ms
(*.f64 10 (*.f64 x x))
126.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
126.0ms
(exp.f64 (*.f64 10 (*.f64 x x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0833
115833
2172533
3521233
000
100

simplify113.0ms (3%)

Algorithm
egg-herbie
Rules
983×fma-neg_binary64
588×fma-def_binary64
475×associate-*l*_binary64
399×distribute-rgt-neg-in_binary64
386×associate-*r*_binary64
Counts
125 → 110
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
045424
1114416
2278408
3750406
42491406
54644406
64961406
74997406

prune129.0ms (3.4%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New9416110
Fresh000
Picked011
Done000
Total9417111
Error
0.8b
Counts
111 → 17
Alt Table
StatusErrorProgram
3.5b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
3.5b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (exp.f64 (*.f64 10 (*.f64 x x))))
3.5b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x))))) (exp.f64 (*.f64 10 (*.f64 x x))))
2.1b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 x) x) 10))
3.6b
(*.f64 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 x))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 x))) (sin.f64 1))) (exp.f64 (*.f64 10 (*.f64 x x))))
3.1b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 10) (*.f64 x x)))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 10 (*.f64 x x))) 3)))
3.5b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))) 2)))
3.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (pow.f64 (cbrt.f64 (cos.f64 x)) 2)) (exp.f64 (*.f64 10 (*.f64 x x))))
3.6b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 x))) (cbrt.f64 (exp.f64 (cos.f64 x))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 x))))) (exp.f64 (*.f64 10 (*.f64 x x))))
3.5b
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (cos.f64 x))) 3)
3.3b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 10 x)) x))
4.5b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 x (sqrt.f64 10))) (*.f64 x (sqrt.f64 10))))
4.7b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 (cbrt.f64 (*.f64 100 (pow.f64 x 4)))) (cbrt.f64 (*.f64 10 (*.f64 x x)))))
3.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 1) (*.f64 10 (*.f64 x x))))
5.4b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 10) (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2)))
1.3b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 10) x) x))
Compiler

Compiled 1983 to 1240 computations (37.5% saved)

localize19.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 x)
0.4b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.4b
(pow.f64 (pow.f64 (exp.f64 10) x) x)
1.0b
(pow.f64 (exp.f64 10) x)

series23.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

13.0ms
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 10) x) x))
6.0ms
(pow.f64 (pow.f64 (exp.f64 10) x) x)
3.0ms
(pow.f64 (exp.f64 10) x)

rewrite118.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
694×log1p-expm1-u_binary64
694×expm1-log1p-u_binary64
146×log-pow_binary64
141×expm1-udef_binary64
141×log1p-udef_binary64
Counts
3 → 53
Calls

3 calls:

117.0ms
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 10) x) x))
117.0ms
(pow.f64 (pow.f64 (exp.f64 10) x) x)
117.0ms
(pow.f64 (exp.f64 10) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0829
116429
2181429
3496229
4492729
000
100

simplify98.0ms (2.6%)

Algorithm
egg-herbie
Rules
873×fma-def_binary64
613×associate-*l*_binary64
588×distribute-lft-out_binary64
560×distribute-rgt-out_binary64
488×unswap-sqr_binary64
Counts
89 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
050379
1124369
2278362
3783355
42511355
55233355

prune81.0ms (2.1%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New9014104
Fresh10515
Picked101
Done101
Total10219121
Error
0.1b
Counts
121 → 19
Alt Table
StatusErrorProgram
1.3b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 3) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.6b
(*.f64 (cos.f64 x) (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 20) x)) x) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 10) x)) x)))
1.3b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
3.3b
(*.f64 (cos.f64 x) (*.f64 (pow.f64 (exp.f64 20/3) (*.f64 x x)) (pow.f64 (exp.f64 10/3) (*.f64 x x))))
1.4b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) 3) (pow.f64 (cos.f64 x) 3)))
0.6b
(*.f64 (cos.f64 x) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 10 (*.f64 x x))) 3)))
2.0b
(*.f64 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 x))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 x))) (sin.f64 1))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.3b
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) (cos.f64 x)) 3))
1.1b
(*.f64 (cos.f64 x) (pow.f64 (*.f64 (pow.f64 (exp.f64 5) x) (pow.f64 (exp.f64 5) x)) x))
3.3b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 10 x)) x))
1.4b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x))))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.5b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) (cos.f64 x))) 3)
1.3b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.2b
(*.f64 (cos.f64 x) (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 10) x)) x) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 10) x)) x)))
2.1b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 x) x) 10))
1.3b
(*.f64 (cos.f64 x) (*.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x)) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x))))
3.5b
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (cos.f64 x))) 3)
3.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 1) (*.f64 10 (*.f64 x x))))
Compiler

Compiled 1949 to 1304 computations (33.1% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (exp.f64 20) x)
0.1b
(sqrt.f64 (pow.f64 (exp.f64 20) x))
0.4b
(*.f64 (cos.f64 x) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x))
0.4b
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x)

series18.0ms (0.5%)

Counts
4 → 40
Calls

4 calls:

8.0ms
(*.f64 (cos.f64 x) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x))
4.0ms
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x)
3.0ms
(sqrt.f64 (pow.f64 (exp.f64 20) x))
2.0ms
(pow.f64 (exp.f64 20) x)

rewrite51.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
760×log1p-expm1-u_binary64
760×expm1-log1p-u_binary64
154×log1p-udef_binary64
88×add-sqr-sqrt_binary64
85×egg-rr
Counts
4 → 85
Calls

4 calls:

49.0ms
(pow.f64 (exp.f64 20) x)
49.0ms
(sqrt.f64 (pow.f64 (exp.f64 20) x))
49.0ms
(*.f64 (cos.f64 x) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x))
49.0ms
(pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0941
118241
2200541
3490041
000
100

simplify92.0ms (2.4%)

Algorithm
egg-herbie
Rules
691×associate-*l*_binary64
672×distribute-rgt-out_binary64
604×distribute-lft-out_binary64
504×unswap-sqr_binary64
442×associate-*r*_binary64
Counts
125 → 115
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
062430
1147418
2354408
3943406
42110374
54671374
64845374
74999374
84975374

prune89.0ms (2.4%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1078115
Fresh11718
Picked101
Done000
Total11915134
Error
0.0b
Counts
134 → 15
Alt Table
StatusErrorProgram
0.7b
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) (cos.f64 x)) 3))
1.3b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.4b
(*.f64 (cos.f64 x) (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 20) x)) x) (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x))) x)))
1.4b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) 3) (pow.f64 (cos.f64 x) 3)))
0.5b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 20) (*.f64 x 1/2)) x))
1.4b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x))))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x))))
1.5b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) (cos.f64 x))) 3)
1.3b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) (cos.f64 x))) 3)
1.3b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 3) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.3b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.8b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) 3)))
0.4b
(*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))
3.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 1) (*.f64 10 (*.f64 x x))))
0.7b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) 3) (pow.f64 (cos.f64 x) 3)))
Compiler

Compiled 2073 to 1449 computations (30.1% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (exp.f64 20) x)
0.2b
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x))
0.4b
(*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))
0.4b
(pow.f64 (pow.f64 (exp.f64 20) x) x)

series21.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

10.0ms
(*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))
6.0ms
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x))
4.0ms
(pow.f64 (pow.f64 (exp.f64 20) x) x)

rewrite49.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
764×log1p-expm1-u_binary64
764×expm1-log1p-u_binary64
154×log1p-udef_binary64
88×add-sqr-sqrt_binary64
83×add-log-exp_binary64
Counts
3 → 72
Calls

3 calls:

48.0ms
(sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x))
48.0ms
(*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))
48.0ms
(pow.f64 (pow.f64 (exp.f64 20) x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118236
2200836
3491936
000
100

simplify74.0ms (2%)

Algorithm
egg-herbie
Rules
579×fma-def_binary64
436×associate-*l*_binary64
432×distribute-lft-out_binary64
411×distribute-rgt-out_binary64
340×associate-*r*_binary64
Counts
108 → 97
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
050444
1120432
2268426
3689426
42050394
54546394
64885394
74964394

prune90.0ms (2.4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1214125
Fresh5914
Picked011
Done000
Total12614140
Error
0.0b
Counts
140 → 14
Alt Table
StatusErrorProgram
0.7b
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) (cos.f64 x)) 3))
1.3b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
1.3b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 3) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.5b
(*.f64 (cos.f64 x) (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x) 3))))
0.5b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 20) (*.f64 x 1/2)) x))
1.4b
(*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 x))))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.7b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) 3) (pow.f64 (cos.f64 x) 3)))
0.6b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x) 1/4) 2))
1.3b
(*.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 x)))) (pow.f64 (pow.f64 (exp.f64 10) x) x))
0.8b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 20) x)) x) 3)))
0.4b
(*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))
1.4b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 10) x) x) 3) (pow.f64 (cos.f64 x) 3)))
0.6b
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 x) 3) (pow.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x) 3/2)))
1.3b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 x) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 20) x) x)))) 3)
Compiler

Compiled 2032 to 1394 computations (31.4% saved)

regimes248.0ms (6.6%)

Accuracy

Total 0.3b remaining (87.3%)

Threshold costs 0.3b (87.3%)

Counts
117 → 1
Compiler

Compiled 3336 to 2490 computations (25.4% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01217
11717
21617

end202.0ms (5.4%)

Compiler

Compiled 226 to 170 computations (24.8% saved)

Profiling

Loading profile data...