Details

Time bar (total: 8.7s)

analyze256.0ms (2.9%)

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
37.4%62.4%0.1%6
49.9%49.9%0.1%7
62.4%37.4%0.1%8
62.4%37.4%0.1%9
71.8%28.1%0.1%10
79.6%20.3%0.1%11
79.6%20.3%0.1%12
85%14.8%0.1%13
89.3%10.5%0.1%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample46.0ms (0.5%)

Algorithm
intervals
Results
14.0ms54×body1024valid
10.0ms146×body128valid
9.0ms47×body512valid
1.0msbody256valid
Compiler

Compiled 19 to 20 computations (-5.3% saved)

simplify851.0ms (9.7%)

Algorithm
egg-herbie
Rules
514×exp-prod_binary64_5586
474×swap-sqr_binary64_5501
350×distribute-rgt-neg-in_binary64_5492
306×sub-neg_binary64_5527
305×exp-sum_binary64_5580
298×*-commutative_binary64_5465
262×distribute-rgt-in_binary64_5484
247×neg-mul-1_binary64_5530
244×neg-sub0_binary64_5529
195×unsub-neg_binary64_5528
174×pow-plus_binary64_5597
166×distribute-rgt-out_binary64_5487
161×associate-*r*_binary64_5474
159×associate-+l+_binary64_5467
154×distribute-rgt1-in_binary64_5490
143×distribute-lft-in_binary64_5483
139×distribute-lft-neg-in_binary64_5491
130×associate--r+_binary64_5470
128×distribute-rgt-out--_binary64_5488
118×associate-+r+_binary64_5466
99×associate--l+_binary64_5471
97×cancel-sign-sub-inv_binary64_5500
94×exp-diff_binary64_5582 associate-*l*_binary64_5475
88×associate-+l-_binary64_5469
74×+-commutative_binary64_5464
60×distribute-lft-out_binary64_5485
57×associate-+r-_binary64_5468
56×distribute-lft-out--_binary64_5486
40×associate--r-_binary64_5473
33×associate--l-_binary64_5472
28×distribute-lft-neg-out_binary64_5493
25×sqr-neg_binary64_5548
19×distribute-neg-in_binary64_5495 distribute-rgt-neg-out_binary64_5494
17×exp-lft-sqr_binary64_5589
14×distribute-lft1-in_binary64_5489
12×exp-neg_binary64_5581
11×+-inverses_binary64_5513 count-2_binary64_5482
mul0-lft_binary64_5516
cube-prod_binary64_5562 remove-double-neg_binary64_5522 distribute-neg-out_binary64_5496
cube-unmult_binary64_5571 sub0-neg_binary64_5521 mul0-rgt_binary64_5517
div-sub_binary64_5539 --rgt-identity_binary64_5520 +-rgt-identity_binary64_5519 +-lft-identity_binary64_5518
cube-neg_binary64_5561 difference-of-squares_binary64_5503 unswap-sqr_binary64_5502
sub-1-sin_binary64_5634 -1-add-sin_binary64_5632 1-sub-sin_binary64_5630 1-exp_binary64_5578
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-cos_binary64_5633 -1-add-cos_binary64_5631 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 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-cbrt_binary64_5588 exp-sqrt_binary64_5587 div-exp_binary64_5585 rec-exp_binary64_5584 prod-exp_binary64_5583 e-exp-1_binary64_5579 exp-1-e_binary64_5577 exp-0_binary64_5576 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 cube-mult_binary64_5564 cube-div_binary64_5563 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-sqrt-square_binary64_5547 rem-square-sqrt_binary64_5546 times-frac_binary64_5540 mul-1-neg_binary64_5526 /-rgt-identity_binary64_5525 *-rgt-identity_binary64_5524 *-lft-identity_binary64_5523 div0_binary64_5515 *-inverses_binary64_5514 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 cancel-sign-sub_binary64_5499 distribute-neg-frac_binary64_5498 distribute-frac-neg_binary64_5497 associate-/l/_binary64_5481 associate-/r/_binary64_5480 associate-/l*_binary64_5479 associate-/r*_binary64_5478 associate-*l/_binary64_5477 associate-*r/_binary64_5476
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11614
22614
33814
45914
58114
616614
7114014
8364914

prune2.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 9 to 8 computations (11.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sin.f64 y)
0.0b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.1b
(*.f64 x (cos.f64 y))

rewrite74.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
12×add-sqr-sqrt_binary64_5556
pow1_binary64_5595 add-exp-log_binary64_5572 add-cbrt-cube_binary64_5570 add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
add-log-exp_binary64_5573 associate-*l*_binary64_5475 associate-*r*_binary64_5474
pow-prod-down_binary64_5605 prod-exp_binary64_5583 cbrt-unprod_binary64_5567 unswap-sqr_binary64_5502 *-commutative_binary64_5465
diff-log_binary64_5626 flip3--_binary64_5538 sub-neg_binary64_5527 flip--_binary64_5509 cancel-sign-sub-inv_binary64_5500
Counts
4 → 55
Calls

4 calls:

4.0ms
(*.f64 x (cos.f64 y))
4.0ms
(*.f64 z (sin.f64 y))
4.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
(sin.f64 y)
Compiler

Compiled 833 to 203 computations (75.6% saved)

series580.0ms (6.6%)

Error
0.1b
Counts
4 → 38
Calls

4 calls:

336.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
104.0ms
(*.f64 x (cos.f64 y))
99.0ms
(*.f64 z (sin.f64 y))
14.0ms
(sin.f64 y)
Compiler

Compiled 960 to 620 computations (35.4% saved)

simplify179.0ms (2%)

Algorithm
egg-herbie
Rules
375×cancel-sign-sub-inv_binary64_5500
244×distribute-rgt-neg-in_binary64_5492
235×times-frac_binary64_5540
204×distribute-lft-neg-in_binary64_5491
183×*-commutative_binary64_5465
181×distribute-rgt-in_binary64_5484
150×distribute-lft-in_binary64_5483
140×associate-/r*_binary64_5478
133×sub-neg_binary64_5527
124×associate-*l*_binary64_5475
121×associate-/l*_binary64_5479
120×associate-*r*_binary64_5474
112×associate-/r/_binary64_5480
111×exp-prod_binary64_5586
101×associate-+l-_binary64_5469
94×sqr-pow_binary64_5506
70×associate-+r+_binary64_5466
69×+-commutative_binary64_5464
67×neg-mul-1_binary64_5530 neg-sub0_binary64_5529
66×log-prod_binary64_5620 unswap-sqr_binary64_5502
62×associate-+r-_binary64_5468
59×exp-sum_binary64_5580 associate-+l+_binary64_5467
53×associate--l-_binary64_5472
50×distribute-rgt-out_binary64_5487 associate-*r/_binary64_5476
48×pow-sqr_binary64_5507
46×log-div_binary64_5621
45×cube-div_binary64_5563 associate-*l/_binary64_5477
44×distribute-neg-frac_binary64_5498
41×exp-sqrt_binary64_5587
39×distribute-lft-neg-out_binary64_5493
38×unsub-neg_binary64_5528 associate--l+_binary64_5471
37×distribute-lft-out_binary64_5485
36×difference-of-squares_binary64_5503
32×distribute-rgt-out--_binary64_5488
30×associate-/l/_binary64_5481
28×exp-lft-sqr_binary64_5589 exp-diff_binary64_5582 distribute-lft-out--_binary64_5486
26×unpow3_binary64_5600
23×*-rgt-identity_binary64_5524 associate--r+_binary64_5470
22×cube-prod_binary64_5562 distribute-rgt-neg-out_binary64_5494
21×cube-mult_binary64_5564 swap-sqr_binary64_5501
20×*-lft-identity_binary64_5523
15×+-rgt-identity_binary64_5519
14×sub0-neg_binary64_5521
12×pow-plus_binary64_5597
exp-to-pow_binary64_5596
mul0-rgt_binary64_5517 mul0-lft_binary64_5516
log-pow_binary64_5623 distribute-neg-in_binary64_5495 distribute-rgt1-in_binary64_5490
cancel-sign-sub_binary64_5499
exp-neg_binary64_5581
pow-base-1_binary64_5594 cube-unmult_binary64_5571 associate--r-_binary64_5473
div-exp_binary64_5585 count-2_binary64_5482
log-rec_binary64_5622 unpow2_binary64_5599 unpow1_binary64_5592 prod-exp_binary64_5583 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 sqr-neg_binary64_5548 *-inverses_binary64_5514 rgt-mult-inverse_binary64_5511
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 rec-exp_binary64_5584 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-sqrt-square_binary64_5547 rem-square-sqrt_binary64_5546 div-sub_binary64_5539 mul-1-neg_binary64_5526 /-rgt-identity_binary64_5525 remove-double-neg_binary64_5522 --rgt-identity_binary64_5520 +-lft-identity_binary64_5518 div0_binary64_5515 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 remove-double-div_binary64_5510 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 distribute-frac-neg_binary64_5497 distribute-neg-out_binary64_5496 distribute-lft1-in_binary64_5489
Counts
93 → 87
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01201041
12831005
2856990
31772987
44559987

prune108.0ms (1.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New80787
Fresh000
Picked101
Done000
Total81788
Error
0.0b
Counts
88 → 7
Compiler

Compiled 1800 to 502 computations (72.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (*.f64 z (cbrt.f64 (sin.f64 y))) (cbrt.f64 (sin.f64 y)))
0.6b
(cbrt.f64 (sin.f64 y))
0.6b
(cbrt.f64 (sin.f64 y))
0.6b
(cbrt.f64 (sin.f64 y))

rewrite80.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
12×cbrt-prod_binary64_5565
pow1_binary64_5595 add-exp-log_binary64_5572 add-cube-cbrt_binary64_5569 add-sqr-sqrt_binary64_5556 *-un-lft-identity_binary64_5534
add-cbrt-cube_binary64_5570 associate-*r*_binary64_5474
add-log-exp_binary64_5573
pow1/3_binary64_5616 pow-prod-down_binary64_5605 prod-exp_binary64_5583 cbrt-unprod_binary64_5567
associate-*l*_binary64_5475 *-commutative_binary64_5465
Counts
4 → 54
Calls

4 calls:

8.0ms
(*.f64 (*.f64 z (cbrt.f64 (sin.f64 y))) (cbrt.f64 (sin.f64 y)))
2.0ms
(cbrt.f64 (sin.f64 y))
1.0ms
(cbrt.f64 (sin.f64 y))
1.0ms
(cbrt.f64 (sin.f64 y))
Compiler

Compiled 1262 to 247 computations (80.4% saved)

series746.0ms (8.5%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

380.0ms
(*.f64 (*.f64 z (cbrt.f64 (sin.f64 y))) (cbrt.f64 (sin.f64 y)))
120.0ms
(cbrt.f64 (sin.f64 y))
119.0ms
(cbrt.f64 (sin.f64 y))
107.0ms
(cbrt.f64 (sin.f64 y))
Compiler

Compiled 1021 to 644 computations (36.9% saved)

simplify321.0ms (3.7%)

Algorithm
egg-herbie
Rules
519×associate-*l/_binary64_5477
515×associate-*r/_binary64_5476
423×distribute-rgt-in_binary64_5484
387×distribute-lft-in_binary64_5483
188×*-commutative_binary64_5465
173×sqr-pow_binary64_5506
166×times-frac_binary64_5540
128×unswap-sqr_binary64_5502
119×log-div_binary64_5621
115×log-prod_binary64_5620
114×associate-*l*_binary64_5475
94×cube-div_binary64_5563
93×pow-sqr_binary64_5507
83×exp-sqrt_binary64_5587 exp-prod_binary64_5586 associate-*r*_binary64_5474
82×distribute-rgt-out_binary64_5487
79×associate-/r*_binary64_5478
75×associate-/l*_binary64_5479
65×cube-prod_binary64_5562
60×distribute-lft-out_binary64_5485 associate-/r/_binary64_5480
48×swap-sqr_binary64_5501
42×*-rgt-identity_binary64_5524
40×*-lft-identity_binary64_5523
34×sub-neg_binary64_5527 /-rgt-identity_binary64_5525
33×associate-+l+_binary64_5467
27×associate-/l/_binary64_5481
26×cancel-sign-sub-inv_binary64_5500 associate-+r+_binary64_5466
23×log-pow_binary64_5623
21×distribute-rgt1-in_binary64_5490
18×pow-plus_binary64_5597
14×exp-lft-sqr_binary64_5589
13×rem-sqrt-square_binary64_5547
10×unpow3_binary64_5600 neg-mul-1_binary64_5530 distribute-rgt-neg-in_binary64_5492 +-commutative_binary64_5464
cube-unmult_binary64_5571 neg-sub0_binary64_5529
cube-mult_binary64_5564 distribute-lft1-in_binary64_5489 associate-+l-_binary64_5469
distribute-lft-neg-in_binary64_5491 count-2_binary64_5482
distribute-neg-in_binary64_5495 associate-+r-_binary64_5468
unpow1/3_binary64_5601
unsub-neg_binary64_5528 mul0-lft_binary64_5516 associate--l-_binary64_5472
exp-sum_binary64_5580 distribute-lft-neg-out_binary64_5493
log-rec_binary64_5622 unpow2_binary64_5599 unpow1_binary64_5592 prod-exp_binary64_5583 exp-diff_binary64_5582 rem-cbrt-cube_binary64_5558 div-sub_binary64_5539 +-rgt-identity_binary64_5519 mul0-rgt_binary64_5517
pow-base-1_binary64_5594 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-exp-log_binary64_5574 rem-3cbrt-lft_binary64_5559 sub0-neg_binary64_5521 +-lft-identity_binary64_5518 *-inverses_binary64_5514 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/2_binary64_5598 exp-to-pow_binary64_5596 unpow0_binary64_5593 unpow-1_binary64_5591 exp-lft-cube_binary64_5590 exp-cbrt_binary64_5588 div-exp_binary64_5585 rec-exp_binary64_5584 exp-neg_binary64_5581 e-exp-1_binary64_5579 exp-0_binary64_5576 cube-neg_binary64_5561 rem-3cbrt-rft_binary64_5560 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 div0_binary64_5515 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 rgt-mult-inverse_binary64_5511 remove-double-div_binary64_5510 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 distribute-neg-frac_binary64_5498 distribute-frac-neg_binary64_5497 distribute-neg-out_binary64_5496 distribute-rgt-neg-out_binary64_5494 distribute-rgt-out--_binary64_5488 distribute-lft-out--_binary64_5486 associate--r-_binary64_5473 associate--l+_binary64_5471 associate--r+_binary64_5470
Counts
72 → 130
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
060882
1148738
2489729
3857715
43143699

prune171.0ms (2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1291130
Fresh066
Picked011
Done000
Total1298137
Error
0.0b
Counts
137 → 8
Compiler

Compiled 3517 to 1178 computations (66.5% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
0.5b
(cbrt.f64 z)
0.5b
(cbrt.f64 z)
0.5b
(cbrt.f64 z)

rewrite92.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×cbrt-prod_binary64_5565
23×add-sqr-sqrt_binary64_5556
15×add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
11×pow1_binary64_5595
pow1/3_binary64_5616
add-exp-log_binary64_5572 swap-sqr_binary64_5501 associate-*l*_binary64_5475 associate-*r*_binary64_5474
add-log-exp_binary64_5573 add-cbrt-cube_binary64_5570 unswap-sqr_binary64_5502
pow-prod-down_binary64_5605 pow-prod-up_binary64_5604 pow-sqr_binary64_5507
pow2_binary64_5615 pow-plus_binary64_5597 prod-exp_binary64_5583 cbrt-unprod_binary64_5567 *-commutative_binary64_5465
Counts
4 → 73
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1524 to 318 computations (79.1% saved)

series500.0ms (5.7%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

144.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
123.0ms
(cbrt.f64 z)
112.0ms
(cbrt.f64 z)
110.0ms
(cbrt.f64 z)
Compiler

Compiled 663 to 450 computations (32.1% saved)

simplify347.0ms (4%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_5620
427×log-div_binary64_5621
416×associate-/l*_binary64_5479
347×associate-*l*_binary64_5475
293×associate-/r*_binary64_5478
231×associate-*r*_binary64_5474
203×*-commutative_binary64_5465
184×associate-/r/_binary64_5480
150×distribute-rgt-neg-in_binary64_5492
144×distribute-lft-neg-in_binary64_5491
140×exp-prod_binary64_5586
128×distribute-rgt-in_binary64_5484
123×unswap-sqr_binary64_5502
112×cube-prod_binary64_5562
95×distribute-lft-in_binary64_5483
86×swap-sqr_binary64_5501
80×associate-/l/_binary64_5481
77×sqr-pow_binary64_5506
55×log-pow_binary64_5623 distribute-rgt-out_binary64_5487
52×times-frac_binary64_5540
47×cancel-sign-sub-inv_binary64_5500
42×associate-+l+_binary64_5467
39×associate-+r+_binary64_5466
38×associate-*l/_binary64_5477
37×pow-sqr_binary64_5507
30×distribute-lft-out_binary64_5485
29×cube-div_binary64_5563
28×distribute-neg-frac_binary64_5498
24×log-rec_binary64_5622 *-rgt-identity_binary64_5524
23×*-lft-identity_binary64_5523
22×pow-plus_binary64_5597
21×associate-*r/_binary64_5476
19×exp-sqrt_binary64_5587
18×rem-sqrt-square_binary64_5547
15×cube-unmult_binary64_5571
13×neg-mul-1_binary64_5530 neg-sub0_binary64_5529
12×associate-+l-_binary64_5469
exp-lft-sqr_binary64_5589 distribute-rgt-neg-out_binary64_5494 distribute-lft-neg-out_binary64_5493
distribute-rgt1-in_binary64_5490 count-2_binary64_5482
unpow3_binary64_5600 associate--l-_binary64_5472 associate--l+_binary64_5471
associate-+r-_binary64_5468 +-commutative_binary64_5464
div-exp_binary64_5585 prod-exp_binary64_5583 distribute-rgt-out--_binary64_5488
unpow1/3_binary64_5601 unpow2_binary64_5599 sub-neg_binary64_5527 distribute-lft-out--_binary64_5486
unpow1_binary64_5592 rec-exp_binary64_5584 exp-sum_binary64_5580 cube-mult_binary64_5564 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 /-rgt-identity_binary64_5525 distribute-lft1-in_binary64_5489
pow-base-1_binary64_5594 exp-diff_binary64_5582 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-3cbrt-rft_binary64_5560 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 mul0-lft_binary64_5516 *-inverses_binary64_5514 distribute-neg-out_binary64_5496
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/2_binary64_5598 exp-to-pow_binary64_5596 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 rem-exp-log_binary64_5574 cube-neg_binary64_5561 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 div-sub_binary64_5539 unsub-neg_binary64_5528 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 div0_binary64_5515 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 rgt-mult-inverse_binary64_5511 remove-double-div_binary64_5510 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 cancel-sign-sub_binary64_5499 distribute-frac-neg_binary64_5497 distribute-neg-in_binary64_5495 associate--r-_binary64_5473 associate--r+_binary64_5470
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune91.0ms (1%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New83083
Fresh066
Picked011
Done011
Total83891
Error
0.0b
Counts
91 → 8
Compiler

Compiled 1872 to 463 computations (75.3% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite93.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×cbrt-prod_binary64_5565
23×add-sqr-sqrt_binary64_5556
15×add-cube-cbrt_binary64_5569 *-un-lft-identity_binary64_5534
11×pow1_binary64_5595
pow1/3_binary64_5616
add-exp-log_binary64_5572 swap-sqr_binary64_5501 associate-*l*_binary64_5475 associate-*r*_binary64_5474
add-log-exp_binary64_5573 add-cbrt-cube_binary64_5570 unswap-sqr_binary64_5502
pow-prod-down_binary64_5605 pow-prod-up_binary64_5604 pow-sqr_binary64_5507
pow2_binary64_5615 pow-plus_binary64_5597 prod-exp_binary64_5583 cbrt-unprod_binary64_5567 *-commutative_binary64_5465
Counts
4 → 73
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1524 to 318 computations (79.1% saved)

series549.0ms (6.3%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

162.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
132.0ms
(cbrt.f64 x)
121.0ms
(cbrt.f64 x)
120.0ms
(cbrt.f64 x)
Compiler

Compiled 663 to 450 computations (32.1% saved)

simplify347.0ms (4%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_5620
427×log-div_binary64_5621
416×associate-/l*_binary64_5479
347×associate-*l*_binary64_5475
293×associate-/r*_binary64_5478
231×associate-*r*_binary64_5474
203×*-commutative_binary64_5465
184×associate-/r/_binary64_5480
150×distribute-rgt-neg-in_binary64_5492
144×distribute-lft-neg-in_binary64_5491
140×exp-prod_binary64_5586
128×distribute-rgt-in_binary64_5484
123×unswap-sqr_binary64_5502
112×cube-prod_binary64_5562
95×distribute-lft-in_binary64_5483
86×swap-sqr_binary64_5501
80×associate-/l/_binary64_5481
77×sqr-pow_binary64_5506
55×log-pow_binary64_5623 distribute-rgt-out_binary64_5487
52×times-frac_binary64_5540
47×cancel-sign-sub-inv_binary64_5500
42×associate-+l+_binary64_5467
39×associate-+r+_binary64_5466
38×associate-*l/_binary64_5477
37×pow-sqr_binary64_5507
30×distribute-lft-out_binary64_5485
29×cube-div_binary64_5563
28×distribute-neg-frac_binary64_5498
24×log-rec_binary64_5622 *-rgt-identity_binary64_5524
23×*-lft-identity_binary64_5523
22×pow-plus_binary64_5597
21×associate-*r/_binary64_5476
19×exp-sqrt_binary64_5587
18×rem-sqrt-square_binary64_5547
15×cube-unmult_binary64_5571
13×neg-mul-1_binary64_5530 neg-sub0_binary64_5529
12×associate-+l-_binary64_5469
exp-lft-sqr_binary64_5589 distribute-rgt-neg-out_binary64_5494 distribute-lft-neg-out_binary64_5493
distribute-rgt1-in_binary64_5490 count-2_binary64_5482
unpow3_binary64_5600 associate--l-_binary64_5472 associate--l+_binary64_5471
associate-+r-_binary64_5468 +-commutative_binary64_5464
div-exp_binary64_5585 prod-exp_binary64_5583 distribute-rgt-out--_binary64_5488
unpow1/3_binary64_5601 unpow2_binary64_5599 sub-neg_binary64_5527 distribute-lft-out--_binary64_5486
unpow1_binary64_5592 rec-exp_binary64_5584 exp-sum_binary64_5580 cube-mult_binary64_5564 rem-3cbrt-lft_binary64_5559 rem-cbrt-cube_binary64_5558 /-rgt-identity_binary64_5525 distribute-lft1-in_binary64_5489
pow-base-1_binary64_5594 exp-diff_binary64_5582 1-exp_binary64_5578 exp-1-e_binary64_5577 rem-log-exp_binary64_5575 rem-3cbrt-rft_binary64_5560 rem-square-sqrt_binary64_5546 mul-1-neg_binary64_5526 mul0-lft_binary64_5516 *-inverses_binary64_5514 distribute-neg-out_binary64_5496
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/2_binary64_5598 exp-to-pow_binary64_5596 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 rem-exp-log_binary64_5574 cube-neg_binary64_5561 rem-cube-cbrt_binary64_5557 sqr-abs_binary64_5549 sqr-neg_binary64_5548 div-sub_binary64_5539 unsub-neg_binary64_5528 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 div0_binary64_5515 +-inverses_binary64_5513 lft-mult-inverse_binary64_5512 rgt-mult-inverse_binary64_5511 remove-double-div_binary64_5510 difference-of-sqr--1_binary64_5505 difference-of-sqr-1_binary64_5504 difference-of-squares_binary64_5503 cancel-sign-sub_binary64_5499 distribute-frac-neg_binary64_5497 distribute-neg-in_binary64_5495 associate--r-_binary64_5473 associate--r+_binary64_5470
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune87.0ms (1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New79483
Fresh235
Picked101
Done022
Total82991
Error
0.0b
Counts
91 → 9
Compiler

Compiled 1745 to 386 computations (77.9% saved)

regimes559.0ms (6.4%)

Accuracy

Total 0.1b remaining (83.4%)

Threshold costs 0.1b (83.4%)

Compiler

Compiled 5016 to 3462 computations (31% saved)

bsearch0.0ms (0%)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_5465
sub-neg_binary64_5527 +-commutative_binary64_5464
neg-mul-1_binary64_5530 neg-sub0_binary64_5529
cancel-sign-sub-inv_binary64_5500 distribute-rgt-neg-in_binary64_5492
distribute-lft-neg-out_binary64_5493 distribute-lft-neg-in_binary64_5491
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 unsub-neg_binary64_5528 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_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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11614
22614
33214
43614
53714
Proof
(- f64 (* f64 h0 (cos f64 h1)) (* f64 h2 (sin f64 h1)))

end0.0ms (0%)

sample2.6s (29.8%)

Algorithm
intervals
Results
546.0ms1952×body1024valid
305.0ms4508×body128valid
209.0ms1040×body512valid
66.0ms495×body256valid
2.0msbody2048valid
Compiler

Compiled 1267 to 877 computations (30.8% saved)

Profiling

Loading profile data...