Details

Time bar (total: 16.6s)

analyze870.0ms (5.2%)

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.8%)

Results
9.6s7817×body8192exit
1.3s1936×body1024valid
598.0ms4586×body128valid
418.0ms1023×body512valid
202.0ms230×body2048valid
122.0ms481×body256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

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

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
Stop Event
saturated
Counts
1 → 1

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
28.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
28.0b
(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))
3.2b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series377.0ms (2.3%)

Counts
2 → 48
Calls

12 calls:

125.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
-inf
87.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
inf
78.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
inf
77.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
-inf
2.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
0

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
721×pow1_binary64
666×add-log-exp_binary64
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
73×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113818
2181818
Stop Event
node limit
Counts
2 → 57

simplify42.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
105 → 89

prune68.0ms (0.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New86389
Fresh000
Picked101
Done000
Total87390
Error
0.6b
Counts
90 → 3
Alt Table
StatusErrorProgram
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
30.2b
(log1p.f64 (exp.f64 b))
Compiler

Compiled 1478 to 753 computations (49.1% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

series212.0ms (1.3%)

Counts
2 → 28
Calls

12 calls:

75.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
inf
73.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
-inf
18.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
0
14.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
-inf
13.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
inf

rewrite54.0ms (0.3%)

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
0925
118925
2265725
Stop Event
node limit
Counts
2 → 87

simplify37.0ms (0.2%)

Algorithm
egg-herbie
Rules
415×associate-+l+_binary64
357×cancel-sign-sub-inv_binary64
292×associate-*l*_binary64
286×fma-neg_binary64
284×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044467
1127448
2387432
31433428
44297428
Stop Event
node limit
Counts
115 → 107

prune109.0ms (0.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1034107
Fresh022
Picked011
Done000
Total1037110
Error
0.6b
Counts
110 → 7
Alt Table
StatusErrorProgram
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
30.2b
(log1p.f64 (exp.f64 b))
26.5b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
19.6b
(exp.f64 (log.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 2087 to 1155 computations (44.7% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
0.0b
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
0.1b
(log.f64 (+.f64 1 (exp.f64 a)))
0.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))

series542.0ms (3.3%)

Counts
4 → 36
Calls

18 calls:

96.0ms
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
a
inf
91.0ms
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
a
-inf
80.0ms
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
a
-inf
79.0ms
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
a
inf
76.0ms
(log.f64 (+.f64 1 (exp.f64 a)))
a
-inf

rewrite56.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
220×add-sqr-sqrt_binary64
215×pow1_binary64
213×*-un-lft-identity_binary64
208×add-log-exp_binary64
207×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01996
143993
Stop Event
node limit
Counts
4 → 112

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
681×fma-neg_binary64
507×fma-def_binary64
473×associate-+r+_binary64
402×associate--l+_binary64
265×+-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0961007
1305999
21061923
34343922
Stop Event
node limit
Counts
148 → 157

prune243.0ms (1.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1570157
Fresh055
Picked011
Done011
Total1577164
Error
0.6b
Counts
164 → 7
Alt Table
StatusErrorProgram
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
30.2b
(log1p.f64 (exp.f64 b))
26.5b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
19.6b
(exp.f64 (log.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 7148 to 4564 computations (36.1% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.6b
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))
0.7b
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)

series427.0ms (2.6%)

Counts
3 → 48
Calls

18 calls:

76.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
a
-inf
72.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
a
inf
43.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
b
-inf
34.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
a
inf
34.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
a
-inf

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
990×prod-diff_binary64
117×add-sqr-sqrt_binary64
112×pow1_binary64
111×*-un-lft-identity_binary64
111×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
125836
2317436
Stop Event
node limit
Counts
3 → 115

simplify37.0ms (0.2%)

Algorithm
egg-herbie
Rules
788×associate-*r*_binary64
748×associate-*l*_binary64
573×fma-def_binary64
366×cancel-sign-sub-inv_binary64
166×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181116
13661102
213131077
Stop Event
node limit
Counts
163 → 143

prune200.0ms (1.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1813184
Fresh224
Picked101
Done022
Total1847191
Error
0.6b
Counts
191 → 7
Alt Table
StatusErrorProgram
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
30.2b
(log1p.f64 (exp.f64 b))
26.6b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a))))) 3))
2.1b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2))) 3))
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
1.8b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)) 3))
Compiler

Compiled 3985 to 2461 computations (38.2% saved)

regimes549.0ms (3.3%)

Accuracy

Total 0.5b remaining (50.5%)

Threshold costs 0.5b (50.5%)

Counts
99 → 1
Compiler

Compiled 13225 to 9449 computations (28.6% 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

end284.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 203 to 140 computations (31% saved)

Profiling

Loading profile data...