Details

Time bar (total: 7.6s)

analyze777.0ms (10.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.2%0.1%6
28.1%71.8%0.1%7
32.8%67.1%0.1%8
38.2%61.7%0.1%9
41%58.9%0.1%10
43.9%56%0.1%11
45.4%54.5%0.1%12
46.9%53%0.1%13
47.7%52.2%0.1%14
Compiler

Compiled 19 to 9 computations (52.6% saved)

sample3.9s (51.9%)

Results
2.2s4154×body8192exit
788.0ms6769×body128valid
466.0ms4109×body128invalid
209.0ms716×body512valid
159.0ms746×body256valid
9.0ms25×body1024valid
Compiler

Compiled 56 to 26 computations (53.6% saved)

simplify29.0ms (0.4%)

Algorithm
egg-herbie
Rules
503×fma-def_binary64
481×div-sub_binary64
467×fma-neg_binary64
288×associate-/r*_binary64
282×associate-/l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0923
12223
25823
315521
443218
5149518
6469018
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
12.8b
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
12.1b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
Compiler

Compiled 94 to 48 computations (48.9% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
0.0b
(/.f64 x (exp.f64 wj))
4.1b
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))

series47.0ms (0.6%)

Counts
3 → 52
Calls

3 calls:

18.0ms
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))
15.0ms
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
14.0ms
(/.f64 x (exp.f64 wj))

rewrite69.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
528×fma-def_binary64
354×fma-neg_binary64
218×log1p-udef_binary64
217×expm1-udef_binary64
159×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
123239
2366339
Stop Event
node limit
Counts
3 → 159
Calls

3 calls:

66.0ms
(/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1))
66.0ms
(/.f64 x (exp.f64 wj))
66.0ms
(+.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
685×fma-neg_binary64
565×sub-neg_binary64
284×associate--l+_binary64
259×fma-def_binary64
242×associate--r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791071
12451062
28061046
332971040
Stop Event
node limit
Counts
211 → 204

prune162.0ms (2.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1995204
Fresh101
Picked101
Done000
Total2015206
Error
0.1b
Counts
206 → 5
Alt Table
StatusErrorProgram
31.7b
(*.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (/.f64 1 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
37.8b
(fma.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (*.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (exp.f64 (neg.f64 (log1p.f64 wj)))) wj)
7.1b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
12.6b
(fma.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (exp.f64 (neg.f64 (log1p.f64 wj))) wj)
2.8b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
Compiler

Compiled 4322 to 2061 computations (52.3% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 wj (-.f64 (*.f64 wj 5/2) 2))
0.0b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
0.3b
(*.f64 x 8/3)
4.9b
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))

series38.0ms (0.5%)

Counts
4 → 72
Calls

4 calls:

20.0ms
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
14.0ms
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))
3.0ms
(*.f64 wj (-.f64 (*.f64 wj 5/2) 2))
1.0ms
(*.f64 x 8/3)

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
198×add-sqr-sqrt_binary64
192×log1p-expm1-u_binary64
192×expm1-log1p-u_binary64
189×add-cbrt-cube_binary64
184×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01956
141752
Stop Event
node limit
Counts
4 → 93
Calls

4 calls:

37.0ms
(*.f64 wj (-.f64 (*.f64 wj 5/2) 2))
37.0ms
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
37.0ms
(*.f64 x 8/3)
37.0ms
(*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))

simplify45.0ms (0.6%)

Algorithm
egg-herbie
Rules
349×fma-def_binary64
296×cancel-sign-sub-inv_binary64
249×sub-neg_binary64
246×associate--l+_binary64
197×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0491290
11581125
26291070
328551050
Stop Event
node limit
Counts
165 → 123

prune149.0ms (2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1221123
Fresh044
Picked011
Done000
Total1226128
Error
0.1b
Counts
128 → 6
Alt Table
StatusErrorProgram
31.7b
(*.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (/.f64 1 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
2.5b
(+.f64 x (fma.f64 wj wj (-.f64 (*.f64 x (*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2))) (pow.f64 wj 3))))
37.8b
(fma.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (*.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (exp.f64 (neg.f64 (log1p.f64 wj)))) wj)
7.1b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
12.6b
(fma.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (exp.f64 (neg.f64 (log1p.f64 wj))) wj)
2.8b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
Compiler

Compiled 3740 to 2366 computations (36.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2))
0.0b
(*.f64 x (*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2)))
0.0b
(*.f64 wj (+.f64 5/2 (*.f64 wj -8/3)))
0.4b
(*.f64 wj -8/3)

series27.0ms (0.4%)

Counts
4 → 60
Calls

4 calls:

19.0ms
(*.f64 x (*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2)))
3.0ms
(*.f64 wj (+.f64 5/2 (*.f64 wj -8/3)))
3.0ms
(*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2))
1.0ms
(*.f64 wj -8/3)

rewrite54.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
317×prod-diff_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
180×fma-neg_binary64
136×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
127339
2357139
Stop Event
node limit
Counts
4 → 77
Calls

4 calls:

52.0ms
(*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2))
52.0ms
(*.f64 x (*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2)))
52.0ms
(*.f64 wj (+.f64 5/2 (*.f64 wj -8/3)))
52.0ms
(*.f64 wj -8/3)

simplify42.0ms (0.6%)

Algorithm
egg-herbie
Rules
835×fma-neg_binary64
541×fma-def_binary64
417×cancel-sign-sub-inv_binary64
350×distribute-rgt-neg-in_binary64
193×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041870
1119831
2328692
31088594
43691594
Stop Event
node limit
Counts
137 → 105

prune138.0ms (1.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1050105
Fresh044
Picked011
Done011
Total1056111
Error
0.1b
Counts
111 → 6
Alt Table
StatusErrorProgram
31.7b
(*.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (/.f64 1 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
2.5b
(+.f64 x (fma.f64 wj wj (-.f64 (*.f64 x (*.f64 wj (-.f64 (*.f64 wj (+.f64 5/2 (*.f64 wj -8/3))) 2))) (pow.f64 wj 3))))
37.8b
(fma.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (*.f64 (sqrt.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj)) (exp.f64 (neg.f64 (log1p.f64 wj)))) wj)
7.1b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (-.f64 (/.f64 wj (+.f64 wj 1)) wj)))
12.6b
(fma.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (exp.f64 (neg.f64 (log1p.f64 wj))) wj)
2.8b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
Compiler

Compiled 2788 to 1794 computations (35.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 wj 1) (exp.f64 wj))
0.0b
(/.f64 wj (+.f64 wj 1))
0.0b
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
5.5b
(-.f64 (/.f64 wj (+.f64 wj 1)) wj)

series29.0ms (0.4%)

Counts
4 → 60
Calls

4 calls:

23.0ms
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
2.0ms
(*.f64 (+.f64 wj 1) (exp.f64 wj))
2.0ms
(-.f64 (/.f64 wj (+.f64 wj 1)) wj)
2.0ms
(/.f64 wj (+.f64 wj 1))

rewrite77.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
756×prod-diff_binary64
250×egg-rr
202×log1p-udef_binary64
112×add-sqr-sqrt_binary64
107×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01038
122136
2327136
Stop Event
node limit
Counts
4 → 250
Calls

4 calls:

72.0ms
(*.f64 (+.f64 wj 1) (exp.f64 wj))
72.0ms
(/.f64 wj (+.f64 wj 1))
72.0ms
(/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj)))
72.0ms
(-.f64 (/.f64 wj (+.f64 wj 1)) wj)

simplify37.0ms (0.5%)

Algorithm
egg-herbie
Rules
598×cancel-sign-sub-inv_binary64
385×fma-neg_binary64
237×associate-+l-_binary64
233×sub-neg_binary64
218×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079818
1219809
2612792
31961789
Stop Event
node limit
Counts
310 → 306

prune402.0ms (5.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3033306
Fresh213
Picked101
Done112
Total3075312
Error
0.0b
Counts
312 → 5
Alt Table
StatusErrorProgram
2.8b
(+.f64 (fma.f64 wj wj x) (fma.f64 x (*.f64 wj (-.f64 (*.f64 wj 5/2) 2)) (*.f64 (+.f64 (*.f64 x 8/3) 1) (neg.f64 (pow.f64 wj 3)))))
7.1b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (fma.f64 wj (/.f64 1 (+.f64 wj 1)) (neg.f64 wj))))
31.7b
(*.f64 (-.f64 (*.f64 wj wj) (pow.f64 (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)) 2)) (/.f64 1 (-.f64 wj (/.f64 (-.f64 (/.f64 x (exp.f64 wj)) wj) (+.f64 wj 1)))))
7.1b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (+.f64 (fma.f64 (pow.f64 (cbrt.f64 wj) 2) (*.f64 (cbrt.f64 wj) (/.f64 1 (+.f64 wj 1))) (neg.f64 wj)) (fma.f64 (neg.f64 (cbrt.f64 wj)) (pow.f64 (cbrt.f64 wj) 2) wj))))
1.7b
(fma.f64 1 (/.f64 x (*.f64 (+.f64 wj 1) (exp.f64 wj))) (neg.f64 (+.f64 (pow.f64 wj 3) (-.f64 (pow.f64 wj 5) (fma.f64 wj wj (pow.f64 wj 4))))))
Compiler

Compiled 8995 to 5255 computations (41.6% saved)

regimes1.3s (16.5%)

Accuracy

Total 0.2b remaining (78.7%)

Threshold costs 0.2b (78.7%)

Counts
204 → 2
Compiler

Compiled 13050 to 8766 computations (32.8% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 18 to 8 computations (55.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×+-commutative_binary64
18×sub-neg_binary64
16×neg-sub0_binary64
16×neg-mul-1_binary64
15×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03397
15697
28297
311195
415195
517395
617995
718595
819495
919895
Stop Event
saturated

end138.0ms (1.8%)

Compiler

Compiled 276 to 175 computations (36.6% saved)

Profiling

Loading profile data...