Details

Time bar (total: 2.7s)

analyze48.0ms (1.8%)

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)

sample779.0ms (29%)

Results
746.0ms8256×body128valid
3.0ms40×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
Stop Event
saturated
Counts
1 → 1

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.5b
(/.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 1 expressions with local error:

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

series26.0ms (1%)

Counts
1 → 24
Calls

1 calls:

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

rewrite44.0ms (1.6%)

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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
114713
2210213
Stop Event
node limit
Counts
1 → 35
Calls

1 calls:

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

simplify29.0ms (1.1%)

Algorithm
egg-herbie
Rules
463×times-frac_binary64
306×associate-+l+_binary64
281×associate-/l*_binary64
270×fma-def_binary64
240×associate--l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
085782
1280745
2982729
Stop Event
node limit
Counts
59 → 49

prune49.0ms (1.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New47249
Fresh000
Picked011
Done000
Total47350
Error
0.2b
Counts
50 → 3
Alt Table
StatusErrorProgram
0.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
10.0b
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
10.4b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 1290 to 644 computations (50.1% saved)

localize10.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series149.0ms (5.6%)

Counts
4 → 40
Calls

4 calls:

72.0ms
(-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)))
56.0ms
(/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))
18.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))
3.0ms
(pow.f64 (+.f64 1 (exp.f64 b)) 2)

rewrite96.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
467×fma-def_binary64
251×egg-rr
235×fma-neg_binary64
214×expm1-udef_binary64
214×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01153
124853
2356353
Stop Event
node limit
Counts
4 → 251
Calls

4 calls:

90.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))
90.0ms
(pow.f64 (+.f64 1 (exp.f64 b)) 2)
90.0ms
(/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))
90.0ms
(-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)))

simplify43.0ms (1.6%)

Algorithm
egg-herbie
Rules
629×cancel-sign-sub-inv_binary64
563×fma-neg_binary64
356×fma-def_binary64
215×distribute-lft-out_binary64
206×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086819
1238790
2685743
32367691
Stop Event
node limit
Counts
291 → 289

prune285.0ms (10.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2890289
Fresh011
Picked011
Done011
Total2893292
Error
0.2b
Counts
292 → 3
Alt Table
StatusErrorProgram
0.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
10.0b
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
10.4b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 9835 to 6367 computations (35.3% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series9.0ms (0.3%)

Counts
2 → 8
Calls

2 calls:

7.0ms
(/.f64 1 (+.f64 1 (exp.f64 b)))
2.0ms
(+.f64 1 (exp.f64 b))

rewrite43.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
554×log1p-expm1-u_binary64
554×expm1-log1p-u_binary64
253×log-prod_binary64
129×fma-def_binary64
104×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
112515
2154315
Stop Event
node limit
Counts
2 → 69
Calls

2 calls:

42.0ms
(+.f64 1 (exp.f64 b))
42.0ms
(/.f64 1 (+.f64 1 (exp.f64 b)))

simplify31.0ms (1.2%)

Algorithm
egg-herbie
Rules
1075×fma-neg_binary64
445×unswap-sqr_binary64
346×fma-def_binary64
328×cancel-sign-sub-inv_binary64
204×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02985
17979
221173
366466
4178066
5345366
Stop Event
node limit
Counts
77 → 83

prune83.0ms (3.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New82183
Fresh000
Picked101
Done022
Total83386
Error
0.2b
Counts
86 → 3
Alt Table
StatusErrorProgram
0.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
10.0b
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
10.7b
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) -1/2) 2)
Compiler

Compiled 955 to 677 computations (29.1% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 b))
0.0b
(pow.f64 (+.f64 1 (exp.f64 b)) -1/2)
0.5b
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) -1/2) 2)

series285.0ms (10.6%)

Counts
2 → 24
Calls

2 calls:

149.0ms
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) -1/2) 2)
135.0ms
(pow.f64 (+.f64 1 (exp.f64 b)) -1/2)

rewrite42.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
733×log1p-expm1-u_binary64
733×expm1-log1p-u_binary64
143×log1p-udef_binary64
85×add-sqr-sqrt_binary64
81×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
119118
2208818
Stop Event
node limit
Counts
2 → 41
Calls

2 calls:

42.0ms
(pow.f64 (+.f64 1 (exp.f64 b)) -1/2)
41.0ms
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) -1/2) 2)

simplify35.0ms (1.3%)

Algorithm
egg-herbie
Rules
563×cancel-sign-sub-inv_binary64
527×fma-neg_binary64
424×unswap-sqr_binary64
305×*-commutative_binary64
237×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043336
1124284
2402272
31451263
44171263
Stop Event
node limit
Counts
65 → 55

prune77.0ms (2.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1021103
Fresh000
Picked101
Done022
Total1033106
Error
0.2b
Counts
106 → 3
Alt Table
StatusErrorProgram
0.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
10.0b
(+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (-.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
10.9b
(pow.f64 (expm1.f64 (log1p.f64 (pow.f64 (+.f64 1 (exp.f64 b)) -1/2))) 2)
Compiler

Compiled 1385 to 1055 computations (23.8% saved)

regimes440.0ms (16.4%)

Accuracy

Total 0.3b remaining (49.2%)

Threshold costs 0.3b (49.2%)

Counts
106 → 1
Compiler

Compiled 8332 to 6567 computations (21.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
*-rgt-identity_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
11815
22215
32415
42515
Stop Event
saturated

end57.0ms (2.1%)

Compiler

Compiled 68 to 50 computations (26.5% saved)

Profiling

Loading profile data...