Details

Time bar (total: 7.1s)

analyze1.5s (21.6%)

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.3%24.4%11
31.4%44.3%24.4%12
31.4%44%24.5%13
31.5%43.8%24.8%14
Compiler

Compiled 14 to 12 computations (14.3% saved)

sample58.0ms (0.8%)

Algorithm
intervals
Results
31.0ms90×body1024valid
8.0ms41×body512valid
5.0ms91×body128valid
4.0ms11×body2048valid
3.0ms23×body256valid
Compiler

Compiled 28 to 24 computations (14.3% saved)

simplify52.0ms (0.7%)

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

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.3b
(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)))

rewrite8.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)))
3.0ms
(+.f64 1 (exp.f64 x))

series8.0ms (0.1%)

Counts
2 → 8
Calls

2 calls:

7.0ms
(sqrt.f64 (+.f64 1 (exp.f64 x)))
1.0ms
(+.f64 1 (exp.f64 x))

simplify100.0ms (1.4%)

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 → 63
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086538
1218494
2595470
32140454
44978454
54938454
65008454

prune45.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New61263
Fresh000
Picked011
Done000
Total61364
Error
0.2b
Counts
64 → 3
Alt Table
StatusErrorProgram
20.4b
(-.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)))))
0.3b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
20.7b
(sqrt.f64 (+.f64 2 x))
Compiler

Compiled 793 to 597 computations (24.7% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.6b
(pow.f64 (sqrt.f64 2) 5)
9.8b
(+.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.8b
(+.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.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)))))

rewrite122.0ms (1.7%)

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:

56.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)))))
21.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))))))
20.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)

series87.0ms (1.2%)

Counts
4 → 25
Calls

4 calls:

55.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))))
23.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)))))
9.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)

simplify364.0ms (5.2%)

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 → 286
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040919128
1164815556
2520515556

prune736.0ms (10.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2851286
Fresh011
Picked101
Done011
Total2863289
Error
0.2b
Counts
289 → 3
Alt Table
StatusErrorProgram
20.5b
(-.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.3b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
20.7b
(sqrt.f64 (+.f64 2 x))
Compiler

Compiled 28262 to 24973 computations (11.6% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))
0.5b
(/.f64 x (sqrt.f64 2))
1.6b
(pow.f64 (sqrt.f64 2) 5)
9.8b
(+.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))))))

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
138×times-frac_binary64
111×unpow-prod-down_binary64
89×*-un-lft-identity_binary64
89×add-sqr-sqrt_binary64
89×add-cube-cbrt_binary64
Counts
2 → 205
Calls

2 calls:

7.0ms
(/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))
4.0ms
(/.f64 x (sqrt.f64 2))

series178.0ms (2.5%)

Counts
2 → 0
Calls

2 calls:

159.0ms
(/.f64 (pow.f64 x 3) (pow.f64 (sqrt.f64 2) 5))
18.0ms
(/.f64 x (sqrt.f64 2))

simplify199.0ms (2.8%)

Algorithm
egg-herbie
Rules
731×associate-*l/_binary64
629×associate-*l*_binary64
629×associate-*r/_binary64
284×log-div_binary64
260×associate-/l*_binary64
Counts
205 → 354
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02234220
13264157
216033973
347183973
451173973

prune567.0ms (8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New4481449
Fresh011
Picked101
Done011
Total4493452
Error
0.2b
Counts
452 → 3
Alt Table
StatusErrorProgram
20.5b
(-.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 (/.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)) (/.f64 (pow.f64 (cbrt.f64 x) 3) (pow.f64 (sqrt.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.3b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
20.7b
(sqrt.f64 (+.f64 2 x))
Compiler

Compiled 15643 to 13254 computations (15.3% saved)

localize33.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (cbrt.f64 x) 3)
1.0b
(pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)
1.0b
(pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)
9.8b
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)) (/.f64 (pow.f64 (cbrt.f64 x) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))

rewrite117.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
16×associate-*r/_binary64
15×unpow-prod-down_binary64
14×frac-add_binary64
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
Counts
3 → 86
Calls

3 calls:

60.0ms
(pow.f64 (cbrt.f64 x) 3)
48.0ms
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)) (/.f64 (pow.f64 (cbrt.f64 x) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))
3.0ms
(pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)

series299.0ms (4.2%)

Counts
3 → 24
Calls

3 calls:

279.0ms
(pow.f64 (cbrt.f64 x) 3)
20.0ms
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (sqrt.f64 2))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)) (/.f64 (pow.f64 (cbrt.f64 x) 3) (pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)))) (+.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 x (sqrt.f64 2))))))
0.0ms
(pow.f64 (sqrt.f64 (sqrt.f64 2)) 5)

simplify159.0ms (2.2%)

Algorithm
egg-herbie
Rules
514×unswap-sqr_binary64
335×associate-*l*_binary64
322×associate-*r*_binary64
200×fma-def_binary64
164×distribute-rgt-in_binary64
Counts
110 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02473461
17702919
231372911
345472911
449992911
549092911

prune374.0ms (5.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2371238
Fresh011
Picked101
Done011
Total2383241
Error
0.2b
Counts
241 → 3
Alt Table
StatusErrorProgram
0.3b
(sqrt.f64 (+.f64 1 (exp.f64 x)))
20.5b
(-.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 (/.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 3) (*.f64 (pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 2))) (cbrt.f64 (sqrt.f64 (sqrt.f64 2)))) 5) (pow.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 2))) 5))) (/.f64 (pow.f64 (cbrt.f64 x) 3) (pow.f64 (sqrt.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))
20.7b
(sqrt.f64 (+.f64 2 x))
Compiler

Compiled 12287 to 9992 computations (18.7% saved)

regimes91.0ms (1.3%)

Accuracy

Total 0.0b remaining (7.9%)

Threshold costs 0.0b (7.9%)

Compiler

Compiled 1954 to 1695 computations (13.3% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
068
198
288

end0.0ms (0%)

Compiler

Compiled 6 to 5 computations (16.7% saved)

sample1.8s (26.2%)

Algorithm
intervals
Results
880.0ms2605×body1024valid
265.0ms1373×body512valid
172.0ms3060×body128valid
116.0ms291×body2048valid
81.0ms671×body256valid
0.0msbody128invalid
Compiler

Compiled 109 to 94 computations (13.8% saved)

Profiling

Loading profile data...