Details

Time bar (total: 17.3s)

analyze766.0ms (4.4%)

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 (70.1%)

Symmetry

(sort a b)

Results
9.4s7519×body8192exit
1.4s1997×body1024valid
580.0ms4547×body128valid
420.0ms1002×body512valid
186.0ms205×body2048valid
130.0ms505×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
2810

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series429.0ms (2.5%)

Counts
2 → 48
Calls

2 calls:

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

rewrite7.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
log-prod_binary64
add-cube-cbrt_binary64
Counts
2 → 34
Calls

2 calls:

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

simplify79.0ms (0.5%)

Algorithm
egg-herbie
Rules
618×fma-neg_binary64
418×associate-+l+_binary64
392×fma-def_binary64
238×times-frac_binary64
229×associate-+r+_binary64
Counts
82 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231238
13341183
210341155
340621151
448281151
549731151

prune60.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New80383
Fresh000
Picked101
Done000
Total81384
Error
0.8b
Counts
84 → 3
Alt Table
StatusErrorProgram
30.4b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.1b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
33.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
Compiler

Compiled 1365 to 624 computations (54.3% saved)

localize7.0ms (0%)

Local error

Found 3 expressions with local error:

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

series202.0ms (1.2%)

Counts
3 → 20
Calls

3 calls:

184.0ms
(log1p.f64 (exp.f64 a))
17.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
2.0ms
(+.f64 1 (exp.f64 a))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
23×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
12×times-frac_binary64
distribute-lft-out_binary64
Counts
3 → 63
Calls

3 calls:

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

simplify83.0ms (0.5%)

Algorithm
egg-herbie
Rules
811×fma-neg_binary64
515×associate-*l*_binary64
419×associate-*r*_binary64
353×cancel-sign-sub-inv_binary64
305×associate-/l*_binary64
Counts
83 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0122988
1280911
2654899
31629896
44281896
54969896
64918896

prune69.0ms (0.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New87390
Fresh022
Picked101
Done000
Total88593
Error
0.8b
Counts
93 → 5
Alt Table
StatusErrorProgram
1.9b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
30.4b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
25.0b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
33.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
1.1b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a))))
Compiler

Compiled 1604 to 854 computations (46.8% saved)

localize7.0ms (0%)

Local error

Found 3 expressions with local error:

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

series21.0ms (0.1%)

Counts
2 → 36
Calls

2 calls:

19.0ms
(/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a)))
2.0ms
(-.f64 -1 (exp.f64 a))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
63×*-un-lft-identity_binary64
63×add-sqr-sqrt_binary64
50×times-frac_binary64
39×add-cube-cbrt_binary64
18×distribute-lft-neg-in_binary64
Counts
2 → 113
Calls

2 calls:

5.0ms
(/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a)))
3.0ms
(-.f64 -1 (exp.f64 a))

simplify97.0ms (0.6%)

Algorithm
egg-herbie
Rules
965×times-frac_binary64
459×div-sub_binary64
364×fma-def_binary64
344×fma-neg_binary64
190×cancel-sign-sub-inv_binary64
Counts
149 → 151
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02012447
14382334
215812230
341102220
448982220

prune135.0ms (0.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1700170
Fresh044
Picked011
Done000
Total1705175
Error
0.8b
Counts
175 → 5
Alt Table
StatusErrorProgram
1.9b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
30.4b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
25.0b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
33.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
1.1b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a))))
Compiler

Compiled 3442 to 1589 computations (53.8% saved)

localize60.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 a))
0.3b
(*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
0.6b
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
0.6b
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))

series1.6s (9%)

Counts
3 → 72
Calls

3 calls:

985.0ms
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
548.0ms
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))
28.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))

rewrite63.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
134×cbrt-prod_binary64
114×*-un-lft-identity_binary64
91×times-frac_binary64
88×add-sqr-sqrt_binary64
60×add-cube-cbrt_binary64
Counts
3 → 191
Calls

3 calls:

20.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
19.0ms
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
3.0ms
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))

simplify181.0ms (1%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
345×times-frac_binary64
321×fma-neg_binary64
296×associate-*l*_binary64
279×associate-*r*_binary64
Counts
263 → 278
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02826834
15845969
219705544
339985367
450835367

prune502.0ms (2.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New4533456
Fresh033
Picked101
Done011
Total4547461
Error
0.8b
Counts
461 → 7
Alt Table
StatusErrorProgram
1.1b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a))))
25.0b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (log.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))))
30.4b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
25.0b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
2.3b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
33.4b
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
2.3b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) 5)) (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))
Compiler

Compiled 15904 to 9394 computations (40.9% saved)

regimes519.0ms (3%)

Accuracy

Total 0.6b remaining (52.8%)

Threshold costs 0.6b (52.8%)

Counts
100 → 1
Compiler

Compiled 13427 to 9322 computations (30.6% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11316
21216

end285.0ms (1.6%)

Compiler

Compiled 227 to 154 computations (32.2% saved)

Profiling

Loading profile data...