Details

Time bar (total: 9.3s)

analyze6.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.7%50.3%0
0%49.7%50.3%1
0%49.7%50.3%2
24.8%24.8%50.3%3
37.3%12.4%50.3%4
43.5%6.2%50.3%5
46.6%3.1%50.3%6
48.1%1.6%50.3%7
48.9%0.8%50.3%8
49.3%0.4%50.3%9
49.5%0.2%50.3%10
49.6%0.1%50.3%11
49.6%0%50.3%12
49.7%0%50.3%13
49.7%0%50.3%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample345.0ms (3.7%)

Algorithm
intervals
Results
265.0ms121×body2048valid
35.0ms77×body1024valid
6.0ms33×body512valid
5.0ms256×pre128true
4.0ms16×body256valid
2.0msbody4096valid
0.0msbody128valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11112
21712
32512
43312
55112
67612
79312
811012
912012
1012412
1112612
1211212

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
60.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
60.4b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 27 to 21 computations (22.2% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (tan.f64 x))
2.6b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

series26.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

16.0ms
(/.f64 1 (tan.f64 x))
10.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

rewrite51.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
288×times-frac_binary64
239×add-sqr-sqrt_binary64
231×*-un-lft-identity_binary64
215×add-cube-cbrt_binary64
182×prod-diff_binary64
Counts
2 → 273
Calls

2 calls:

14.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
3.0ms
(/.f64 1 (tan.f64 x))

simplify256.0ms (2.8%)

Algorithm
egg-herbie
Rules
770×fma-neg_binary64
466×fma-def_binary64
354×distribute-rgt-in_binary64
331×cancel-sign-sub-inv_binary64
277×associate-*l*_binary64
Counts
297 → 302
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01718645
13646130
29114575
328034281
442384246
549404246
647684246

prune187.0ms (2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New3011302
Fresh000
Picked101
Done000
Total3021303
Error
0.3b
Counts
303 → 1
Alt Table
StatusErrorProgram
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
Compiler

Compiled 10336 to 6487 computations (37.2% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)

series4.0ms (0%)

Counts
2 → 0
Calls

2 calls:

3.0ms
(*.f64 1/45 (pow.f64 x 3))
2.0ms
(*.f64 1/3 x)

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
15×associate-*r*_binary64
add-exp-log_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 53
Calls

2 calls:

5.0ms
(*.f64 1/45 (pow.f64 x 3))
3.0ms
(*.f64 1/3 x)

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
629×associate-*l*_binary64
574×associate-*r*_binary64
469×fma-def_binary64
366×log-prod_binary64
326×cube-prod_binary64
Counts
53 → 70
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
085496
1156444
2392443
32007443
43157411
54364411
64951411
74911411

prune59.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New63770
Fresh000
Picked011
Done000
Total63871
Error
0.2b
Counts
71 → 8
Alt Table
StatusErrorProgram
32.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 1/3 x)) (sqrt.f64 (*.f64 1/3 x))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
32.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x)))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)))
0.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 1/3) x)))
39.2b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (cbrt.f64 (*.f64 (*.f64 (*.f64 1/3 1/3) 1/3) (*.f64 (*.f64 x x) x))))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
39.2b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (cbrt.f64 (pow.f64 (*.f64 1/3 x) 3)))
Compiler

Compiled 1213 to 952 computations (21.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.4b
(*.f64 (sqrt.f64 1/3) x)
0.4b
(*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 1/3) x))

series11.0ms (0.1%)

Counts
2 → 12
Calls

2 calls:

8.0ms
(*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 1/3) x))
3.0ms
(*.f64 (sqrt.f64 1/3) x)

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×associate-*l*_binary64
11×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
Counts
2 → 47
Calls

2 calls:

5.0ms
(*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 1/3) x))
4.0ms
(*.f64 (sqrt.f64 1/3) x)

simplify73.0ms (0.8%)

Algorithm
egg-herbie
Rules
981×fma-def_binary64
342×associate-*l*_binary64
332×unswap-sqr_binary64
263×associate-*r/_binary64
234×associate-*l/_binary64
Counts
59 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057459
1121420
2338419
3628411
4824411
51265411
63215411
74671411
84933411

prune110.0ms (1.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New996105
Fresh156
Picked101
Done011
Total10112113
Error
0.1b
Counts
113 → 12
Alt Table
StatusErrorProgram
32.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/3) x)) (sqrt.f64 (*.f64 (sqrt.f64 1/3) x)))))
32.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x)))
1.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 1/3) (*.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/3) x)) (cbrt.f64 (*.f64 (sqrt.f64 1/3) x))) (cbrt.f64 (*.f64 (sqrt.f64 1/3) x)))))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)))
32.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 1/3 x)) (sqrt.f64 (*.f64 1/3 x))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
0.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2))))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
0.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 1/3) x))))
39.2b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (cbrt.f64 (pow.f64 (*.f64 1/3 x) 3)))
0.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) x))))
0.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3))) (*.f64 (sqrt.f64 (cbrt.f64 1/3)) (*.f64 (sqrt.f64 1/3) x))))
Compiler

Compiled 2291 to 1930 computations (15.8% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2)))
0.4b
(*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2))

series23.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

15.0ms
(*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2))
8.0ms
(*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2)))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×add-exp-log_binary64
16×add-sqr-sqrt_binary64
13×sqrt-prod_binary64
12×associate-*l*_binary64
11×associate-*r*_binary64
Counts
2 → 58
Calls

2 calls:

9.0ms
(*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2)))
4.0ms
(*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2))

simplify66.0ms (0.7%)

Algorithm
egg-herbie
Rules
564×associate-/r/_binary64
560×associate-/l/_binary64
541×fma-def_binary64
480×*-commutative_binary64
276×sqr-pow_binary64
Counts
82 → 85
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0951147
1190997
2602971
3873779
41358728
52345713
64971713

prune143.0ms (1.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1283131
Fresh7310
Picked101
Done011
Total1367143
Error
0b
Counts
143 → 7
Alt Table
StatusErrorProgram
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
0.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/4)) (pow.f64 (sqrt.f64 (sqrt.f64 1/3)) 3/2))))
0.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) x))))
0.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 (sqrt.f64 1/3))) (*.f64 (sqrt.f64 (sqrt.f64 (sqrt.f64 1/3))) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2)))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
0.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 1/3) x))))
0.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3)))) (*.f64 (sqrt.f64 (sqrt.f64 (cbrt.f64 1/3))) (*.f64 x (pow.f64 (sqrt.f64 1/3) 3/2)))))
Compiler

Compiled 2914 to 2526 computations (13.3% saved)

regimes192.0ms (2.1%)

Accuracy

Total 0.3b remaining (83.7%)

Threshold costs 0.3b (83.7%)

Counts
97 → 1
Compiler

Compiled 3648 to 3150 computations (13.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11213
21213

end0.0ms (0%)

Compiler

Compiled 10 to 8 computations (20% saved)

sample7.6s (81.5%)

Algorithm
intervals
Results
5.7s3996×body2048valid
829.0ms2023×body1024valid
209.0ms1039×body512valid
157.0ms8000×pre128true
123.0ms212×body4096valid
54.0ms496×body256valid
14.0ms234×body128valid
Compiler

Compiled 168 to 146 computations (13.1% saved)

Profiling

Loading profile data...