Details

Time bar (total: 9.5s)

analyze1.0s (10.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
6.2%93.6%0.1%7
9.4%90.5%0.1%8
14%85.8%0.1%9
19.5%80.4%0.1%10
20.7%79.2%0.1%11
22%77.8%0.1%12
23.5%76.4%0.1%13
23.8%76%0.1%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample73.0ms (0.8%)

Algorithm
intervals
Results
37.0ms99×body1024valid
12.0ms55×body512valid
6.0msbody2048valid
5.0ms74×body128valid
3.0ms20×body256valid
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify165.0ms (1.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
02114
12114

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 15.4b

Counts
2 → 1
Compiler

Compiled 18 to 16 computations (11.1% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.2b
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
0.2b
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
2.1b
(cos.f64 (+.f64 a b))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64_435
19×times-frac_binary64_420 add-cube-cbrt_binary64_446 *-un-lft-identity_binary64_414
13×associate-*r*_binary64_356
10×add-exp-log_binary64_449 add-cbrt-cube_binary64_447
pow1_binary64_472
associate-*l*_binary64_357 add-log-exp_binary64_450 associate-/l*_binary64_361 associate-/r*_binary64_360
div-inv_binary64_411 cbrt-undiv_binary64_445 prod-exp_binary64_460 unswap-sqr_binary64_382 cbrt-unprod_binary64_444 div-exp_binary64_462
clear-num_binary64_413 *-commutative_binary64_347 cos-sum_binary64_545 pow-prod-down_binary64_482 frac-2neg_binary64_425 associate-*r/_binary64_358
Counts
3 → 67
Calls

3 calls:

8.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
5.0ms
(cos.f64 (+.f64 a b))
5.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))

series343.0ms (3.6%)

Counts
3 → 9
Calls

3 calls:

220.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
96.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
27.0ms
(cos.f64 (+.f64 a b))

simplify71.0ms (0.7%)

Algorithm
egg-herbie
Counts
76 → 76
Iterations

Useful iterations: 0 (55.0ms)

IterNodesCost
048871258
148871258

prune72.0ms (0.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New67976
Fresh000
Picked101
Done000
Total68977

Merged error: 0.2b

Counts
77 → 9
Compiler

Compiled 1305 to 318 computations (75.6% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
0.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))

rewrite46.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt_binary64_435
22×add-cube-cbrt_binary64_446 *-un-lft-identity_binary64_414
20×associate-*r*_binary64_356
19×times-frac_binary64_420
13×add-exp-log_binary64_449 add-cbrt-cube_binary64_447
associate-/r/_binary64_362 pow1_binary64_472
sin-mult_binary64_566
cos-mult_binary64_565 associate-*l*_binary64_357 add-log-exp_binary64_450
flip3--_binary64_418 frac-sub_binary64_423 prod-exp_binary64_460 flip--_binary64_389 unswap-sqr_binary64_382 associate-/l*_binary64_361 cbrt-unprod_binary64_444 sub-div_binary64_421 associate-/r*_binary64_360
div-inv_binary64_411 *-commutative_binary64_347 cbrt-undiv_binary64_445 pow-prod-down_binary64_482 div-exp_binary64_462
clear-num_binary64_413 diff-log_binary64_503 sub-neg_binary64_407 frac-2neg_binary64_425 associate-*r/_binary64_358
Counts
4 → 99
Calls

4 calls:

16.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
9.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
6.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
5.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

series969.0ms (10.2%)

Counts
4 → 12
Calls

4 calls:

486.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
271.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
141.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
71.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
049152742
149152742

prune129.0ms (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New10110111
Fresh628
Picked101
Done000
Total10812120

Merged error: 0b

Counts
120 → 12
Compiler

Compiled 2983 to 594 computations (80.1% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 a) (cos.f64 b))
0.1b
(-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a))
0.2b
(/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a)))
0.2b
(/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b))

rewrite36.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
30×add-sqr-sqrt_binary64_435
28×*-un-lft-identity_binary64_414
18×times-frac_binary64_420 add-cube-cbrt_binary64_446
13×add-exp-log_binary64_449 add-cbrt-cube_binary64_447
associate-/r*_binary64_360
pow1_binary64_472 add-log-exp_binary64_450
distribute-lft-out--_binary64_368 difference-of-squares_binary64_383
associate-/l*_binary64_361
cbrt-undiv_binary64_445 associate-*l*_binary64_357 associate-*r*_binary64_356 div-exp_binary64_462
associate-/r/_binary64_362 flip3--_binary64_418 clear-num_binary64_413 cos-mult_binary64_565 div-inv_binary64_411 prod-exp_binary64_460 frac-2neg_binary64_425 flip--_binary64_389 cbrt-unprod_binary64_444
diff-log_binary64_503 *-commutative_binary64_347 pow-prod-down_binary64_482 sub-neg_binary64_407 unswap-sqr_binary64_382 associate-/l/_binary64_363
Counts
4 → 91
Calls

4 calls:

9.0ms
(/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a)))
8.0ms
(-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a))
6.0ms
(/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b))
5.0ms
(*.f64 (cos.f64 a) (cos.f64 b))

series821.0ms (8.7%)

Counts
4 → 12
Calls

4 calls:

432.0ms
(/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a)))
173.0ms
(-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a))
144.0ms
(/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b))
72.0ms
(*.f64 (cos.f64 a) (cos.f64 b))

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Counts
103 → 103
Iterations

Useful iterations: 0 (79.0ms)

IterNodesCost
049172329
149172329

prune99.0ms (1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1012103
Fresh4711
Picked011
Done000
Total10510115

Merged error: 0b

Counts
115 → 10
Compiler

Compiled 2320 to 508 computations (78.1% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
0.2b
(*.f64 (sin.f64 b) r)
0.2b
(*.f64 (sin.f64 a) (sin.f64 b))
0.2b
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))

rewrite33.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64_435
13×add-exp-log_binary64_449 add-cbrt-cube_binary64_447
10×add-cube-cbrt_binary64_446 *-un-lft-identity_binary64_414
pow1_binary64_472
associate-*l*_binary64_357 add-log-exp_binary64_450 associate-*r*_binary64_356
sin-mult_binary64_566
associate-/r/_binary64_362 cos-mult_binary64_565
times-frac_binary64_420 prod-exp_binary64_460 cbrt-unprod_binary64_444 associate-/r*_binary64_360
flip3--_binary64_418 *-commutative_binary64_347 frac-sub_binary64_423 cbrt-undiv_binary64_445 pow-prod-down_binary64_482 flip--_binary64_389 unswap-sqr_binary64_382 sub-div_binary64_421 div-exp_binary64_462
clear-num_binary64_413 diff-log_binary64_503 div-inv_binary64_411 sub-neg_binary64_407 frac-2neg_binary64_425 associate-/l*_binary64_361
Counts
4 → 75
Calls

4 calls:

12.0ms
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
6.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
5.0ms
(*.f64 (sin.f64 a) (sin.f64 b))
4.0ms
(*.f64 (sin.f64 b) r)

series813.0ms (8.6%)

Counts
4 → 12
Calls

4 calls:

533.0ms
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
153.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
70.0ms
(*.f64 (sin.f64 a) (sin.f64 b))
56.0ms
(*.f64 (sin.f64 b) r)

simplify56.0ms (0.6%)

Algorithm
egg-herbie
Counts
87 → 87
Iterations

Useful iterations: 0 (38.0ms)

IterNodesCost
049671633
149671633

prune70.0ms (0.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New86187
Fresh178
Picked011
Done011
Total871097

Merged error: 0b

Counts
97 → 10
Compiler

Compiled 1880 to 361 computations (80.8% saved)

regimes742.0ms (7.8%)

Compiler

Compiled 8783 to 5269 computations (40% saved)

bsearch0.0ms (0%)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02321
12321

end0.0ms (0%)

sample3.7s (38.6%)

Algorithm
intervals
Results
1.3s3508×body1024valid
304.0ms1383×body512valid
182.0ms2312×body128valid
173.0ms200×body2048valid
90.0ms597×body256valid
Compiler

Compiled 1736 to 1044 computations (39.9% saved)

Profiling

Loading profile data...