Details

Time bar (total: 3.4s)

analyze98.0ms (2.9%)

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)

sample36.0ms (1.1%)

Algorithm
intervals
Results
11.0ms256×body128valid
1.0ms28×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.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)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
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
2 → 48
Calls

2 calls:

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

rewrite13.0ms (0.4%)

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:

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

simplify95.0ms (2.8%)

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

prune100.0ms (2.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1071108
Fresh000
Picked011
Done000
Total1072109
Error
0b
Counts
109 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
25.6b
(+.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 2381 to 917 computations (61.5% saved)

localize35.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.7b
(*.f64 (exp.f64 a) (pow.f64 b 3))
5.3b
(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)))))
5.3b
(+.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)))
12.2b
(-.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)))))))

series656.0ms (19.3%)

Counts
4 → 76
Calls

4 calls:

353.0ms
(-.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)))))))
167.0ms
(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)))))
124.0ms
(+.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)))
13.0ms
(*.f64 (exp.f64 a) (pow.f64 b 3))

rewrite287.0ms (8.4%)

Algorithm
rewrite-expression-head
Rules
160×times-frac_binary64
159×*-un-lft-identity_binary64
73×distribute-lft-out_binary64
64×cube-prod_binary64
64×unpow-prod-down_binary64
Counts
4 → 182
Calls

4 calls:

142.0ms
(+.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)))
108.0ms
(-.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)))))))
5.0ms
(*.f64 (exp.f64 a) (pow.f64 b 3))
0.0ms
(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)))))

simplify220.0ms (6.5%)

Algorithm
egg-herbie
Rules
667×fma-neg_binary64
308×associate-*r*_binary64
268×fma-def_binary64
262×associate-*l*_binary64
193×times-frac_binary64
Counts
258 → 246
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035211802
192510639
2389610410
3498810410

prune550.0ms (16.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2460246
Fresh000
Picked011
Done011
Total2462248
Error
0b
Counts
248 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
25.6b
(+.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 23927 to 14481 computations (39.5% saved)

regimes652.0ms (19.2%)

Accuracy

Total 0.5b remaining (46.1%)

Threshold costs 0.5b (46.1%)

Counts
87 → 1
Compiler

Compiled 25018 to 15808 computations (36.8% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01221
11621
21521

end1.0ms (0%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

sample602.0ms (17.7%)

Algorithm
intervals
Results
287.0ms8000×body128valid
20.0ms664×body128overflowed
Compiler

Compiled 126 to 82 computations (34.9% saved)

Profiling

Loading profile data...