Details

Time bar (total: 30.5s)

analyze16.5s (54.2%)

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

Compiled 45 to 37 computations (17.8% saved)

sample116.0ms (0.4%)

Algorithm
intervals
Results
42.0ms127×body1024valid
29.0ms256×pre128true
13.0ms10×body2048valid
10.0ms55×body512valid
3.0ms51×body128valid
2.0ms13×body256valid
Compiler

Compiled 54 to 50 computations (7.4% saved)

simplify177.0ms (0.6%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (14.0ms)

IterNodesCost
017714
117714

prune5.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 11.5b

Counts
2 → 1
Compiler

Compiled 18 to 18 computations (0% saved)

localize13.0ms (0%)

Local error

Found 3 expressions with local error:

0.2b
(-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a))
0.2b
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
4.0b
(tan.f64 (+.f64 y z))

rewrite24.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64 add-log-exp_binary64
add-sqr-sqrt_binary64
tan-quot_binary64
pow1_binary64 add-cube-cbrt_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
tan-sum_binary64 sub-neg_binary64 diff-log_binary64 distribute-lft-out_binary64 distribute-lft-out--_binary64 frac-sub_binary64 sum-log_binary64
flip3-+_binary64 associate-+r-_binary64 flip3--_binary64 difference-of-squares_binary64 +-commutative_binary64 flip--_binary64 flip-+_binary64 associate-+r+_binary64
Counts
3 → 40
Calls

3 calls:

7.0ms
(-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a))
6.0ms
(tan.f64 (+.f64 y z))
6.0ms
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))

series776.0ms (2.5%)

Counts
3 → 9
Calls

3 calls:

343.0ms
(+.f64 x (-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a)))
290.0ms
(-.f64 (tan.f64 (+.f64 y z)) (tan.f64 a))
142.0ms
(tan.f64 (+.f64 y z))

simplify65.0ms (0.2%)

Algorithm
egg-herbie
Counts
49 → 49
Iterations

Useful iterations: 0 (52.0ms)

IterNodesCost
04939890
14939890

prune60.0ms (0.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New40949
Fresh000
Picked101
Done000
Total41950

Merged error: 0.1b

Counts
50 → 9
Compiler

Compiled 955 to 288 computations (69.8% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a)))
0.2b
(*.f64 (tan.f64 y) (tan.f64 z))
0.2b
(*.f64 (tan.f64 y) (tan.f64 z))
0.2b
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))

rewrite53.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
28×associate-*l/_binary64
16×tan-quot_binary64
14×add-sqr-sqrt_binary64
13×add-exp-log_binary64 add-cbrt-cube_binary64
12×frac-sub_binary64
10×*-un-lft-identity_binary64 add-cube-cbrt_binary64
flip3--_binary64 flip--_binary64
associate-/l/_binary64 pow1_binary64
add-log-exp_binary64 associate-*r*_binary64 associate-*l*_binary64
flip3-+_binary64 frac-add_binary64 flip-+_binary64
cbrt-unprod_binary64 prod-exp_binary64 associate-/l*_binary64 times-frac_binary64
pow-prod-down_binary64 cbrt-undiv_binary64 associate-*r/_binary64 associate-/r/_binary64 unswap-sqr_binary64 div-exp_binary64 frac-times_binary64 *-commutative_binary64
associate-/r*_binary64 sub-neg_binary64 diff-log_binary64 div-sub_binary64 clear-num_binary64 frac-2neg_binary64 div-inv_binary64
Counts
4 → 91
Calls

4 calls:

17.0ms
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))
10.0ms
(-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a)))
6.0ms
(*.f64 (tan.f64 y) (tan.f64 z))
6.0ms
(*.f64 (tan.f64 y) (tan.f64 z))

series2.4s (7.9%)

Counts
4 → 12
Calls

4 calls:

1.3s
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))
689.0ms
(-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a)))
191.0ms
(*.f64 (tan.f64 y) (tan.f64 z))
185.0ms
(*.f64 (tan.f64 y) (tan.f64 z))

simplify79.0ms (0.3%)

Algorithm
egg-herbie
Counts
103 → 103
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
060333583

prune198.0ms (0.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New985103
Fresh268
Picked101
Done000
Total10111112

Merged error: 0.1b

Counts
112 → 11
Compiler

Compiled 4997 to 1578 computations (68.4% saved)

localize40.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (tan.f64 y) (tan.f64 z))
0.2b
(*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z)))
0.2b
(/.f64 (-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 a) (sin.f64 z)) (cos.f64 z)) (+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z))) (/.f64 (*.f64 (cos.f64 a) (sin.f64 y)) (cos.f64 y)))) (sin.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))
0.2b
(/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z)))

rewrite73.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
37×add-exp-log_binary64 add-cbrt-cube_binary64
27×*-un-lft-identity_binary64
15×add-sqr-sqrt_binary64
14×cbrt-unprod_binary64 prod-exp_binary64
11×pow1_binary64
add-cube-cbrt_binary64
cbrt-undiv_binary64 associate-/l*_binary64 times-frac_binary64 div-exp_binary64
distribute-lft-out_binary64 associate-*l*_binary64 distribute-lft-out--_binary64
pow-prod-down_binary64 add-log-exp_binary64 associate-*r*_binary64 tan-quot_binary64
associate-/l/_binary64 associate-*r/_binary64 associate-/r/_binary64 associate-*l/_binary64
associate-/r*_binary64 flip3--_binary64 clear-num_binary64 frac-2neg_binary64 difference-of-squares_binary64 sin-mult_binary64 div-inv_binary64 flip--_binary64 *-commutative_binary64
cos-mult_binary64 unswap-sqr_binary64 div-sub_binary64 frac-times_binary64
Counts
4 → 101
Calls

4 calls:

31.0ms
(/.f64 (-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 a) (sin.f64 z)) (cos.f64 z)) (+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z))) (/.f64 (*.f64 (cos.f64 a) (sin.f64 y)) (cos.f64 y)))) (sin.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))
11.0ms
(/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z)))
7.0ms
(*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z)))
5.0ms
(*.f64 (tan.f64 y) (tan.f64 z))

series2.1s (7%)

Counts
4 → 12
Calls

4 calls:

1.4s
(/.f64 (-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 a) (sin.f64 z)) (cos.f64 z)) (+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z))) (/.f64 (*.f64 (cos.f64 a) (sin.f64 y)) (cos.f64 y)))) (sin.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (cos.f64 a)))
370.0ms
(/.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z))) (*.f64 (cos.f64 y) (cos.f64 z)))
194.0ms
(*.f64 (tan.f64 y) (tan.f64 z))
130.0ms
(*.f64 (sin.f64 a) (*.f64 (sin.f64 y) (sin.f64 z)))

simplify67.0ms (0.2%)

Algorithm
egg-herbie
Counts
113 → 113
Iterations

Useful iterations: 0 (29.0ms)

IterNodesCost
055594296

prune189.0ms (0.6%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1130113
Fresh01010
Picked011
Done000
Total11311124

Merged error: 0.1b

Counts
124 → 11
Compiler

Compiled 6611 to 1201 computations (81.8% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (tan.f64 y) (tan.f64 z))
0.2b
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))) (cos.f64 a)))
0.3b
(pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3)
27.6b
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))

rewrite54.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×associate-*l/_binary64
16×tan-quot_binary64
14×add-exp-log_binary64 add-cbrt-cube_binary64
12×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64 add-cube-cbrt_binary64
pow1_binary64
associate-/l/_binary64 cbrt-prod_binary64
cube-div_binary64 frac-sub_binary64
flip3--_binary64 flip--_binary64
add-log-exp_binary64
cbrt-div_binary64 pow-unpow_binary64 cbrt-unprod_binary64 associate-*r*_binary64 associate-*r/_binary64 associate-*l*_binary64 prod-exp_binary64 associate-/l*_binary64 times-frac_binary64 frac-times_binary64
pow-prod-down_binary64 flip3-+_binary64 cbrt-undiv_binary64 pow-pow_binary64 frac-add_binary64 sqr-pow_binary64 associate-/r/_binary64 rem-cube-cbrt_binary64 unpow-prod-down_binary64 cube-prod_binary64 div-exp_binary64 flip-+_binary64 pow-exp_binary64 unpow3_binary64 cube-mult_binary64
pow-to-exp_binary64 associate-/r*_binary64 rem-cbrt-cube_binary64 pow1/3_binary64 unswap-sqr_binary64 div-sub_binary64 clear-num_binary64 frac-2neg_binary64 div-inv_binary64 *-commutative_binary64
Counts
4 → 98
Calls

4 calls:

21.0ms
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))) (cos.f64 a)))
9.0ms
(pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3)
6.0ms
(*.f64 (tan.f64 y) (tan.f64 z))
4.0ms
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))

series2.1s (6.8%)

Counts
4 → 12
Calls

4 calls:

1.3s
(/.f64 (-.f64 (*.f64 (+.f64 (tan.f64 y) (tan.f64 z)) (cos.f64 a)) (*.f64 (-.f64 1 (*.f64 (tan.f64 y) (tan.f64 z))) (sin.f64 a))) (*.f64 (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))) (cos.f64 a)))
339.0ms
(pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3)
200.0ms
(cbrt.f64 (pow.f64 (*.f64 (tan.f64 y) (tan.f64 z)) 3))
195.0ms
(*.f64 (tan.f64 y) (tan.f64 z))

simplify54.0ms (0.2%)

Algorithm
egg-herbie
Counts
110 → 110
Iterations

Useful iterations: 0 (28.0ms)

IterNodesCost
050902655

prune164.0ms (0.5%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1100110
Fresh099
Picked011
Done011
Total11011121

Merged error: 0.1b

Counts
121 → 11
Compiler

Compiled 4664 to 1559 computations (66.6% saved)

regimes1.1s (3.6%)

Compiler

Compiled 15205 to 9274 computations (39% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
07479
17479

end0.0ms (0%)

sample4.0s (13.1%)

Algorithm
intervals
Results
1.4s4525×body1024valid
535.0ms8000×pre128true
253.0ms1370×body512valid
224.0ms248×body2048valid
74.0ms1345×body128valid
60.0ms512×body256valid
Compiler

Compiled 1655 to 1003 computations (39.4% saved)

Profiling

Loading profile data...