Details

Time bar (total: 16.4s)

analyze868.0ms (5.3%)

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
25%74.9%0.1%4
50%50%0.1%5
50%50%0.1%6
50%50%0.1%7
50%50%0.1%8
50%50%0.1%9
50%50%0.1%10
50%50%0.1%11
50%50%0.1%12
50%50%0.1%13
50%50%0.1%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample12.1s (74.2%)

Symmetry

(sort a b)

Results
9.4s7820×body8192exit
1.4s1998×body1024valid
594.0ms4586×body128valid
393.0ms954×body512valid
172.0ms195×body2048valid
142.0ms523×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
Stop Event
saturated
Counts
1 → 1

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
30.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
30.2b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
5.0b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series391.0ms (2.4%)

Counts
2 → 48
Calls

2 calls:

387.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite40.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
455×prod-diff_binary64
71×add-sqr-sqrt_binary64
68×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113818
2180218
Stop Event
node limit
Counts
2 → 58
Calls

2 calls:

39.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
39.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

simplify41.0ms (0.2%)

Algorithm
egg-herbie
Rules
562×fma-neg_binary64
396×associate-+l+_binary64
328×fma-def_binary64
238×times-frac_binary64
220×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082746
1248742
2902714
34283710
Stop Event
node limit
Counts
106 → 90

prune59.0ms (0.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New87390
Fresh000
Picked101
Done000
Total88391
Error
1.0b
Counts
91 → 3
Alt Table
StatusErrorProgram
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
Compiler

Compiled 1448 to 711 computations (50.9% saved)

localize6.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (exp.f64 a))
0.0b
(+.f64 1 (exp.f64 a))
0.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))

series348.0ms (2.1%)

Counts
4 → 44
Calls

4 calls:

200.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
130.0ms
(log1p.f64 (exp.f64 a))
16.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
2.0ms
(+.f64 1 (exp.f64 a))

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
317×fma-def_binary64
170×expm1-udef_binary64
170×log1p-udef_binary64
153×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118936
2263236
Stop Event
node limit
Counts
4 → 144
Calls

4 calls:

55.0ms
(log1p.f64 (exp.f64 a))
55.0ms
(+.f64 1 (exp.f64 a))
55.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
55.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))

simplify31.0ms (0.2%)

Algorithm
egg-herbie
Rules
468×associate-*l*_binary64
437×cancel-sign-sub-inv_binary64
377×associate-*r*_binary64
367×associate-+r+_binary64
318×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
058588
1171569
2515551
31865547
Stop Event
node limit
Counts
188 → 177

prune149.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1734177
Fresh022
Picked101
Done000
Total1746180
Error
1.0b
Counts
180 → 6
Alt Table
StatusErrorProgram
2.8b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a))))))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
2.0b
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
22.6b
(cbrt.f64 (pow.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) 3))
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
Compiler

Compiled 3068 to 1665 computations (45.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
0.0b
(log1p.f64 (exp.f64 a))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.1b
(expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))

series192.0ms (1.2%)

Counts
2 → 48
Calls

2 calls:

175.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
17.0ms
(expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))

rewrite51.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
492×log-prod_binary64
348×fma-def_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
175×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
121025
2284425
Stop Event
node limit
Counts
2 → 113
Calls

2 calls:

48.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
48.0ms
(expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))

simplify42.0ms (0.3%)

Algorithm
egg-herbie
Rules
404×associate-+l+_binary64
357×cancel-sign-sub-inv_binary64
290×associate-+r+_binary64
289×associate-*l*_binary64
286×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044647
1127628
2387612
31430608
44264608
Stop Event
node limit
Counts
161 → 133

prune169.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2010201
Fresh055
Picked011
Done000
Total2016207
Error
1.0b
Counts
207 → 6
Alt Table
StatusErrorProgram
2.8b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a))))))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
2.0b
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
22.6b
(cbrt.f64 (pow.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) 3))
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
Compiler

Compiled 3691 to 2102 computations (43.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.0b
(log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))))
0.1b
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))

series787.0ms (4.8%)

Counts
3 → 72
Calls

3 calls:

431.0ms
(log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))))
179.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
177.0ms
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))

rewrite64.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
877×prod-diff_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
102×add-sqr-sqrt_binary64
100×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01150
121050
2283350
Stop Event
node limit
Counts
3 → 94
Calls

3 calls:

61.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
61.0ms
(log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))))
61.0ms
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))

simplify65.0ms (0.4%)

Algorithm
egg-herbie
Rules
426×associate-+r+_binary64
269×+-commutative_binary64
268×associate-+l+_binary64
226×cancel-sign-sub-inv_binary64
216×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02593244
18673162
239163099
Stop Event
node limit
Counts
166 → 103

prune138.0ms (0.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1422144
Fresh134
Picked101
Done011
Total1446150
Error
1.0b
Counts
150 → 6
Alt Table
StatusErrorProgram
22.6b
(cbrt.f64 (pow.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) 3))
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
21.0b
(expm1.f64 (exp.f64 (log.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
63.3b
(expm1.f64 (+.f64 (-.f64 (/.f64 (exp.f64 a) b) (log1p.f64 (exp.f64 a))) (+.f64 (+.f64 (/.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (exp.f64 a))) (+.f64 (/.f64 1 b) (/.f64 (log1p.f64 (exp.f64 a)) b))) (log.f64 b))))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
Compiler

Compiled 5303 to 3200 computations (39.7% saved)

regimes458.0ms (2.8%)

Accuracy

Total 0.6b remaining (56.7%)

Threshold costs 0.6b (56.7%)

Counts
108 → 1
Compiler

Compiled 8904 to 6555 computations (26.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11416
Stop Event
saturated

end239.0ms (1.5%)

Compiler

Compiled 149 to 99 computations (33.6% saved)

Profiling

Loading profile data...