Details

Time bar (total: 5.6s)

analyze754.0ms (13.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
25%75%0%3
25%62.5%12.5%4
25%56.2%18.8%5
28.1%50%21.9%6
29.7%46.9%23.5%7
30.5%45.3%24.3%8
30.8%44.9%24.3%9
31.2%44.5%24.3%10
31.3%44.4%24.3%11
31.4%44.3%24.3%12
31.4%44.1%24.5%13
31.5%43.8%24.8%14
Compiler

Compiled 14 to 12 computations (14.3% saved)

sample2.8s (50.3%)

Results
1.4s2846×body1024valid
680.0ms1388×body512valid
330.0ms3042×body128valid
163.0ms289×body2048valid
144.0ms691×body256valid
0.0msbody128invalid
Compiler

Compiled 41 to 35 computations (14.6% saved)

simplify45.0ms (0.8%)

Algorithm
egg-herbie
Rules
667×div-sub_binary64
601×associate-/l*_binary64
488×associate-/r*_binary64
380×fma-def_binary64
279×distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01113
12513
23413
35913
412311
53188
610568
743508
849878

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
Compiler

Compiled 30 to 24 computations (20% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 x))
0.2b
(sqrt.f64 (+.f64 1 (exp.f64 x)))

series7.0ms (0.1%)

Counts
2 → 8
Calls

2 calls:

5.0ms
(sqrt.f64 (+.f64 1 (exp.f64 x)))
2.0ms
(+.f64 1 (exp.f64 x))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
add-log-exp_binary64
Counts
2 → 38
Calls

2 calls:

3.0ms
(sqrt.f64 (+.f64 1 (exp.f64 x)))
2.0ms
(+.f64 1 (exp.f64 x))

simplify162.0ms (2.9%)

Algorithm
egg-herbie
Rules
733×times-frac_binary64
283×fma-neg_binary64
235×fma-def_binary64
177×associate-/r/_binary64
165×associate-+l+_binary64
Counts
46 → 55
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086538
1218494
2595470
32140454
44978454
54938454
65008454

prune58.0ms (1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New54155
Fresh000
Picked011
Done000
Total54256
Error
0.2b
Counts
56 → 2
Alt Table
StatusErrorProgram
0.2b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
19.9b
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3)))))
Compiler

Compiled 785 to 591 computations (24.7% saved)

localize28.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.6b
(pow.f64 (sqrt.f64 2) 5)
9.3b
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))
9.3b
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3))))
12.3b
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3)))))

series82.0ms (1.5%)

Counts
4 → 25
Calls

4 calls:

44.0ms
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3))))
27.0ms
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3)))))
11.0ms
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))
0.0ms
(pow.f64 (sqrt.f64 2) 5)

rewrite133.0ms (2.4%)

Algorithm
rewrite-expression-head
Rules
60×associate-*r/_binary64
60×add-log-exp_binary64
51×frac-add_binary64
32×sum-log_binary64
24×flip-+_binary64
Counts
4 → 131
Calls

4 calls:

57.0ms
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3)))))
26.0ms
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))
18.0ms
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/8 (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 2) 3))))
2.0ms
(pow.f64 (sqrt.f64 2) 5)

simplify232.0ms (4.1%)

Algorithm
egg-herbie
Rules
580×distribute-rgt-in_binary64
557×distribute-lft-in_binary64
436×fma-def_binary64
165×cancel-sign-sub-inv_binary64
144×*-commutative_binary64
Counts
156 → 229
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040919128
1164815556
2520515556

prune723.0ms (12.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New2281229
Fresh000
Picked101
Done011
Total2292231
Error
0.2b
Counts
231 → 2
Alt Table
StatusErrorProgram
19.9b
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 2)) 1/16))
0.2b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
Compiler

Compiled 28307 to 25014 computations (11.6% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (*.f64 x x) (sqrt.f64 2))
0.4b
(/.f64 x (sqrt.f64 2))
1.6b
(pow.f64 (sqrt.f64 2) 5)
9.3b
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))

series39.0ms (0.7%)

Counts
2 → 12
Calls

2 calls:

33.0ms
(/.f64 (*.f64 x x) (sqrt.f64 2))
6.0ms
(/.f64 x (sqrt.f64 2))

rewrite10.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×times-frac_binary64
21×*-un-lft-identity_binary64
21×add-sqr-sqrt_binary64
21×add-cube-cbrt_binary64
18×sqrt-prod_binary64
Counts
2 → 70
Calls

2 calls:

4.0ms
(/.f64 (*.f64 x x) (sqrt.f64 2))
3.0ms
(/.f64 x (sqrt.f64 2))

simplify86.0ms (1.5%)

Algorithm
egg-herbie
Rules
646×div-sub_binary64
337×fma-neg_binary64
312×sub-neg_binary64
255×*-commutative_binary64
209×fma-def_binary64
Counts
82 → 81
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921042
1176959
2424959
31113959
41463959
52059959
63727959
74909959

prune258.0ms (4.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1540154
Fresh000
Picked011
Done011
Total1542156
Error
0.2b
Counts
156 → 2
Alt Table
StatusErrorProgram
19.9b
(-.f64 (+.f64 (*.f64 1/12 (/.f64 (pow.f64 x 3) (sqrt.f64 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 2)) 1/16))
0.2b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
Compiler

Compiled 8975 to 7644 computations (14.8% saved)

regimes83.0ms (1.5%)

Accuracy

Total 0.0b remaining (7.1%)

Threshold costs 0.0b (7.1%)

Counts
17 → 1
Compiler

Compiled 1738 to 1497 computations (13.9% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068
198
288

end65.0ms (1.1%)

Compiler

Compiled 66 to 57 computations (13.6% saved)

Profiling

Loading profile data...