Details

Time bar (total: 14.8s)

analyze2.0s (13.5%)

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)

sample136.0ms (0.9%)

Algorithm
intervals
Results
79.0ms112×body1024valid
15.0ms39×body512valid
12.0msbody2048valid
9.0ms78×body128valid
5.0ms19×body256valid
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify301.0ms (2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (4.0ms)

IterNodesCost
02114
12114

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 15.3b

Counts
2 → 1
Compiler

Compiled 18 to 16 computations (11.1% saved)

localize21.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)))
3.0b
(cos.f64 (+.f64 a b))

rewrite46.0ms (0.3%)

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:

16.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
10.0ms
(cos.f64 (+.f64 a b))
9.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))

series602.0ms (4.1%)

Counts
3 → 9
Calls

3 calls:

399.0ms
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
154.0ms
(/.f64 (sin.f64 b) (cos.f64 (+.f64 a b)))
49.0ms
(cos.f64 (+.f64 a b))

simplify138.0ms (0.9%)

Algorithm
egg-herbie
Counts
76 → 76
Iterations

Useful iterations: 0 (103.0ms)

IterNodesCost
048871258
148871258

prune144.0ms (1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New68876
Fresh000
Picked101
Done000
Total69877

Merged error: 0.2b

Counts
77 → 8
Compiler

Compiled 1296 to 304 computations (76.5% saved)

localize33.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.1b
(*.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 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))

rewrite88.0ms (0.6%)

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:

26.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
18.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
11.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
10.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

series1.8s (12.4%)

Counts
4 → 12
Calls

4 calls:

921.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))))
491.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
286.0ms
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
127.0ms
(*.f64 (sin.f64 a) (sin.f64 b))

simplify152.0ms (1%)

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 0 (96.0ms)

IterNodesCost
049152742
149152742

prune238.0ms (1.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1047111
Fresh617
Picked101
Done000
Total1118119

Merged error: 0.0b

Counts
119 → 8
Compiler

Compiled 2923 to 545 computations (81.4% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite78.0ms (0.5%)

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:

20.0ms
(/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a)))
17.0ms
(-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a))
11.0ms
(/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b))
9.0ms
(*.f64 (cos.f64 a) (cos.f64 b))

series1.6s (10.6%)

Counts
4 → 12
Calls

4 calls:

842.0ms
(/.f64 r (-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a)))
332.0ms
(-.f64 (/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b)) (sin.f64 a))
271.0ms
(/.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (sin.f64 b))
121.0ms
(*.f64 (cos.f64 a) (cos.f64 b))

simplify185.0ms (1.3%)

Algorithm
egg-herbie
Counts
103 → 103
Iterations

Useful iterations: 0 (139.0ms)

IterNodesCost
049172329
149172329

prune184.0ms (1.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1003103
Fresh347
Picked101
Done000
Total1047111

Merged error: 0.0b

Counts
111 → 7
Compiler

Compiled 2296 to 482 computations (79% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))
0.3b
(pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)
26.7b
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))

rewrite87.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt_binary64_435
22×add-cube-cbrt_binary64_446 *-un-lft-identity_binary64_414
19×times-frac_binary64_420
16×associate-*r*_binary64_356
14×add-exp-log_binary64_449 add-cbrt-cube_binary64_447
pow1_binary64_472
cbrt-prod_binary64_442
associate-/r/_binary64_362
add-log-exp_binary64_450 cube-div_binary64_440 sin-mult_binary64_566
cbrt-div_binary64_443 pow-unpow_binary64_488 prod-exp_binary64_460 associate-*l*_binary64_357 associate-/l*_binary64_361 cbrt-unprod_binary64_444 associate-/r*_binary64_360
flip3--_binary64_418 cube-prod_binary64_439 cos-mult_binary64_565 div-inv_binary64_411 cube-mult_binary64_441 sqr-pow_binary64_386 frac-sub_binary64_423 cbrt-undiv_binary64_445 pow-pow_binary64_483 pow-exp_binary64_479 pow-prod-down_binary64_482 unpow3_binary64_477 unpow-prod-down_binary64_490 flip--_binary64_389 unswap-sqr_binary64_382 rem-cube-cbrt_binary64_436 div-exp_binary64_462
clear-num_binary64_413 *-commutative_binary64_347 rem-cbrt-cube_binary64_437 pow-to-exp_binary64_480 frac-2neg_binary64_425 pow1/3_binary64_493 associate-*r/_binary64_358
Counts
4 → 106
Calls

4 calls:

28.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
22.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))
10.0ms
(pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)
6.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))

series1.8s (12.5%)

Counts
4 → 12
Calls

4 calls:

914.0ms
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))))
513.0ms
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))
262.0ms
(pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)
156.0ms
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))

simplify119.0ms (0.8%)

Algorithm
egg-herbie
Counts
118 → 118
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
052072715

prune200.0ms (1.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1171118
Fresh066
Picked011
Done000
Total1178125

Merged error: 0.0b

Counts
125 → 8
Compiler

Compiled 3014 to 724 computations (76% saved)

regimes137.0ms (0.9%)

Compiler

Compiled 789 to 438 computations (44.5% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
02931
12931

end0.0ms (0%)

sample4.6s (31%)

Algorithm
intervals
Results
2.3s3496×body1024valid
546.0ms1309×body512valid
328.0ms2392×body128valid
322.0ms200×body2048valid
169.0ms603×body256valid
Compiler

Compiled 290 to 167 computations (42.4% saved)

Profiling

Loading profile data...