Details

Time bar (total: 4.7s)

analyze69.0ms (1.5%)

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%37.5%12.6%6
50%25%25.1%7
50%18.7%31.3%8
50%12.5%37.6%9
50%9.4%40.7%10
50%6.2%43.8%11
50%4.7%45.4%12
50%3.1%46.9%13
50%2.3%47.7%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample138.0ms (2.9%)

Algorithm
intervals
Symmetry

(sort a b)

Results
35.0ms65×body1024valid
7.0ms134×body128valid
7.0ms26×body512valid
7.0ms10×body2048valid
3.0ms21×body256valid
0.0msbody128overflowed
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify6.0ms (0.1%)

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
31.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
31.2b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.7b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series588.0ms (12.4%)

Counts
1 → 24
Calls

1 calls:

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

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
log-prod_binary64
add-exp-log_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
1 → 17
Calls

1 calls:

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

simplify55.0ms (1.2%)

Algorithm
egg-herbie
Rules
534×fma-neg_binary64
260×associate-+l+_binary64
228×times-frac_binary64
214×fma-def_binary64
196×associate-/l*_binary64
Counts
41 → 44
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096805
1260771
2794743
33305729
44972729

prune38.0ms (0.8%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New41344
Fresh000
Picked101
Done000
Total42345
Error
0.2b
Counts
45 → 3
Alt Table
StatusErrorProgram
0.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
32.9b
(log1p.f64 (exp.f64 b))
0.4b
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
Compiler

Compiled 915 to 456 computations (50.2% saved)

localize12.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series446.0ms (9.4%)

Counts
3 → 60
Calls

3 calls:

331.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
105.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))
10.0ms
(+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))

rewrite33.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
24×fma-def_binary64
23×*-un-lft-identity_binary64
15×add-log-exp_binary64
13×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
Counts
3 → 76
Calls

3 calls:

10.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
9.0ms
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))))
8.0ms
(+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a))))

simplify175.0ms (3.7%)

Algorithm
egg-herbie
Rules
525×fma-neg_binary64
394×cancel-sign-sub-inv_binary64
357×associate-*l/_binary64
350×times-frac_binary64
172×associate-/r*_binary64
Counts
136 → 144
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01834587
16054358
221473568
348123554
451303554

prune249.0ms (5.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1440144
Fresh022
Picked011
Done000
Total1443147
Error
0.2b
Counts
147 → 3
Alt Table
StatusErrorProgram
0.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
32.9b
(log1p.f64 (exp.f64 b))
0.4b
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
Compiler

Compiled 5534 to 3443 computations (37.8% saved)

localize6.0ms (0.1%)

prune2.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0.2b
Counts
3 → 3
Alt Table
StatusErrorProgram
0.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
32.9b
(log1p.f64 (exp.f64 b))
0.4b
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
Compiler

Compiled 52 to 36 computations (30.8% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.2b
(log1p.f64 (exp.f64 b))

series262.0ms (5.5%)

Counts
1 → 12
Calls

1 calls:

262.0ms
(log1p.f64 (exp.f64 b))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
expm1-log1p-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 11
Calls

1 calls:

0.0ms
(log1p.f64 (exp.f64 b))

simplify96.0ms (2%)

Algorithm
egg-herbie
Rules
749×fma-def_binary64
668×fma-neg_binary64
607×distribute-rgt-neg-in_binary64
528×cancel-sign-sub-inv_binary64
420×sub-neg_binary64
Counts
23 → 19
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
031178
157165
2108159
3279153
4830153
51786153
62983153
74155153
84520153
94899153
104840153

prune16.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New19019
Fresh000
Picked011
Done022
Total19322
Error
0.2b
Counts
22 → 3
Alt Table
StatusErrorProgram
0.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
32.9b
(log1p.f64 (exp.f64 b))
0.4b
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 (*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) b) (+.f64 1/2 (/.f64 -1/2 (+.f64 1 (exp.f64 a)))))))
Compiler

Compiled 192 to 114 computations (40.6% saved)

regimes316.0ms (6.7%)

Accuracy

Total 0.3b remaining (42.1%)

Threshold costs 0.3b (42.1%)

Counts
59 → 1
Compiler

Compiled 6493 to 4638 computations (28.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
*-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01636
12636
23336
33536
43636
53436

end6.0ms (0.1%)

Compiler

Compiled 75 to 54 computations (28% saved)

sample2.2s (46.4%)

Algorithm
intervals
Results
1.0s2038×body1024valid
241.0ms887×body512valid
230.0ms4382×body128valid
147.0ms198×body2048valid
75.0ms495×body256valid
7.0ms139×body128overflowed
Compiler

Compiled 83 to 59 computations (28.9% saved)

Profiling

Loading profile data...