Details

Time bar (total: 15.3s)

analyze885.0ms (5.8%)

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.4s (81.2%)

Symmetry

(sort a b)

Results
9.7s7891×body8192exit
1.4s1957×body1024valid
604.0ms4612×body128valid
400.0ms984×body512valid
182.0ms197×body2048valid
132.0ms506×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

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize49.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series359.0ms (2.3%)

Counts
2 → 48
Calls

2 calls:

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

rewrite42.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
Calls

2 calls:

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

simplify40.0ms (0.3%)

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

prune57.0ms (0.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New87390
Fresh000
Picked011
Done000
Total87491
Error
0.4b
Counts
91 → 4
Alt Table
StatusErrorProgram
29.6b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
27.8b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
26.6b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 1456 to 717 computations (50.8% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

series20.0ms (0.1%)

Counts
2 → 8
Calls

2 calls:

18.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
1.0ms
(+.f64 1 (exp.f64 a))

rewrite38.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
709×log1p-expm1-u_binary64
709×expm1-log1p-u_binary64
127×expm1-udef_binary64
127×log1p-udef_binary64
96×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114415
2188015
Stop Event
node limit
Counts
2 → 67
Calls

2 calls:

37.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
37.0ms
(+.f64 1 (exp.f64 a))

simplify25.0ms (0.2%)

Algorithm
egg-herbie
Rules
602×fma-def_binary64
435×distribute-rgt-neg-in_binary64
383×distribute-lft-neg-in_binary64
330×associate-*l*_binary64
268×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032107
19599
229389
397380
4327580
Stop Event
node limit
Counts
75 → 80

prune78.0ms (0.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New77380
Fresh022
Picked101
Done011
Total78684
Error
0.4b
Counts
84 → 6
Alt Table
StatusErrorProgram
29.6b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
27.8b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
26.6b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 1386 to 765 computations (44.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series165.0ms (1.1%)

Counts
3 → 48
Calls

3 calls:

145.0ms
(log1p.f64 (+.f64 1 (exp.f64 a)))
19.0ms
(/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
2.0ms
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))

rewrite43.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
785×expm1-log1p-u_binary64
784×log1p-expm1-u_binary64
145×prod-diff_binary64
87×egg-rr
79×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
116523
2208923
Stop Event
node limit
Counts
3 → 87
Calls

3 calls:

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

simplify37.0ms (0.2%)

Algorithm
egg-herbie
Rules
808×fma-def_binary64
434×distribute-rgt-neg-in_binary64
400×associate-*l*_binary64
383×distribute-lft-neg-in_binary64
308×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049444
1132436
2380426
31251411
43936411
Stop Event
node limit
Counts
135 → 110

prune119.0ms (0.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1480148
Fresh044
Picked011
Done011
Total1486154
Error
0.4b
Counts
154 → 6
Alt Table
StatusErrorProgram
29.6b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
27.8b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
26.6b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 2504 to 1402 computations (44% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series235.0ms (1.5%)

Counts
2 → 48
Calls

2 calls:

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

rewrite43.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
784×expm1-log1p-u_binary64
783×log1p-expm1-u_binary64
286×prod-diff_binary64
79×add-sqr-sqrt_binary64
73×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
116520
2208620
Stop Event
node limit
Counts
2 → 64
Calls

2 calls:

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

simplify34.0ms (0.2%)

Algorithm
egg-herbie
Rules
595×times-frac_binary64
408×associate-/l*_binary64
354×fma-def_binary64
270×associate-/r*_binary64
200×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01311129
14181077
216211044
Stop Event
node limit
Counts
112 → 103

prune130.0ms (0.8%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1821183
Fresh123
Picked101
Done022
Total1845189
Error
0.4b
Counts
189 → 5
Alt Table
StatusErrorProgram
29.6b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
63.4b
(+.f64 (log1p.f64 (exp.f64 a)) (expm1.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (-.f64 (/.f64 1 b) (log1p.f64 (exp.f64 a))) (log.f64 b)))))
27.8b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
26.6b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 3820 to 2228 computations (41.7% saved)

regimes232.0ms (1.5%)

Accuracy

Total 0.6b remaining (49.8%)

Threshold costs 0.6b (49.8%)

Counts
50 → 1
Compiler

Compiled 4168 to 3042 computations (27% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11316
Stop Event
saturated

end215.0ms (1.4%)

Compiler

Compiled 115 to 78 computations (32.2% saved)

Profiling

Loading profile data...