Details

Time bar (total: 16.5s)

analyze879.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.2s (73.9%)

Results
9.5s7820×body8192exit
1.4s1998×body1024valid
601.0ms4586×body128valid
400.0ms954×body512valid
174.0ms195×body2048valid
132.0ms523×body256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

preprocess17.0ms (0.1%)

Algorithm
egg-herbie
Rules
swap-a-b
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
1920
022
122
Stop Event
unsound
saturated
Symmetry

(sort a b)

Compiler

Compiled 8 to 6 computations (25% saved)

simplify9.0ms (0.1%)

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)))

series353.0ms (2.1%)

Counts
2 → 48
Calls

12 calls:

118.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
-inf
79.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
inf
73.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
inf
72.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
-inf
4.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
0

rewrite44.0ms (0.3%)

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

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

prune94.0ms (0.6%)

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))))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
Compiler

Compiled 1448 to 711 computations (50.9% saved)

localize7.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)))

series337.0ms (2%)

Counts
4 → 44
Calls

18 calls:

71.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
-inf
70.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
inf
68.0ms
(log1p.f64 (exp.f64 a))
a
inf
68.0ms
(log1p.f64 (exp.f64 a))
a
-inf
15.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
0

rewrite61.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

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.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))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
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))))))
Compiler

Compiled 3068 to 1665 computations (45.7% saved)

localize9.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)))))

series199.0ms (1.2%)

Counts
2 → 48
Calls

12 calls:

71.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
a
-inf
69.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
a
inf
15.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
b
0
13.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
b
inf
12.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
b
-inf

rewrite57.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

simplify40.0ms (0.2%)

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

prune168.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.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))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
2.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
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))))))
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)))))

series811.0ms (4.9%)

Counts
3 → 72
Calls

18 calls:

201.0ms
(log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))))
a
inf
198.0ms
(log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))))
a
-inf
72.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
a
-inf
71.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
a
inf
71.0ms
(expm1.f64 (log1p.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
a
-inf

rewrite59.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

simplify71.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

prune129.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
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))))
22.6b
(cbrt.f64 (pow.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) 3))
30.3b
(log.f64 (cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3)))
32.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
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)))))))
Compiler

Compiled 5303 to 3200 computations (39.7% saved)

regimes479.0ms (2.9%)

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

end243.0ms (1.5%)

Stop Event
fuel
Compiler

Compiled 149 to 99 computations (33.6% saved)

Profiling

Loading profile data...