Details

Time bar (total: 3.4s)

analyze42.0ms (1.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
25%74.9%0.1%3
62.4%37.5%0.1%4
68.7%31.2%0.1%5
68.7%18.7%12.6%6
68.7%17.2%14.1%7
68.7%10.1%21.2%8
68.7%9%22.3%9
68.7%5.3%26%10
68.7%4.6%26.7%11
68.7%2.7%28.6%12
68.7%2.3%29%13
68.7%1.4%30%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample765.0ms (22.6%)

Results
733.0ms8256×body128valid
4.0ms31×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
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
0.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.3b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 30 to 18 computations (40% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series36.0ms (1.1%)

Counts
3 → 52
Calls

3 calls:

31.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
1.0ms
(exp.f64 a)

rewrite54.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
793×log1p-expm1-u_binary64
793×expm1-log1p-u_binary64
485×prod-diff_binary64
89×egg-rr
77×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0724
114724
2210224
Stop Event
node limit
Counts
3 → 89
Calls

3 calls:

52.0ms
(exp.f64 a)
52.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
52.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

simplify30.0ms (0.9%)

Algorithm
egg-herbie
Rules
475×times-frac_binary64
467×associate-+l+_binary64
464×fma-def_binary64
303×associate-/l*_binary64
240×associate--l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071054
13481015
21201999
Stop Event
node limit
Counts
141 → 125

prune137.0ms (4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1473150
Fresh000
Picked101
Done000
Total1483151
Error
0b
Counts
151 → 3
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
23.7b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
Compiler

Compiled 2666 to 1189 computations (55.4% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.7b
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
3.5b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series645.0ms (19.1%)

Counts
3 → 72
Calls

3 calls:

311.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
179.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
155.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))

rewrite59.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
814×prod-diff_binary64
327×fma-def_binary64
176×fma-neg_binary64
174×expm1-udef_binary64
174×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118736
2260836
Stop Event
node limit
Counts
3 → 141
Calls

3 calls:

56.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
56.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
56.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

simplify51.0ms (1.5%)

Algorithm
egg-herbie
Rules
591×fma-def_binary64
485×times-frac_binary64
400×associate-/l*_binary64
217×sub-neg_binary64
203×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01381993
14711932
218281690
Stop Event
node limit
Counts
213 → 194

prune177.0ms (5.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2422244
Fresh202
Picked011
Done000
Total2443247
Error
0b
Counts
247 → 3
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))
0.3b
(exp.f64 (-.f64 (-.f64 a (/.f64 a (+.f64 1 (exp.f64 b)))) (log1p.f64 (exp.f64 b))))
Compiler

Compiled 5577 to 2282 computations (59.1% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series299.0ms (8.9%)

Counts
4 → 44
Calls

4 calls:

148.0ms
(exp.f64 (-.f64 (-.f64 a (/.f64 a (+.f64 1 (exp.f64 b)))) (log1p.f64 (exp.f64 b))))
132.0ms
(log1p.f64 (exp.f64 b))
17.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))
2.0ms
(+.f64 1 (exp.f64 b))

rewrite63.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
562×fma-def_binary64
304×fma-neg_binary64
220×expm1-udef_binary64
220×log1p-udef_binary64
121×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01141
124141
2348641
Stop Event
node limit
Counts
4 → 120
Calls

4 calls:

61.0ms
(exp.f64 (-.f64 (-.f64 a (/.f64 a (+.f64 1 (exp.f64 b)))) (log1p.f64 (exp.f64 b))))
61.0ms
(+.f64 1 (exp.f64 b))
61.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))
61.0ms
(log1p.f64 (exp.f64 b))

simplify38.0ms (1.1%)

Algorithm
egg-herbie
Rules
891×fma-def_binary64
327×cancel-sign-sub-inv_binary64
265×times-frac_binary64
225×associate-/l*_binary64
169×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01341275
14361193
21598989
Stop Event
node limit
Counts
164 → 161

prune132.0ms (3.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1610161
Fresh011
Picked011
Done011
Total1613164
Error
0b
Counts
164 → 3
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))
0.3b
(exp.f64 (-.f64 (-.f64 a (/.f64 a (+.f64 1 (exp.f64 b)))) (log1p.f64 (exp.f64 b))))
Compiler

Compiled 3560 to 2112 computations (40.7% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (exp.f64 a))
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.2b
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a)))
0.3b
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))

series49.0ms (1.4%)

Counts
3 → 52
Calls

3 calls:

27.0ms
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))
19.0ms
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a)))
3.0ms
(sqrt.f64 (exp.f64 a))

rewrite55.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
537×prod-diff_binary64
205×fma-def_binary64
175×expm1-udef_binary64
175×log1p-udef_binary64
165×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0942
119333
2279733
Stop Event
node limit
Counts
3 → 97
Calls

3 calls:

53.0ms
(sqrt.f64 (exp.f64 a))
53.0ms
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a)))
53.0ms
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))

simplify35.0ms (1%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
465×times-frac_binary64
364×associate--l+_binary64
288×associate-/l*_binary64
211×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281368
14231307
214941256
Stop Event
node limit
Counts
149 → 136

prune151.0ms (4.5%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2160216
Fresh000
Picked011
Done022
Total2163219
Error
0b
Counts
219 → 3
Alt Table
StatusErrorProgram
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(/.f64 (sqrt.f64 (exp.f64 a)) (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (sqrt.f64 (exp.f64 a))))
0.3b
(exp.f64 (-.f64 (-.f64 a (/.f64 a (+.f64 1 (exp.f64 b)))) (log1p.f64 (exp.f64 b))))
Compiler

Compiled 4477 to 1684 computations (62.4% saved)

regimes467.0ms (13.8%)

Accuracy

Total 0.4b remaining (52.7%)

Threshold costs 0.4b (52.7%)

Counts
108 → 1
Compiler

Compiled 9773 to 6697 computations (31.5% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
11419
21919
32119
42219
Stop Event
saturated

end55.0ms (1.6%)

Compiler

Compiled 67 to 46 computations (31.3% saved)

Profiling

Loading profile data...