Details

Time bar (total: 3.7s)

analyze95.0ms (2.6%)

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%18.7%12.6%7
68.7%12.5%18.8%8
68.7%12.5%18.8%9
68.7%9.4%22%10
68.7%9.4%22%11
68.7%7.8%23.5%12
68.7%7.8%23.5%13
68.7%7%24.3%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample33.0ms (0.9%)

Algorithm
intervals
Results
10.0ms256×body128valid
1.0ms25×body128overflowed
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.8b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 30 to 18 computations (40% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series37.0ms (1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite12.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
12×times-frac_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
distribute-lft-out_binary64
Counts
2 → 52
Calls

2 calls:

6.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
3.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

simplify89.0ms (2.4%)

Algorithm
egg-herbie
Rules
806×fma-neg_binary64
536×times-frac_binary64
493×fma-def_binary64
389×associate-/l*_binary64
245×associate-/r*_binary64
Counts
100 → 108
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01681981
14491869
214031853
349151853
456401853

prune118.0ms (3.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1062108
Fresh000
Picked101
Done000
Total1072109
Error
0.2b
Counts
109 → 2
Alt Table
StatusErrorProgram
28.2b
(+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4))))))))
11.8b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 2387 to 925 computations (61.2% saved)

localize4.0ms (0.1%)

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

rewrite10.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
12×times-frac_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
add-exp-log_binary64
Counts
2 → 56
Calls

2 calls:

5.0ms
(/.f64 1 (+.f64 1 (exp.f64 b)))
3.0ms
(+.f64 1 (exp.f64 b))

simplify74.0ms (2%)

Algorithm
egg-herbie
Rules
561×fma-neg_binary64
525×fma-def_binary64
498×unswap-sqr_binary64
428×associate-+l+_binary64
349×cancel-sign-sub-inv_binary64
Counts
64 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
081733
1185669
2382663
3887653
42169653
53922653
65318653

prune65.0ms (1.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New74175
Fresh011
Picked101
Done000
Total75277
Error
0.2b
Counts
77 → 2
Alt Table
StatusErrorProgram
12.1b
(/.f64 1 (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
28.2b
(+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4))))))))
Compiler

Compiled 1064 to 765 computations (28.1% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series242.0ms (6.6%)

Counts
3 → 36
Calls

3 calls:

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

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
add-exp-log_binary64
Counts
3 → 55
Calls

3 calls:

2.0ms
(/.f64 1 (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
0.0ms
(log1p.f64 (+.f64 1 (exp.f64 b)))
0.0ms
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))

simplify93.0ms (2.6%)

Algorithm
egg-herbie
Rules
1280×fma-neg_binary64
597×fma-def_binary64
454×unswap-sqr_binary64
379×*-commutative_binary64
332×cancel-sign-sub-inv_binary64
Counts
91 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941000
1176907
2395898
3884884
42051884
53311884
64761884
74896884

prune113.0ms (3.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1341135
Fresh011
Picked011
Done000
Total1343137
Error
0.2b
Counts
137 → 3
Alt Table
StatusErrorProgram
12.1b
(/.f64 1 (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
28.2b
(+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4))))))))
13.0b
(/.f64 1 (expm1.f64 (*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))))
Compiler

Compiled 1936 to 1482 computations (23.5% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))))
0.2b
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
0.3b
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))
0.8b
(log1p.f64 (+.f64 1 (exp.f64 b)))

series662.0ms (18.1%)

Counts
3 → 36
Calls

3 calls:

445.0ms
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))
213.0ms
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
3.0ms
(expm1.f64 (*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))))

rewrite11.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×pow1_binary64
10×pow1/3_binary64
pow-prod-up_binary64
add-sqr-sqrt_binary64
add-exp-log_binary64
Counts
3 → 62
Calls

3 calls:

7.0ms
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
1.0ms
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))
0.0ms
(expm1.f64 (*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))))

simplify66.0ms (1.8%)

Algorithm
egg-herbie
Rules
555×fma-neg_binary64
385×fma-def_binary64
365×associate-*l*_binary64
332×unswap-sqr_binary64
320×associate-*r*_binary64
Counts
98 → 98
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01291419
12851288
27851243
325761222
453731222

prune196.0ms (5.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2201221
Fresh011
Picked101
Done011
Total2213224
Error
0.2b
Counts
224 → 3
Alt Table
StatusErrorProgram
12.1b
(/.f64 1 (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))
28.2b
(+.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (-.f64 (*.f64 (exp.f64 a) (+.f64 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (fma.f64 1/6 (/.f64 (*.f64 (exp.f64 a) (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (*.f64 (exp.f64 a) (+.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 4))))))))
13.2b
(/.f64 1 (expm1.f64 (*.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 b)))))))))
Compiler

Compiled 6383 to 4953 computations (22.4% saved)

regimes1.1s (28.8%)

Accuracy

Total 0.3b remaining (58.9%)

Threshold costs 0.3b (58.9%)

Counts
209 → 1
Compiler

Compiled 24058 to 16909 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

end0.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

sample633.0ms (17.3%)

Algorithm
intervals
Results
296.0ms8000×body128valid
22.0ms735×body128overflowed
Compiler

Compiled 162 to 114 computations (29.6% saved)

Profiling

Loading profile data...