Details

Time bar (total: 2.8s)

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

sample771.0ms (27.8%)

Alt Table
StatusErrorProgram
0.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Results
738.0ms8256×body128valid
3.0ms30×body128invalid
Compiler

Compiled 52 to 32 computations (38.5% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series33.0ms (1.2%)

Counts
2 → 48
Calls

2 calls:

28.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
5.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite51.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
793×log1p-expm1-u_binary64
793×expm1-log1p-u_binary64
485×prod-diff_binary64
77×add-sqr-sqrt_binary64
73×add-log-exp_binary64
Counts
2 → 70
Calls

2 calls:

49.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
49.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114721
2199821
3579421
000
100

prune89.0ms (3.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1153118
Fresh000
Picked101
Done000
Total1163119
Error
0b
Counts
119 → 3
Alt Table
StatusErrorProgram
0.5b
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
11.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
Compiler

Compiled 1921 to 722 computations (62.4% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series61.0ms (2.2%)

Counts
3 → 72
Calls

3 calls:

29.0ms
(/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b)))
28.0ms
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite61.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
860×log1p-expm1-u_binary64
860×expm1-log1p-u_binary64
490×prod-diff_binary64
91×egg-rr
91×add-sqr-sqrt_binary64
Counts
3 → 91
Calls

3 calls:

58.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
58.0ms
(/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b)))
58.0ms
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
118332
2221632
3622332
000
100

prune118.0ms (4.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1630163
Fresh022
Picked011
Done000
Total1633166
Error
0b
Counts
166 → 3
Alt Table
StatusErrorProgram
0.5b
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
11.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
Compiler

Compiled 2772 to 1245 computations (55.1% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
0.4b
(/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
0.8b
(/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))

series126.0ms (4.5%)

Counts
4 → 96
Calls

4 calls:

49.0ms
(/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
35.0ms
(/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
30.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
11.0ms
(sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

rewrite128.0ms (4.6%)

Algorithm
batch-egg-rewrite
Rules
675×prod-diff_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
190×fma-def_binary64
182×log-pow_binary64
Counts
4 → 146
Calls

4 calls:

125.0ms
(sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
125.0ms
(/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
125.0ms
(/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
125.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01151
122749
2287349
3489349
4516349
000
100

prune214.0ms (7.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2980298
Fresh011
Picked011
Done011
Total2983301
Error
0b
Counts
301 → 3
Alt Table
StatusErrorProgram
0.5b
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
11.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
Compiler

Compiled 7639 to 2987 computations (60.9% saved)

localize11.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series83.0ms (3%)

Counts
4 → 49
Calls

4 calls:

76.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
4.0ms
(*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))
2.0ms
(+.f64 (exp.f64 b) 1)
1.0ms
(+.f64 1 (exp.f64 b))

rewrite115.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
250×expm1-udef_binary64
250×log1p-udef_binary64
213×egg-rr
147×add-sqr-sqrt_binary64
145×log1p-expm1-u_binary64
Counts
4 → 213
Calls

4 calls:

110.0ms
(+.f64 1 (exp.f64 b))
110.0ms
(+.f64 (exp.f64 b) 1)
110.0ms
(*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))
110.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01365
129250
2437950
3506950
000
100

prune395.0ms (14.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New3760376
Fresh000
Picked011
Done022
Total3763379
Error
0b
Counts
379 → 3
Alt Table
StatusErrorProgram
0.5b
(*.f64 (exp.f64 a) (/.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (/.f64 (exp.f64 a) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
11.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1))))
Compiler

Compiled 12142 to 7613 computations (37.3% saved)

regimes400.0ms (14.4%)

Accuracy

Total 0.3b remaining (68.9%)

Threshold costs 0.3b (68.9%)

Counts
93 → 1
Compiler

Compiled 9654 to 6788 computations (29.7% saved)

simplify3.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
0915
11215
21715
31915
42015
52015

end57.0ms (2.1%)

Compiler

Compiled 81 to 52 computations (35.8% saved)

Profiling

Loading profile data...