Details

Time bar (total: 17.8s)

analyze48.0ms (0.3%)

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)

sample816.0ms (4.6%)

Results
786.0ms8256×body128valid
3.0ms36×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify6.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune1.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%)

Local error

Found 2 expressions with local error:

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

series41.0ms (0.2%)

Counts
2 → 48
Calls

2 calls:

36.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite13.0ms (0.1%)

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) (exp.f64 b))
5.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

simplify83.0ms (0.5%)

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

prune96.0ms (0.5%)

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
19.2b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
11.9b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 2255 to 839 computations (62.8% saved)

localize6.0ms (0%)

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

Counts
2 → 8
Calls

2 calls:

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

rewrite8.0ms (0%)

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:

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

simplify76.0ms (0.4%)

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

prune75.0ms (0.4%)

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
19.2b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
12.3b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))
Compiler

Compiled 946 to 689 computations (27.2% saved)

localize5.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))
0.0b
(+.f64 1 (exp.f64 b))
0.0b
(/.f64 1 (+.f64 1 (exp.f64 b)))
0.6b
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))

series23.0ms (0.1%)

Counts
2 → 16
Calls

2 calls:

16.0ms
(sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))
7.0ms
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))

rewrite47.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
132×sqrt-prod_binary64
130×add-sqr-sqrt_binary64
117×*-un-lft-identity_binary64
106×times-frac_binary64
50×add-cube-cbrt_binary64
Counts
2 → 174
Calls

2 calls:

21.0ms
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))) (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))
4.0ms
(sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))

simplify188.0ms (1.1%)

Algorithm
egg-herbie
Rules
692×fma-neg_binary64
547×fma-def_binary64
522×cancel-sign-sub-inv_binary64
241×associate-*l*_binary64
237×associate-/l/_binary64
Counts
190 → 198
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01452887
12902705
27882662
323042577
439912571
547722571
649712571
748992571

prune447.0ms (2.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New3921393
Fresh011
Picked101
Done000
Total3932395
Error
0.2b
Counts
395 → 2
Alt Table
StatusErrorProgram
19.2b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
12.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))
Compiler

Compiled 8658 to 6561 computations (24.2% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (+.f64 1 (exp.f64 b)))
0.5b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))
0.6b
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))
0.6b
(cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))

series796.0ms (4.5%)

Counts
3 → 36
Calls

3 calls:

348.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))
231.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))
217.0ms
(cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))

rewrite99.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
165×cbrt-prod_binary64
138×sqrt-prod_binary64
121×pow1_binary64
120×add-sqr-sqrt_binary64
116×*-un-lft-identity_binary64
Counts
3 → 253
Calls

3 calls:

31.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))
24.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))
4.0ms
(cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))

simplify241.0ms (1.4%)

Algorithm
egg-herbie
Rules
731×fma-neg_binary64
725×times-frac_binary64
475×cancel-sign-sub-inv_binary64
261×*-commutative_binary64
259×fma-def_binary64
Counts
289 → 284
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02116226
13885887
211135574
323895458
443805070
547955046
649145046

prune2.2s (12.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New109311094
Fresh011
Picked101
Done000
Total109421096
Error
0.2b
Counts
1096 → 2
Alt Table
StatusErrorProgram
19.2b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
13.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))) (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b))))))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 (/.f64 1 (+.f64 1 (exp.f64 b)))))))))
Compiler

Compiled 66038 to 51464 computations (22.1% saved)

regimes12.4s (69.5%)

Accuracy

Total 0.4b remaining (63.2%)

Threshold costs 0.4b (63.2%)

Counts
1314 → 1
Compiler

Compiled 366608 to 295306 computations (19.4% saved)

simplify2.0ms (0%)

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

end137.0ms (0.8%)

Compiler

Compiled 140 to 107 computations (23.6% saved)

Profiling

Loading profile data...