Details

Time bar (total: 5.8s)

analyze89.0ms (1.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
50%50%0.1%5
56.2%43.7%0.1%6
74.9%25%0.1%7
76.5%23.4%0.1%8
84.3%15.6%0.1%9
86.2%13.7%0.1%10
91.3%8.6%0.1%11
92.6%7.3%0.1%12
95.4%4.5%0.1%13
96.1%3.8%0.1%14
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample36.0ms (0.6%)

Algorithm
intervals
Results
15.0ms47×body1024valid
7.0ms166×body128valid
3.0ms27×body512valid
1.0ms16×body256valid
Compiler

Compiled 13 to 13 computations (0% saved)

simplify150.0ms (2.6%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_5465
associate-/l*_binary64_5479
associate-/r/_binary64_5480 associate-*l/_binary64_5477 associate-*r/_binary64_5476
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_5797 erf-erfc_binary64_5796 erf-odd_binary64_5795 if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 not-gte_binary64_5786 not-lte_binary64_5785 not-gt_binary64_5784 not-lt_binary64_5783 gte-same_binary64_5782 lte-same_binary64_5781 gt-same_binary64_5780 lt-same_binary64_5779 sinh---cosh_binary64_5726 sinh-+-cosh_binary64_5725 sinh-cosh_binary64_5724 tanh-def-c_binary64_5723 tanh-def-b_binary64_5722 tanh-def-a_binary64_5721 cosh-def_binary64_5720 sinh-def_binary64_5719 tan-neg_binary64_5666 cos-neg_binary64_5665 sin-neg_binary64_5664 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 hang-m-tan_binary64_5660 hang-p-tan_binary64_5659 hang-m0-tan_binary64_5658 hang-p0-tan_binary64_5657 hang-0m-tan_binary64_5656 hang-0p-tan_binary64_5655 tan-+PI/2_binary64_5654 tan-+PI_binary64_5653 tan-PI_binary64_5652 tan-PI/3_binary64_5651 tan-PI/4_binary64_5650 tan-PI/6_binary64_5649 cos-+PI/2_binary64_5648 cos-+PI_binary64_5647 cos-PI_binary64_5646 cos-PI/2_binary64_5645 cos-PI/3_binary64_5644 cos-PI/4_binary64_5643 cos-PI/6_binary64_5642 sin-+PI/2_binary64_5641 sin-+PI_binary64_5640 sin-PI_binary64_5639 sin-PI/2_binary64_5638 sin-PI/3_binary64_5637 sin-PI/4_binary64_5636 sin-PI/6_binary64_5635 sub-1-sin_binary64_5634 sub-1-cos_binary64_5633 -1-add-sin_binary64_5632 -1-add-cos_binary64_5631 1-sub-sin_binary64_5630 1-sub-cos_binary64_5629 cos-sin-sum_binary64_5628 log-E_binary64_5624 log-pow_binary64_5623 log-rec_binary64_5622 log-div_binary64_5621 log-prod_binary64_5620 pow-base-0_binary64_5618 unpow1/3_binary64_5601 unpow3_binary64_5600 unpow2_binary64_5599 unpow1/2_binary64_5598 pow-plus_binary64_5597 exp-to-pow_binary64_5596 pow-base-1_binary64_5594 unpow0_binary64_5593 unpow1_binary64_5592 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-lft-sqr_binary64_5589 exp-cbrt_binary64_5588 exp-sqrt_binary64_5587 exp-prod_binary64_5586 div-exp_binary64_5585 rec-exp_binary64_5584 prod-exp_binary64_5583 exp-diff_binary64_5582 exp-neg_binary64_5581 exp-sum_binary64_5580 e-exp-1_binary64_5579 1-exp_binary64_5578 exp-1-e_binary64_5577 exp-0_binary64_5576 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 cube-unmult_binary64_5571 cube-mult_binary64_5564 cube-div_binary64_5563 cube-prod_binary64_5562 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 rem-sqrt-square_binary64_5547 rem-square-sqrt_binary64_5546 times-frac_binary64_5540 div-sub_binary64_5539 neg-mul-1_binary64_5530 neg-sub0_binary64_5529 unsub-neg_binary64_5528 sub-neg_binary64_5527 mul-1-neg_binary64_5526 /-rgt-identity_binary64_5525 *-rgt-identity_binary64_5524 *-lft-identity_binary64_5523 remove-double-neg_binary64_5522 sub0-neg_binary64_5521 --rgt-identity_binary64_5520 +-rgt-identity_binary64_5519 +-lft-identity_binary64_5518 mul0-rgt_binary64_5517 mul0-lft_binary64_5516 div0_binary64_5515 *-inverses_binary64_5514 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 rgt-mult-inverse_binary64_5511 remove-double-div_binary64_5510 pow-sqr_binary64_5507 sqr-pow_binary64_5506 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 unswap-sqr_binary64_5502 swap-sqr_binary64_5501 cancel-sign-sub-inv_binary64_5500 cancel-sign-sub_binary64_5499 distribute-neg-frac_binary64_5498 distribute-frac-neg_binary64_5497 distribute-neg-out_binary64_5496 distribute-neg-in_binary64_5495 distribute-rgt-neg-out_binary64_5494 distribute-lft-neg-out_binary64_5493 distribute-rgt-neg-in_binary64_5492 distribute-lft-neg-in_binary64_5491 distribute-rgt1-in_binary64_5490 distribute-lft1-in_binary64_5489 distribute-rgt-out--_binary64_5488 distribute-rgt-out_binary64_5487 distribute-lft-out--_binary64_5486 distribute-lft-out_binary64_5485 distribute-rgt-in_binary64_5484 distribute-lft-in_binary64_5483 count-2_binary64_5482 associate-/l/_binary64_5481 associate-/r*_binary64_5478 associate-*l*_binary64_5475 associate-*r*_binary64_5474 associate--r-_binary64_5473 associate--l-_binary64_5472 associate--l+_binary64_5471 associate--r+_binary64_5470 associate-+l-_binary64_5469 associate-+r-_binary64_5468 associate-+l+_binary64_5467 associate-+r+_binary64_5466 +-commutative_binary64_5464
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
199
2129
3169
4179

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.1b
Counts
1 → 1
Compiler

Compiled 6 to 5 computations (16.7% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.1b
(*.f64 x (/.f64 (sin.f64 y) y))
0.1b
(/.f64 (sin.f64 y) y)

rewrite71.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×add-sqr-sqrt_binary64_5556
19×times-frac_binary64_5540
18×add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
13×associate-*r*_binary64_5474
add-exp-log_binary64_5572 add-cbrt-cube_binary64_5570
pow1_binary64_5595
associate-/l*_binary64_5479 associate-/r*_binary64_5478 associate-*l*_binary64_5475
div-exp_binary64_5585 add-log-exp_binary64_5573 cbrt-undiv_binary64_5568 div-inv_binary64_5531 prod-exp_binary64_5583 cbrt-unprod_binary64_5567 unswap-sqr_binary64_5502
frac-2neg_binary64_5545 clear-num_binary64_5533 pow-prod-down_binary64_5605 associate-*r/_binary64_5476 *-commutative_binary64_5465
Counts
2 → 59
Calls

2 calls:

7.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
4.0ms
(/.f64 (sin.f64 y) y)
Compiler

Compiled 765 to 200 computations (73.9% saved)

series231.0ms (4%)

Error
0.0b
Counts
2 → 15
Calls

2 calls:

171.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
49.0ms
(/.f64 (sin.f64 y) y)
Compiler

Compiled 326 to 241 computations (26.1% saved)

simplify195.0ms (3.4%)

Algorithm
egg-herbie
Rules
426×div-sub_binary64_5539
352×cancel-sign-sub-inv_binary64_5500
307×associate-/l*_binary64_5479
305×associate-*l/_binary64_5477
304×associate-*l*_binary64_5475
286×associate-*r/_binary64_5476
263×times-frac_binary64_5540
239×associate-*r*_binary64_5474
173×associate-/l/_binary64_5481
121×distribute-rgt-neg-in_binary64_5492
110×associate-+l-_binary64_5469
106×associate-/r/_binary64_5480
104×sub-neg_binary64_5527 distribute-lft-neg-in_binary64_5491
101×*-commutative_binary64_5465
76×associate-/r*_binary64_5478
73×associate--l-_binary64_5472
64×log-div_binary64_5621 log-prod_binary64_5620 cube-div_binary64_5563 unswap-sqr_binary64_5502
58×*-lft-identity_binary64_5523
56×cube-prod_binary64_5562
55×associate-+r-_binary64_5468
53×associate-+l+_binary64_5467
52×sqr-pow_binary64_5506 distribute-neg-frac_binary64_5498
49×+-commutative_binary64_5464
46×exp-prod_binary64_5586 associate--l+_binary64_5471
45×associate-+r+_binary64_5466
36×unpow3_binary64_5600
32×cube-mult_binary64_5564
31×neg-mul-1_binary64_5530
27×neg-sub0_binary64_5529 remove-double-div_binary64_5510
26×*-rgt-identity_binary64_5524 associate--r+_binary64_5470
24×unsub-neg_binary64_5528 pow-sqr_binary64_5507 distribute-rgt-in_binary64_5484
21×swap-sqr_binary64_5501
20×distribute-rgt-out--_binary64_5488
19×distribute-lft-in_binary64_5483 associate--r-_binary64_5473
17×/-rgt-identity_binary64_5525
16×distribute-lft-neg-out_binary64_5493
15×log-rec_binary64_5622
14×distribute-neg-out_binary64_5496
13×exp-sqrt_binary64_5587
12×prod-exp_binary64_5583 cube-unmult_binary64_5571 sub0-neg_binary64_5521 distribute-lft-out_binary64_5485
11×pow-plus_binary64_5597
10×+-rgt-identity_binary64_5519 distribute-rgt-out_binary64_5487
exp-lft-sqr_binary64_5589 div-exp_binary64_5585 exp-sum_binary64_5580
log-pow_binary64_5623 exp-diff_binary64_5582
distribute-rgt1-in_binary64_5490
distribute-lft-out--_binary64_5486
rem-sqrt-square_binary64_5547 distribute-neg-in_binary64_5495
rec-exp_binary64_5584 cancel-sign-sub_binary64_5499
exp-to-pow_binary64_5596 count-2_binary64_5482
unpow2_binary64_5599 pow-base-1_binary64_5594 unpow1_binary64_5592 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 +-lft-identity_binary64_5518 *-inverses_binary64_5514 rgt-mult-inverse_binary64_5511 distribute-frac-neg_binary64_5497 distribute-rgt-neg-out_binary64_5494
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_5797 erf-erfc_binary64_5796 erf-odd_binary64_5795 if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 not-gte_binary64_5786 not-lte_binary64_5785 not-gt_binary64_5784 not-lt_binary64_5783 gte-same_binary64_5782 lte-same_binary64_5781 gt-same_binary64_5780 lt-same_binary64_5779 sinh---cosh_binary64_5726 sinh-+-cosh_binary64_5725 sinh-cosh_binary64_5724 tanh-def-c_binary64_5723 tanh-def-b_binary64_5722 tanh-def-a_binary64_5721 cosh-def_binary64_5720 sinh-def_binary64_5719 tan-neg_binary64_5666 cos-neg_binary64_5665 sin-neg_binary64_5664 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 hang-m-tan_binary64_5660 hang-p-tan_binary64_5659 hang-m0-tan_binary64_5658 hang-p0-tan_binary64_5657 hang-0m-tan_binary64_5656 hang-0p-tan_binary64_5655 tan-+PI/2_binary64_5654 tan-+PI_binary64_5653 tan-PI_binary64_5652 tan-PI/3_binary64_5651 tan-PI/4_binary64_5650 tan-PI/6_binary64_5649 cos-+PI/2_binary64_5648 cos-+PI_binary64_5647 cos-PI_binary64_5646 cos-PI/2_binary64_5645 cos-PI/3_binary64_5644 cos-PI/4_binary64_5643 cos-PI/6_binary64_5642 sin-+PI/2_binary64_5641 sin-+PI_binary64_5640 sin-PI_binary64_5639 sin-PI/2_binary64_5638 sin-PI/3_binary64_5637 sin-PI/4_binary64_5636 sin-PI/6_binary64_5635 sub-1-sin_binary64_5634 sub-1-cos_binary64_5633 -1-add-sin_binary64_5632 -1-add-cos_binary64_5631 1-sub-sin_binary64_5630 1-sub-cos_binary64_5629 cos-sin-sum_binary64_5628 log-E_binary64_5624 pow-base-0_binary64_5618 unpow1/3_binary64_5601 unpow1/2_binary64_5598 unpow0_binary64_5593 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-cbrt_binary64_5588 exp-neg_binary64_5581 e-exp-1_binary64_5579 exp-0_binary64_5576 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 remove-double-neg_binary64_5522 --rgt-identity_binary64_5520 mul0-rgt_binary64_5517 mul0-lft_binary64_5516 div0_binary64_5515 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 distribute-lft1-in_binary64_5489
Counts
74 → 130
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0114994
1263911
2871905
32773902
44057902

prune97.0ms (1.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1255130
Fresh000
Picked011
Done000
Total1256131
Error
0.0b
Counts
131 → 6
Compiler

Compiled 1862 to 427 computations (77.1% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.1b
(/.f64 x (/.f64 y (sin.f64 y)))
0.1b
(/.f64 y (sin.f64 y))

rewrite94.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
84×times-frac_binary64_5540
52×add-cube-cbrt_binary64_5569 add-sqr-sqrt_binary64_5556 *-un-lft-identity_binary64_5534
16×associate-/r*_binary64_5478
add-exp-log_binary64_5572 add-cbrt-cube_binary64_5570
div-inv_binary64_5531 associate-/l*_binary64_5479
div-exp_binary64_5585 cbrt-undiv_binary64_5568
pow1_binary64_5595 add-log-exp_binary64_5573 frac-2neg_binary64_5545 clear-num_binary64_5533
associate-/r/_binary64_5480
Counts
2 → 97
Calls

2 calls:

6.0ms
(/.f64 x (/.f64 y (sin.f64 y)))
4.0ms
(/.f64 y (sin.f64 y))
Compiler

Compiled 1475 to 366 computations (75.2% saved)

series303.0ms (5.2%)

Error
0.0b
Counts
2 → 15
Calls

2 calls:

155.0ms
(/.f64 x (/.f64 y (sin.f64 y)))
72.0ms
(/.f64 y (sin.f64 y))
Compiler

Compiled 326 to 241 computations (26.1% saved)

simplify275.0ms (4.7%)

Algorithm
egg-herbie
Rules
491×associate-/r/_binary64_5480
344×associate-*l/_binary64_5477
314×associate-*l*_binary64_5475
269×cancel-sign-sub-inv_binary64_5500
255×associate-/r*_binary64_5478
243×associate-*r/_binary64_5476
225×*-commutative_binary64_5465
194×associate-*r*_binary64_5474
180×div-sub_binary64_5539
131×associate-/l/_binary64_5481
119×distribute-rgt-neg-in_binary64_5492
115×associate-/l*_binary64_5479
101×neg-mul-1_binary64_5530
100×neg-sub0_binary64_5529
96×distribute-lft-neg-in_binary64_5491
67×sub-neg_binary64_5527 associate-+l-_binary64_5469
64×log-prod_binary64_5620
62×unswap-sqr_binary64_5502
59×cube-prod_binary64_5562
57×exp-prod_binary64_5586
55×associate--l-_binary64_5472
48×log-div_binary64_5621 +-commutative_binary64_5464
45×times-frac_binary64_5540 associate-+l+_binary64_5467
44×sqr-pow_binary64_5506
43×*-rgt-identity_binary64_5524
42×cube-div_binary64_5563
36×distribute-lft-out_binary64_5485
35×distribute-rgt-in_binary64_5484
34×*-lft-identity_binary64_5523
33×distribute-rgt-out_binary64_5487
31×/-rgt-identity_binary64_5525 distribute-neg-frac_binary64_5498 distribute-rgt-out--_binary64_5488 associate-+r-_binary64_5468
29×associate-+r+_binary64_5466
28×swap-sqr_binary64_5501
27×unpow3_binary64_5600
26×distribute-lft-in_binary64_5483 associate--l+_binary64_5471
24×pow-sqr_binary64_5507 distribute-lft-out--_binary64_5486
23×cube-mult_binary64_5564
19×associate--r+_binary64_5470
18×exp-to-pow_binary64_5596 prod-exp_binary64_5583 unsub-neg_binary64_5528
17×log-pow_binary64_5623 pow-plus_binary64_5597
16×div-exp_binary64_5585
15×distribute-lft-neg-out_binary64_5493
14×exp-sqrt_binary64_5587 associate--r-_binary64_5473
12×cube-unmult_binary64_5571
11×exp-lft-sqr_binary64_5589 distribute-neg-out_binary64_5496
exp-diff_binary64_5582 distribute-rgt1-in_binary64_5490
exp-sum_binary64_5580
sub0-neg_binary64_5521
distribute-neg-in_binary64_5495
log-rec_binary64_5622 pow-base-1_binary64_5594 rec-exp_binary64_5584 +-rgt-identity_binary64_5519 distribute-rgt-neg-out_binary64_5494
rem-sqrt-square_binary64_5547 remove-double-div_binary64_5510
distribute-frac-neg_binary64_5497 count-2_binary64_5482
unpow2_binary64_5599 unpow1_binary64_5592 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 sqr-neg_binary64_5548 remove-double-neg_binary64_5522 div0_binary64_5515 *-inverses_binary64_5514 rgt-mult-inverse_binary64_5511 cancel-sign-sub_binary64_5499
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_5797 erf-erfc_binary64_5796 erf-odd_binary64_5795 if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 not-gte_binary64_5786 not-lte_binary64_5785 not-gt_binary64_5784 not-lt_binary64_5783 gte-same_binary64_5782 lte-same_binary64_5781 gt-same_binary64_5780 lt-same_binary64_5779 sinh---cosh_binary64_5726 sinh-+-cosh_binary64_5725 sinh-cosh_binary64_5724 tanh-def-c_binary64_5723 tanh-def-b_binary64_5722 tanh-def-a_binary64_5721 cosh-def_binary64_5720 sinh-def_binary64_5719 tan-neg_binary64_5666 cos-neg_binary64_5665 sin-neg_binary64_5664 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 hang-m-tan_binary64_5660 hang-p-tan_binary64_5659 hang-m0-tan_binary64_5658 hang-p0-tan_binary64_5657 hang-0m-tan_binary64_5656 hang-0p-tan_binary64_5655 tan-+PI/2_binary64_5654 tan-+PI_binary64_5653 tan-PI_binary64_5652 tan-PI/3_binary64_5651 tan-PI/4_binary64_5650 tan-PI/6_binary64_5649 cos-+PI/2_binary64_5648 cos-+PI_binary64_5647 cos-PI_binary64_5646 cos-PI/2_binary64_5645 cos-PI/3_binary64_5644 cos-PI/4_binary64_5643 cos-PI/6_binary64_5642 sin-+PI/2_binary64_5641 sin-+PI_binary64_5640 sin-PI_binary64_5639 sin-PI/2_binary64_5638 sin-PI/3_binary64_5637 sin-PI/4_binary64_5636 sin-PI/6_binary64_5635 sub-1-sin_binary64_5634 sub-1-cos_binary64_5633 -1-add-sin_binary64_5632 -1-add-cos_binary64_5631 1-sub-sin_binary64_5630 1-sub-cos_binary64_5629 cos-sin-sum_binary64_5628 log-E_binary64_5624 pow-base-0_binary64_5618 unpow1/3_binary64_5601 unpow1/2_binary64_5598 unpow0_binary64_5593 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-cbrt_binary64_5588 exp-neg_binary64_5581 e-exp-1_binary64_5579 exp-0_binary64_5576 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 --rgt-identity_binary64_5520 +-lft-identity_binary64_5518 mul0-rgt_binary64_5517 mul0-lft_binary64_5516 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 distribute-lft1-in_binary64_5489
Counts
112 → 366
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01882007
14031909
213161903
331191900
442761900

prune305.0ms (5.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3651366
Fresh134
Picked011
Done011
Total3666372
Error
0b
Counts
372 → 6
Compiler

Compiled 6573 to 1020 computations (84.5% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.1b
(*.f64 (sin.f64 y) x)
6.3b
(/.f64 (*.f64 (sin.f64 y) x) y)

rewrite36.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-exp-log_binary64_5572 add-cbrt-cube_binary64_5570
add-sqr-sqrt_binary64_5556
add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
pow1_binary64_5595
times-frac_binary64_5540 associate-/r*_binary64_5478 associate-*l*_binary64_5475 associate-*r*_binary64_5474
prod-exp_binary64_5583 div-exp_binary64_5585 add-log-exp_binary64_5573 cbrt-undiv_binary64_5568 cbrt-unprod_binary64_5567
frac-2neg_binary64_5545 clear-num_binary64_5533 div-inv_binary64_5531 associate-/l*_binary64_5479 pow-prod-down_binary64_5605 unswap-sqr_binary64_5502 *-commutative_binary64_5465
Counts
2 → 39
Calls

2 calls:

5.0ms
(/.f64 (*.f64 (sin.f64 y) x) y)
5.0ms
(*.f64 (sin.f64 y) x)
Compiler

Compiled 445 to 131 computations (70.6% saved)

series277.0ms (4.8%)

Error
0b
Counts
2 → 18
Calls

2 calls:

162.0ms
(/.f64 (*.f64 (sin.f64 y) x) y)
104.0ms
(*.f64 (sin.f64 y) x)
Compiler

Compiled 420 to 278 computations (33.8% saved)

simplify177.0ms (3.1%)

Algorithm
egg-herbie
Rules
559×cancel-sign-sub-inv_binary64_5500
527×associate-/l*_binary64_5479
265×associate-*l*_binary64_5475
232×associate-/l/_binary64_5481
225×associate-*r*_binary64_5474
202×associate-*l/_binary64_5477
174×distribute-rgt-neg-in_binary64_5492
169×associate-/r/_binary64_5480
164×associate-/r*_binary64_5478
155×associate-*r/_binary64_5476
151×distribute-lft-neg-in_binary64_5491
117×sub-neg_binary64_5527
107×*-commutative_binary64_5465
104×associate-+l-_binary64_5469
81×log-div_binary64_5621 cube-div_binary64_5563
76×log-prod_binary64_5620
73×sqr-pow_binary64_5506
70×cube-prod_binary64_5562
63×times-frac_binary64_5540
61×+-commutative_binary64_5464
60×associate--l-_binary64_5472
59×associate-+r-_binary64_5468
55×associate--l+_binary64_5471 associate-+l+_binary64_5467
52×associate-+r+_binary64_5466
47×exp-prod_binary64_5586
46×neg-mul-1_binary64_5530
43×unpow3_binary64_5600 distribute-rgt-in_binary64_5484
42×neg-sub0_binary64_5529
39×distribute-lft-in_binary64_5483
38×distribute-lft-out--_binary64_5486 distribute-lft-out_binary64_5485
37×pow-sqr_binary64_5507
36×cube-mult_binary64_5564
34×*-rgt-identity_binary64_5524 distribute-rgt-out_binary64_5487
33×unswap-sqr_binary64_5502
27×distribute-rgt-out--_binary64_5488
26×*-lft-identity_binary64_5523 distribute-lft-neg-out_binary64_5493
25×/-rgt-identity_binary64_5525
24×swap-sqr_binary64_5501
21×associate--r+_binary64_5470
20×unsub-neg_binary64_5528
19×distribute-neg-frac_binary64_5498
17×div-sub_binary64_5539
16×cube-unmult_binary64_5571
14×associate--r-_binary64_5473
13×log-rec_binary64_5622 remove-double-div_binary64_5510
11×exp-sqrt_binary64_5587
10×sub0-neg_binary64_5521 +-rgt-identity_binary64_5519
pow-plus_binary64_5597 distribute-rgt-neg-out_binary64_5494
exp-lft-sqr_binary64_5589 distribute-rgt1-in_binary64_5490
exp-diff_binary64_5582 exp-sum_binary64_5580
log-pow_binary64_5623 distribute-neg-in_binary64_5495
prod-exp_binary64_5583 distribute-neg-out_binary64_5496
cancel-sign-sub_binary64_5499
distribute-frac-neg_binary64_5497 count-2_binary64_5482
unpow2_binary64_5599 exp-to-pow_binary64_5596 pow-base-1_binary64_5594 unpow1_binary64_5592 div-exp_binary64_5585 rec-exp_binary64_5584 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 rem-sqrt-square_binary64_5547 remove-double-neg_binary64_5522 +-lft-identity_binary64_5518 div0_binary64_5515 *-inverses_binary64_5514 rgt-mult-inverse_binary64_5511 distribute-lft1-in_binary64_5489
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_5797 erf-erfc_binary64_5796 erf-odd_binary64_5795 if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 not-gte_binary64_5786 not-lte_binary64_5785 not-gt_binary64_5784 not-lt_binary64_5783 gte-same_binary64_5782 lte-same_binary64_5781 gt-same_binary64_5780 lt-same_binary64_5779 sinh---cosh_binary64_5726 sinh-+-cosh_binary64_5725 sinh-cosh_binary64_5724 tanh-def-c_binary64_5723 tanh-def-b_binary64_5722 tanh-def-a_binary64_5721 cosh-def_binary64_5720 sinh-def_binary64_5719 tan-neg_binary64_5666 cos-neg_binary64_5665 sin-neg_binary64_5664 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 hang-m-tan_binary64_5660 hang-p-tan_binary64_5659 hang-m0-tan_binary64_5658 hang-p0-tan_binary64_5657 hang-0m-tan_binary64_5656 hang-0p-tan_binary64_5655 tan-+PI/2_binary64_5654 tan-+PI_binary64_5653 tan-PI_binary64_5652 tan-PI/3_binary64_5651 tan-PI/4_binary64_5650 tan-PI/6_binary64_5649 cos-+PI/2_binary64_5648 cos-+PI_binary64_5647 cos-PI_binary64_5646 cos-PI/2_binary64_5645 cos-PI/3_binary64_5644 cos-PI/4_binary64_5643 cos-PI/6_binary64_5642 sin-+PI/2_binary64_5641 sin-+PI_binary64_5640 sin-PI_binary64_5639 sin-PI/2_binary64_5638 sin-PI/3_binary64_5637 sin-PI/4_binary64_5636 sin-PI/6_binary64_5635 sub-1-sin_binary64_5634 sub-1-cos_binary64_5633 -1-add-sin_binary64_5632 -1-add-cos_binary64_5631 1-sub-sin_binary64_5630 1-sub-cos_binary64_5629 cos-sin-sum_binary64_5628 log-E_binary64_5624 pow-base-0_binary64_5618 unpow1/3_binary64_5601 unpow1/2_binary64_5598 unpow0_binary64_5593 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-cbrt_binary64_5588 exp-neg_binary64_5581 e-exp-1_binary64_5579 exp-0_binary64_5576 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 --rgt-identity_binary64_5520 mul0-rgt_binary64_5517 mul0-lft_binary64_5516 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503
Counts
57 → 117
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0104716
1252633
2896615
33258606
44799606

prune89.0ms (1.5%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1170117
Fresh033
Picked011
Done022
Total1176123
Error
0b
Counts
123 → 6
Compiler

Compiled 1630 to 450 computations (72.4% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.1b
(*.f64 (sin.f64 y) x)
0.5b
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))
6.4b
(/.f64 y (*.f64 (sin.f64 y) x))

rewrite93.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
36×times-frac_binary64_5540
31×add-exp-log_binary64_5572
25×add-sqr-sqrt_binary64_5556
23×add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
19×add-cbrt-cube_binary64_5570
14×div-exp_binary64_5585
associate-/r*_binary64_5478
cbrt-undiv_binary64_5568
pow1_binary64_5595 div-inv_binary64_5531 associate-/l*_binary64_5479
prod-exp_binary64_5583
add-log-exp_binary64_5573 cbrt-unprod_binary64_5567 1-exp_binary64_5578 rec-exp_binary64_5584 associate-*l*_binary64_5475 associate-*r*_binary64_5474
frac-2neg_binary64_5545 clear-num_binary64_5533
inv-pow_binary64_5619 pow-flip_binary64_5608 associate-/r/_binary64_5480 pow-prod-down_binary64_5605 unswap-sqr_binary64_5502 *-commutative_binary64_5465
Counts
3 → 95
Calls

3 calls:

7.0ms
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))
5.0ms
(/.f64 y (*.f64 (sin.f64 y) x))
4.0ms
(*.f64 (sin.f64 y) x)
Compiler

Compiled 1397 to 533 computations (61.8% saved)

series485.0ms (8.4%)

Error
0b
Counts
3 → 27
Calls

3 calls:

202.0ms
(/.f64 y (*.f64 (sin.f64 y) x))
163.0ms
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) x)))
102.0ms
(*.f64 (sin.f64 y) x)
Compiler

Compiled 722 to 517 computations (28.4% saved)

simplify591.0ms (10.2%)

Algorithm
egg-herbie
Rules
460×associate-/r*_binary64_5478
398×cancel-sign-sub-inv_binary64_5500
375×associate-/r/_binary64_5480
346×associate-/l/_binary64_5481
345×associate-*l/_binary64_5477
239×*-commutative_binary64_5465
233×associate-*r/_binary64_5476
149×distribute-rgt-neg-in_binary64_5492
139×sub-neg_binary64_5527
128×distribute-rgt-in_binary64_5484
122×distribute-lft-neg-in_binary64_5491
120×div-sub_binary64_5539
101×associate-*r*_binary64_5474
98×unsub-neg_binary64_5528
91×associate-/l*_binary64_5479
87×sqr-pow_binary64_5506
84×times-frac_binary64_5540
83×log-div_binary64_5621
73×cube-div_binary64_5563
72×neg-mul-1_binary64_5530
68×associate-*l*_binary64_5475
63×neg-sub0_binary64_5529
60×exp-prod_binary64_5586
55×log-prod_binary64_5620
54×+-commutative_binary64_5464
52×swap-sqr_binary64_5501 distribute-lft-out_binary64_5485
51×*-rgt-identity_binary64_5524
49×distribute-lft-out--_binary64_5486
48×unswap-sqr_binary64_5502 distribute-lft-neg-out_binary64_5493
47×cube-prod_binary64_5562
46×associate-+l+_binary64_5467
45×distribute-rgt-out_binary64_5487
44×pow-sqr_binary64_5507
43×distribute-neg-frac_binary64_5498
40×distribute-rgt-out--_binary64_5488
35×associate-+r+_binary64_5466
32×*-lft-identity_binary64_5523
28×sub0-neg_binary64_5521 associate-+l-_binary64_5469
26×/-rgt-identity_binary64_5525
25×associate--l+_binary64_5471
22×distribute-rgt-neg-out_binary64_5494
20×associate--r+_binary64_5470 associate-+r-_binary64_5468
17×distribute-frac-neg_binary64_5497
16×log-rec_binary64_5622 distribute-neg-in_binary64_5495
15×exp-sqrt_binary64_5587 associate--l-_binary64_5472
13×distribute-neg-out_binary64_5496 distribute-lft-in_binary64_5483
11×+-lft-identity_binary64_5518
unpow3_binary64_5600 exp-lft-sqr_binary64_5589 +-rgt-identity_binary64_5519
pow-plus_binary64_5597 cube-mult_binary64_5564 mul0-lft_binary64_5516 distribute-rgt1-in_binary64_5490 associate--r-_binary64_5473
mul0-rgt_binary64_5517
cube-unmult_binary64_5571
log-pow_binary64_5623 div0_binary64_5515
remove-double-div_binary64_5510 cancel-sign-sub_binary64_5499
exp-to-pow_binary64_5596 rem-sqrt-square_binary64_5547 remove-double-neg_binary64_5522
unpow2_binary64_5599 pow-base-1_binary64_5594 unpow1_binary64_5592 div-exp_binary64_5585 rec-exp_binary64_5584 prod-exp_binary64_5583 exp-diff_binary64_5582 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-cbrt-cube_binary64_5558 *-inverses_binary64_5514 rgt-mult-inverse_binary64_5511 count-2_binary64_5482
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_5797 erf-erfc_binary64_5796 erf-odd_binary64_5795 if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 not-gte_binary64_5786 not-lte_binary64_5785 not-gt_binary64_5784 not-lt_binary64_5783 gte-same_binary64_5782 lte-same_binary64_5781 gt-same_binary64_5780 lt-same_binary64_5779 sinh---cosh_binary64_5726 sinh-+-cosh_binary64_5725 sinh-cosh_binary64_5724 tanh-def-c_binary64_5723 tanh-def-b_binary64_5722 tanh-def-a_binary64_5721 cosh-def_binary64_5720 sinh-def_binary64_5719 tan-neg_binary64_5666 cos-neg_binary64_5665 sin-neg_binary64_5664 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 hang-m-tan_binary64_5660 hang-p-tan_binary64_5659 hang-m0-tan_binary64_5658 hang-p0-tan_binary64_5657 hang-0m-tan_binary64_5656 hang-0p-tan_binary64_5655 tan-+PI/2_binary64_5654 tan-+PI_binary64_5653 tan-PI_binary64_5652 tan-PI/3_binary64_5651 tan-PI/4_binary64_5650 tan-PI/6_binary64_5649 cos-+PI/2_binary64_5648 cos-+PI_binary64_5647 cos-PI_binary64_5646 cos-PI/2_binary64_5645 cos-PI/3_binary64_5644 cos-PI/4_binary64_5643 cos-PI/6_binary64_5642 sin-+PI/2_binary64_5641 sin-+PI_binary64_5640 sin-PI_binary64_5639 sin-PI/2_binary64_5638 sin-PI/3_binary64_5637 sin-PI/4_binary64_5636 sin-PI/6_binary64_5635 sub-1-sin_binary64_5634 sub-1-cos_binary64_5633 -1-add-sin_binary64_5632 -1-add-cos_binary64_5631 1-sub-sin_binary64_5630 1-sub-cos_binary64_5629 cos-sin-sum_binary64_5628 log-E_binary64_5624 pow-base-0_binary64_5618 unpow1/3_binary64_5601 unpow1/2_binary64_5598 unpow0_binary64_5593 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-cbrt_binary64_5588 exp-neg_binary64_5581 exp-sum_binary64_5580 e-exp-1_binary64_5579 exp-0_binary64_5576 rem-exp-log_binary64_5574 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 rem-3cbrt-lft_binary64_5559 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 --rgt-identity_binary64_5520 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 distribute-lft1-in_binary64_5489
Counts
122 → 416
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01902052
14281815
214621558
334961549

prune380.0ms (6.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New4151416
Fresh112
Picked101
Done033
Total4175422
Error
0b
Counts
422 → 5
Compiler

Compiled 6632 to 2745 computations (58.6% saved)

regimes336.0ms (5.8%)

Accuracy

Total 0.2b remaining (99.6%)

Threshold costs 0.2b (99.6%)

Compiler

Compiled 2459 to 1611 computations (34.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_5794 if-if-and_binary64_5793 if-if-or-not_binary64_5792 if-if-or_binary64_5791 if-not_binary64_5790 if-same_binary64_5789 if-false_binary64_5788 if-true_binary64_5787 tan-0_binary64_5663 cos-0_binary64_5662 sin-0_binary64_5661 unpow1_binary64_5592 e-exp-1_binary64_5579 1-exp_binary64_5578 exp-1-e_binary64_5577 exp-0_binary64_5576 sqr-abs_binary64_5549 sqr-neg_binary64_5548 neg-mul-1_binary64_5530 neg-sub0_binary64_5529 unsub-neg_binary64_5528 sub-neg_binary64_5527 mul-1-neg_binary64_5526 /-rgt-identity_binary64_5525 *-rgt-identity_binary64_5524 *-lft-identity_binary64_5523 remove-double-neg_binary64_5522 sub0-neg_binary64_5521 --rgt-identity_binary64_5520 +-rgt-identity_binary64_5519 +-lft-identity_binary64_5518 cancel-sign-sub-inv_binary64_5500 cancel-sign-sub_binary64_5499 distribute-neg-frac_binary64_5498 distribute-frac-neg_binary64_5497 distribute-neg-out_binary64_5496 distribute-neg-in_binary64_5495 distribute-rgt-neg-out_binary64_5494 distribute-lft-neg-out_binary64_5493 distribute-rgt-neg-in_binary64_5492 distribute-lft-neg-in_binary64_5491 *-commutative_binary64_5465 +-commutative_binary64_5464
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
Proof
(/ f64 h0 (/ f64 h1 (sin f64 h1)))

end0.0ms (0%)

sample1.5s (25.2%)

Algorithm
intervals
Results
236.0ms5348×body128valid
235.0ms1330×body1024valid
112.0ms842×body512valid
40.0ms472×body256valid
3.0msbody2048valid
Compiler

Compiled 573 to 380 computations (33.7% saved)

Profiling

Loading profile data...