Details

Time bar (total: 6.9s)

analyze682.0ms (9.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
50%50%0%6
50%50%0%7
50%50%0%8
50%50%0%9
50%50%0%10
50%50%0%11
50%50%0%12
50%50%0%13
50%49.9%0%14
Compiler

Compiled 16 to 9 computations (43.8% saved)

sample36.0ms (0.5%)

Algorithm
intervals
Results
15.0ms67×body1024valid
6.0ms144×body128valid
5.0ms34×body512valid
1.0ms11×body256valid
Compiler

Compiled 31 to 18 computations (41.9% saved)

simplify293.0ms (4.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (113.0ms)

IterNodesCost
0485324
1485324

prune5.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 0.3b

Counts
2 → 1
Compiler

Compiled 30 to 16 computations (46.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
0.1b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
0.3b
(*.f64 (tan.f64 x) (tan.f64 x))
0.3b
(*.f64 (tan.f64 x) (tan.f64 x))

rewrite37.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
31×add-sqr-sqrt_binary64
27×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
18×pow1_binary64
15×times-frac_binary64
10×add-exp-log_binary64 add-cbrt-cube_binary64 difference-of-squares_binary64
tan-quot_binary64
add-log-exp_binary64 swap-sqr_binary64 associate-*r*_binary64 associate-*l*_binary64
associate-/l*_binary64
associate-/r*_binary64
pow-prod-down_binary64 associate-/l/_binary64 flip3--_binary64 cbrt-unprod_binary64 pow-prod-up_binary64 associate-*r/_binary64 associate-/r/_binary64 pow-plus_binary64 unswap-sqr_binary64 prod-exp_binary64 pow-sqr_binary64 flip--_binary64 frac-times_binary64 pow2_binary64 associate-*l/_binary64 *-commutative_binary64
flip3-+_binary64 sub-neg_binary64 diff-log_binary64 cbrt-undiv_binary64 cancel-sign-sub-inv_binary64 div-sub_binary64 clear-num_binary64 frac-2neg_binary64 div-inv_binary64 div-exp_binary64 flip-+_binary64
Counts
4 → 110
Calls

4 calls:

8.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
8.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
6.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
4.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))

series643.0ms (9.4%)

Counts
4 → 12
Calls

4 calls:

362.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
106.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
93.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
82.0ms
(*.f64 (tan.f64 x) (tan.f64 x))

simplify104.0ms (1.5%)

Algorithm
egg-herbie
Counts
122 → 122
Iterations

Useful iterations: 0 (77.0ms)

IterNodesCost
049122005
149122005

prune739.0ms (10.8%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New11012122
Fresh000
Picked101
Done000
Total11112123

Merged error: 0.0b

Counts
123 → 12
Compiler

Compiled 11942 to 8464 computations (29.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
0.1b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (pow.f64 (tan.f64 x) 2)))
0.3b
(*.f64 (tan.f64 x) (tan.f64 x))
0.3b
(pow.f64 (tan.f64 x) 2)

rewrite32.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
39×*-un-lft-identity_binary64
29×add-sqr-sqrt_binary64
21×add-cube-cbrt_binary64
20×times-frac_binary64
12×pow1_binary64 difference-of-squares_binary64
add-exp-log_binary64
add-cbrt-cube_binary64
add-log-exp_binary64 distribute-lft-out_binary64
associate-/l*_binary64
associate-/r*_binary64 tan-quot_binary64
pow-unpow_binary64 swap-sqr_binary64 associate-*r*_binary64 associate-*l*_binary64 unpow-prod-down_binary64
associate-/l/_binary64 flip3--_binary64 associate-/r/_binary64 flip--_binary64
pow-to-exp_binary64 pow-prod-down_binary64 flip3-+_binary64 sub-neg_binary64 diff-log_binary64 cbrt-unprod_binary64 pow-prod-up_binary64 unpow2_binary64 cbrt-undiv_binary64 associate-*r/_binary64 pow-pow_binary64 sqr-pow_binary64 pow-plus_binary64 cancel-sign-sub-inv_binary64 unswap-sqr_binary64 div-sub_binary64 clear-num_binary64 prod-exp_binary64 frac-2neg_binary64 div-inv_binary64 div-exp_binary64 pow-sqr_binary64 flip-+_binary64 frac-times_binary64 pow-exp_binary64 pow2_binary64 associate-*l/_binary64 *-commutative_binary64
Counts
4 → 106
Calls

4 calls:

10.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (pow.f64 (tan.f64 x) 2)))
6.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
3.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
3.0ms
(pow.f64 (tan.f64 x) 2)

series592.0ms (8.6%)

Counts
4 → 12
Calls

4 calls:

349.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (pow.f64 (tan.f64 x) 2)))
86.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
79.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
77.0ms
(pow.f64 (tan.f64 x) 2)

simplify83.0ms (1.2%)

Algorithm
egg-herbie
Counts
118 → 118
Iterations

Useful iterations: 0 (60.0ms)

IterNodesCost
049282105
149282105

prune284.0ms (4.1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1135118
Fresh5611
Picked011
Done000
Total11812130

Merged error: 0.0b

Counts
130 → 12
Compiler

Compiled 4765 to 3395 computations (28.8% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(+.f64 (tan.f64 x) 1)
0.2b
(-.f64 1 (tan.f64 x))
0.2b
(*.f64 (+.f64 (tan.f64 x) 1) (-.f64 1 (tan.f64 x)))
0.3b
(pow.f64 (tan.f64 x) 2)

rewrite32.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
21×*-un-lft-identity_binary64
19×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
cancel-sign-sub-inv_binary64
add-log-exp_binary64
pow1_binary64 add-exp-log_binary64
associate-*r*_binary64 add-cbrt-cube_binary64
flip3-+_binary64 flip3--_binary64 distribute-lft-in_binary64 associate-*l*_binary64 distribute-rgt-in_binary64 difference-of-squares_binary64 flip--_binary64 flip-+_binary64 frac-times_binary64
pow-unpow_binary64 sub-neg_binary64 unpow-prod-down_binary64
distribute-lft-out_binary64 associate-*r/_binary64 distribute-lft-out--_binary64 associate-*l/_binary64
pow-to-exp_binary64 pow-prod-down_binary64 diff-log_binary64 cbrt-unprod_binary64 unpow2_binary64 pow-pow_binary64 sqr-pow_binary64 unswap-sqr_binary64 prod-exp_binary64 +-commutative_binary64 pow-exp_binary64 sum-log_binary64 *-commutative_binary64
Counts
4 → 85
Calls

4 calls:

12.0ms
(*.f64 (+.f64 (tan.f64 x) 1) (-.f64 1 (tan.f64 x)))
5.0ms
(+.f64 (tan.f64 x) 1)
4.0ms
(-.f64 1 (tan.f64 x))
3.0ms
(pow.f64 (tan.f64 x) 2)

series318.0ms (4.6%)

Counts
4 → 12
Calls

4 calls:

139.0ms
(*.f64 (+.f64 (tan.f64 x) 1) (-.f64 1 (tan.f64 x)))
84.0ms
(pow.f64 (tan.f64 x) 2)
51.0ms
(-.f64 1 (tan.f64 x))
44.0ms
(+.f64 (tan.f64 x) 1)

simplify80.0ms (1.2%)

Algorithm
egg-herbie
Counts
97 → 97
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
049461329
149461329

prune116.0ms (1.7%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New97097
Fresh01010
Picked011
Done011
Total9712109

Merged error: 0.0b

Counts
109 → 12
Compiler

Compiled 2253 to 1460 computations (35.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(-.f64 1 (pow.f64 (tan.f64 x) 2))
0.2b
(/.f64 1 (/.f64 (+.f64 (pow.f64 (tan.f64 x) 2) 1) (-.f64 1 (pow.f64 (tan.f64 x) 2))))
0.3b
(pow.f64 (tan.f64 x) 2)
0.3b
(pow.f64 (tan.f64 x) 2)

rewrite84.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
354×times-frac_binary64
331×*-un-lft-identity_binary64
269×add-sqr-sqrt_binary64
136×difference-of-squares_binary64
133×add-cube-cbrt_binary64
54×associate-/r*_binary64
48×distribute-lft-out_binary64
43×unpow-prod-down_binary64
37×unpow2_binary64 sqr-pow_binary64
17×add-exp-log_binary64 distribute-lft-out--_binary64
add-cbrt-cube_binary64 associate-/r/_binary64
cancel-sign-sub-inv_binary64
pow1_binary64 div-exp_binary64
pow-unpow_binary64 add-log-exp_binary64
flip3--_binary64 div-inv_binary64 flip--_binary64
cbrt-undiv_binary64 associate-/l*_binary64
pow-to-exp_binary64 1-exp_binary64 pow-pow_binary64 rec-exp_binary64 pow-exp_binary64
sub-neg_binary64 diff-log_binary64 clear-num_binary64 inv-pow_binary64 frac-2neg_binary64 pow-flip_binary64
Counts
4 → 304
Calls

4 calls:

23.0ms
(/.f64 1 (/.f64 (+.f64 (pow.f64 (tan.f64 x) 2) 1) (-.f64 1 (pow.f64 (tan.f64 x) 2))))
7.0ms
(-.f64 1 (pow.f64 (tan.f64 x) 2))
3.0ms
(pow.f64 (tan.f64 x) 2)
3.0ms
(pow.f64 (tan.f64 x) 2)

series572.0ms (8.3%)

Counts
4 → 12
Calls

4 calls:

342.0ms
(/.f64 1 (/.f64 (+.f64 (pow.f64 (tan.f64 x) 2) 1) (-.f64 1 (pow.f64 (tan.f64 x) 2))))
81.0ms
(-.f64 1 (pow.f64 (tan.f64 x) 2))
75.0ms
(pow.f64 (tan.f64 x) 2)
74.0ms
(pow.f64 (tan.f64 x) 2)

simplify124.0ms (1.8%)

Algorithm
egg-herbie
Counts
316 → 316
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
049409047
149409047

prune667.0ms (9.7%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New3142316
Fresh279
Picked011
Done022
Total31612328

Merged error: 0.0b

Counts
328 → 12
Compiler

Compiled 9702 to 7141 computations (26.4% saved)

regimes60.0ms (0.9%)

Compiler

Compiled 540 to 432 computations (20% saved)

bsearch0.0ms (0%)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02922
12922

end0.0ms (0%)

sample1.2s (18%)

Algorithm
intervals
Results
410.0ms1969×body1024valid
187.0ms4502×body128valid
135.0ms1019×body512valid
47.0ms503×body256valid
3.0msbody2048valid
Compiler

Compiled 297 to 233 computations (21.5% saved)

Profiling

Loading profile data...