Details

Time bar (total: 9.5s)

analyze341.0ms (3.6%)

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
12.5%87.4%0.1%4
18.7%81.1%0.1%5
18.7%81.1%0.1%6
21.8%78%0.1%7
27.3%61.6%11.1%8
28.5%60.5%11.1%9
32.6%53.4%14%10
40.2%38.1%21.7%11
41.8%35.8%22.4%12
44.5%29.2%26.3%13
47.1%21.3%31.6%14
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample37.0ms (0.4%)

Algorithm
intervals
Results
11.0ms256×body128valid
8.0ms264×body128invalid
Compiler

Compiled 17 to 18 computations (-5.9% saved)

simplify604.0ms (6.4%)

Algorithm
egg-herbie
Rules
646×exp-prod_binary64_21613
473×associate-/l/_binary64_21508
376×distribute-rgt-out_binary64_21514
370×distribute-rgt-neg-in_binary64_21519
367×distribute-rgt-out--_binary64_21515
249×div-sub_binary64_21566
244×sub-neg_binary64_21554
231×times-frac_binary64_21567
219×*-commutative_binary64_21492
213×associate-/l*_binary64_21506
189×associate-*r*_binary64_21501
186×associate-*l*_binary64_21502
157×associate-*l/_binary64_21504
122×distribute-lft-out_binary64_21512 associate-*r/_binary64_21503
120×distribute-rgt-in_binary64_21511
115×distribute-lft-out--_binary64_21513
106×associate-/r*_binary64_21505
96×distribute-lft-in_binary64_21510
95×unsub-neg_binary64_21555 unswap-sqr_binary64_21529
69×*-lft-identity_binary64_21550
63×associate-/r/_binary64_21507
61×distribute-lft-neg-in_binary64_21518
58×*-rgt-identity_binary64_21551
56×cancel-sign-sub-inv_binary64_21527
50×sqr-pow_binary64_21533
49×exp-sum_binary64_21607
33×pow-sqr_binary64_21534
26×div0_binary64_21542
21×distribute-neg-out_binary64_21523 distribute-neg-in_binary64_21522
20×neg-mul-1_binary64_21557 neg-sub0_binary64_21556 distribute-rgt1-in_binary64_21517
17×/-rgt-identity_binary64_21552 +-inverses_binary64_21540
14×pow-plus_binary64_21624 mul0-rgt_binary64_21544 mul0-lft_binary64_21543
11×exp-diff_binary64_21609 cube-prod_binary64_21589 associate-+l+_binary64_21494
cube-unmult_binary64_21598
exp-lft-sqr_binary64_21616 difference-of-squares_binary64_21530 associate-+r+_binary64_21493
remove-double-neg_binary64_21549 distribute-neg-frac_binary64_21525 +-commutative_binary64_21491
distribute-lft-neg-out_binary64_21520
pow-base-1_binary64_21621 exp-sqrt_binary64_21614 prod-exp_binary64_21610 exp-neg_binary64_21608 cube-div_binary64_21590 sub0-neg_binary64_21548 difference-of-sqr--1_binary64_21532 count-2_binary64_21509 associate-+l-_binary64_21496
cosh-def_binary64_21747 div-exp_binary64_21612 1-exp_binary64_21605 exp-1-e_binary64_21604 --rgt-identity_binary64_21547 +-rgt-identity_binary64_21546 +-lft-identity_binary64_21545 *-inverses_binary64_21541 distribute-frac-neg_binary64_21524 distribute-lft1-in_binary64_21516 associate--l-_binary64_21499 associate--r+_binary64_21497 associate-+r-_binary64_21495
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_21824 erf-erfc_binary64_21823 erf-odd_binary64_21822 if-if-and-not_binary64_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 not-gte_binary64_21813 not-lte_binary64_21812 not-gt_binary64_21811 not-lt_binary64_21810 gte-same_binary64_21809 lte-same_binary64_21808 gt-same_binary64_21807 lt-same_binary64_21806 sinh---cosh_binary64_21753 sinh-+-cosh_binary64_21752 sinh-cosh_binary64_21751 tanh-def-c_binary64_21750 tanh-def-b_binary64_21749 tanh-def-a_binary64_21748 sinh-def_binary64_21746 tan-neg_binary64_21693 cos-neg_binary64_21692 sin-neg_binary64_21691 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 hang-m-tan_binary64_21687 hang-p-tan_binary64_21686 hang-m0-tan_binary64_21685 hang-p0-tan_binary64_21684 hang-0m-tan_binary64_21683 hang-0p-tan_binary64_21682 tan-+PI/2_binary64_21681 tan-+PI_binary64_21680 tan-PI_binary64_21679 tan-PI/3_binary64_21678 tan-PI/4_binary64_21677 tan-PI/6_binary64_21676 cos-+PI/2_binary64_21675 cos-+PI_binary64_21674 cos-PI_binary64_21673 cos-PI/2_binary64_21672 cos-PI/3_binary64_21671 cos-PI/4_binary64_21670 cos-PI/6_binary64_21669 sin-+PI/2_binary64_21668 sin-+PI_binary64_21667 sin-PI_binary64_21666 sin-PI/2_binary64_21665 sin-PI/3_binary64_21664 sin-PI/4_binary64_21663 sin-PI/6_binary64_21662 sub-1-sin_binary64_21661 sub-1-cos_binary64_21660 -1-add-sin_binary64_21659 -1-add-cos_binary64_21658 1-sub-sin_binary64_21657 1-sub-cos_binary64_21656 cos-sin-sum_binary64_21655 log-E_binary64_21651 log-pow_binary64_21650 log-rec_binary64_21649 log-div_binary64_21648 log-prod_binary64_21647 pow-base-0_binary64_21645 unpow1/3_binary64_21628 unpow3_binary64_21627 unpow2_binary64_21626 unpow1/2_binary64_21625 exp-to-pow_binary64_21623 unpow0_binary64_21620 unpow1_binary64_21619 unpow-1_binary64_21618 exp-lft-cube_binary64_21617 exp-cbrt_binary64_21615 rec-exp_binary64_21611 e-exp-1_binary64_21606 exp-0_binary64_21603 rem-log-exp_binary64_21602 rem-exp-log_binary64_21601 cube-mult_binary64_21591 cube-neg_binary64_21588 rem-3cbrt-rft_binary64_21587 rem-3cbrt-lft_binary64_21586 rem-cbrt-cube_binary64_21585 rem-cube-cbrt_binary64_21584 sqr-abs_binary64_21576 sqr-neg_binary64_21575 rem-sqrt-square_binary64_21574 rem-square-sqrt_binary64_21573 mul-1-neg_binary64_21553 lft-mult-inverse_binary64_21539 rgt-mult-inverse_binary64_21538 remove-double-div_binary64_21537 difference-of-sqr-1_binary64_21531 swap-sqr_binary64_21528 cancel-sign-sub_binary64_21526 distribute-rgt-neg-out_binary64_21521 associate--r-_binary64_21500 associate--l+_binary64_21498
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11912
24512
310512
421912
535212
660712
7175312
8359812

prune17.0ms (0.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New145
Fresh011
Picked000
Done000
Total156
Error
0.0b
Counts
6 → 5
Compiler

Compiled 80 to 53 computations (33.8% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 x z)))
6.1b
(/.f64 y (*.f64 x z))

rewrite48.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×add-exp-log_binary64_21599 add-cbrt-cube_binary64_21597
add-sqr-sqrt_binary64_21583
add-cube-cbrt_binary64_21596 *-un-lft-identity_binary64_21561 associate-*r*_binary64_21501
times-frac_binary64_21567
prod-exp_binary64_21610 cbrt-unprod_binary64_21594
pow1_binary64_21622 div-exp_binary64_21612 cbrt-undiv_binary64_21595
associate-/l*_binary64_21506 associate-*l*_binary64_21502
add-log-exp_binary64_21600 div-inv_binary64_21558 cosh-def_binary64_21747
frac-2neg_binary64_21572 clear-num_binary64_21560 associate-/r*_binary64_21505 pow-prod-down_binary64_21632 frac-times_binary64_21571 unswap-sqr_binary64_21529 associate-*l/_binary64_21504 associate-*r/_binary64_21503 *-commutative_binary64_21492
Counts
2 → 50
Calls

2 calls:

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

Compiled 720 to 172 computations (76.1% saved)

series617.0ms (6.5%)

Error
0.0b
Counts
2 → 20
Calls

2 calls:

444.0ms
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 x z)))
159.0ms
(/.f64 y (*.f64 x z))
Compiler

Compiled 724 to 475 computations (34.4% saved)

simplify171.0ms (1.8%)

Algorithm
egg-herbie
Rules
838×times-frac_binary64_21567
517×associate-*l/_binary64_21504
507×associate-*r/_binary64_21503
478×associate-/l*_binary64_21506
467×associate-*l*_binary64_21502
407×associate-*r*_binary64_21501
374×associate-/r*_binary64_21505
133×associate-/l/_binary64_21508
79×associate-/r/_binary64_21507
53×*-commutative_binary64_21492
37×distribute-lft-in_binary64_21510
36×distribute-rgt-in_binary64_21511
21×sub-neg_binary64_21554
19×log-prod_binary64_21647
18×sqr-pow_binary64_21533
16×log-div_binary64_21648 exp-prod_binary64_21613
14×*-lft-identity_binary64_21550
13×cube-div_binary64_21590
12×cube-prod_binary64_21589 *-rgt-identity_binary64_21551
11×+-commutative_binary64_21491
10×swap-sqr_binary64_21528
neg-mul-1_binary64_21557 neg-sub0_binary64_21556
cube-unmult_binary64_21598
exp-sqrt_binary64_21614 pow-sqr_binary64_21534 associate--r+_binary64_21497
exp-sum_binary64_21607 unswap-sqr_binary64_21529 distribute-rgt-out_binary64_21514 associate-+l+_binary64_21494
unsub-neg_binary64_21555 distribute-neg-in_binary64_21522 distribute-rgt-neg-in_binary64_21519 distribute-lft-neg-in_binary64_21518 distribute-lft-out_binary64_21512 associate-+l-_binary64_21496 associate-+r-_binary64_21495 associate-+r+_binary64_21493
cosh-def_binary64_21747 unpow3_binary64_21627 prod-exp_binary64_21610 exp-neg_binary64_21608 1-exp_binary64_21605 exp-1-e_binary64_21604 rem-log-exp_binary64_21602 cube-mult_binary64_21591 /-rgt-identity_binary64_21552 cancel-sign-sub-inv_binary64_21527
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_21824 erf-erfc_binary64_21823 erf-odd_binary64_21822 if-if-and-not_binary64_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 not-gte_binary64_21813 not-lte_binary64_21812 not-gt_binary64_21811 not-lt_binary64_21810 gte-same_binary64_21809 lte-same_binary64_21808 gt-same_binary64_21807 lt-same_binary64_21806 sinh---cosh_binary64_21753 sinh-+-cosh_binary64_21752 sinh-cosh_binary64_21751 tanh-def-c_binary64_21750 tanh-def-b_binary64_21749 tanh-def-a_binary64_21748 sinh-def_binary64_21746 tan-neg_binary64_21693 cos-neg_binary64_21692 sin-neg_binary64_21691 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 hang-m-tan_binary64_21687 hang-p-tan_binary64_21686 hang-m0-tan_binary64_21685 hang-p0-tan_binary64_21684 hang-0m-tan_binary64_21683 hang-0p-tan_binary64_21682 tan-+PI/2_binary64_21681 tan-+PI_binary64_21680 tan-PI_binary64_21679 tan-PI/3_binary64_21678 tan-PI/4_binary64_21677 tan-PI/6_binary64_21676 cos-+PI/2_binary64_21675 cos-+PI_binary64_21674 cos-PI_binary64_21673 cos-PI/2_binary64_21672 cos-PI/3_binary64_21671 cos-PI/4_binary64_21670 cos-PI/6_binary64_21669 sin-+PI/2_binary64_21668 sin-+PI_binary64_21667 sin-PI_binary64_21666 sin-PI/2_binary64_21665 sin-PI/3_binary64_21664 sin-PI/4_binary64_21663 sin-PI/6_binary64_21662 sub-1-sin_binary64_21661 sub-1-cos_binary64_21660 -1-add-sin_binary64_21659 -1-add-cos_binary64_21658 1-sub-sin_binary64_21657 1-sub-cos_binary64_21656 cos-sin-sum_binary64_21655 log-E_binary64_21651 log-pow_binary64_21650 log-rec_binary64_21649 pow-base-0_binary64_21645 unpow1/3_binary64_21628 unpow2_binary64_21626 unpow1/2_binary64_21625 pow-plus_binary64_21624 exp-to-pow_binary64_21623 pow-base-1_binary64_21621 unpow0_binary64_21620 unpow1_binary64_21619 unpow-1_binary64_21618 exp-lft-cube_binary64_21617 exp-lft-sqr_binary64_21616 exp-cbrt_binary64_21615 div-exp_binary64_21612 rec-exp_binary64_21611 exp-diff_binary64_21609 e-exp-1_binary64_21606 exp-0_binary64_21603 rem-exp-log_binary64_21601 cube-neg_binary64_21588 rem-3cbrt-rft_binary64_21587 rem-3cbrt-lft_binary64_21586 rem-cbrt-cube_binary64_21585 rem-cube-cbrt_binary64_21584 sqr-abs_binary64_21576 sqr-neg_binary64_21575 rem-sqrt-square_binary64_21574 rem-square-sqrt_binary64_21573 div-sub_binary64_21566 mul-1-neg_binary64_21553 remove-double-neg_binary64_21549 sub0-neg_binary64_21548 --rgt-identity_binary64_21547 +-rgt-identity_binary64_21546 +-lft-identity_binary64_21545 mul0-rgt_binary64_21544 mul0-lft_binary64_21543 div0_binary64_21542 *-inverses_binary64_21541 +-inverses_binary64_21540 lft-mult-inverse_binary64_21539 rgt-mult-inverse_binary64_21538 remove-double-div_binary64_21537 difference-of-sqr--1_binary64_21532 difference-of-sqr-1_binary64_21531 difference-of-squares_binary64_21530 cancel-sign-sub_binary64_21526 distribute-neg-frac_binary64_21525 distribute-frac-neg_binary64_21524 distribute-neg-out_binary64_21523 distribute-rgt-neg-out_binary64_21521 distribute-lft-neg-out_binary64_21520 distribute-rgt1-in_binary64_21517 distribute-lft1-in_binary64_21516 distribute-rgt-out--_binary64_21515 distribute-lft-out--_binary64_21513 count-2_binary64_21509 associate--r-_binary64_21500 associate--l-_binary64_21499 associate--l+_binary64_21498
Counts
70 → 157
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01181082
1278913
2992913

prune112.0ms (1.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1552157
Fresh134
Picked011
Done000
Total1566162
Error
0b
Counts
162 → 6
Compiler

Compiled 2394 to 414 computations (82.7% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 x (cosh.f64 x))
6.6b
(/.f64 (/.f64 y z) (/.f64 x (cosh.f64 x)))

rewrite497.0ms (5.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
452×times-frac_binary64_21567
213×add-cube-cbrt_binary64_21596 add-sqr-sqrt_binary64_21583 *-un-lft-identity_binary64_21561
31×div-inv_binary64_21558
17×associate-/r*_binary64_21505
16×add-exp-log_binary64_21599 add-cbrt-cube_binary64_21597 associate-/r/_binary64_21507 associate-/l*_binary64_21506
15×cosh-def_binary64_21747
div-exp_binary64_21612 cbrt-undiv_binary64_21595
pow1_binary64_21622 add-log-exp_binary64_21600 frac-2neg_binary64_21572 clear-num_binary64_21560
associate-/l/_binary64_21508
Counts
2 → 257
Calls

2 calls:

11.0ms
(/.f64 (/.f64 y z) (/.f64 x (cosh.f64 x)))
3.0ms
(/.f64 x (cosh.f64 x))
Compiler

Compiled 5517 to 1188 computations (78.5% saved)

series643.0ms (6.8%)

Error
0b
Counts
2 → 16
Calls

2 calls:

484.0ms
(/.f64 (/.f64 y z) (/.f64 x (cosh.f64 x)))
146.0ms
(/.f64 x (cosh.f64 x))
Compiler

Compiled 696 to 491 computations (29.5% saved)

simplify599.0ms (6.3%)

Algorithm
egg-herbie
Rules
499×associate-/l*_binary64_21506
441×associate-/r/_binary64_21507
440×associate-*l/_binary64_21504
362×times-frac_binary64_21567
360×*-commutative_binary64_21492
337×associate-/r*_binary64_21505
270×associate-/l/_binary64_21508
201×associate-*r/_binary64_21503
157×distribute-rgt-in_binary64_21511
156×distribute-lft-in_binary64_21510
107×/-rgt-identity_binary64_21552
105×associate-*r*_binary64_21501
69×associate-*l*_binary64_21502
58×unswap-sqr_binary64_21529
40×cancel-sign-sub-inv_binary64_21527
34×*-rgt-identity_binary64_21551
27×log-div_binary64_21648
25×sub-neg_binary64_21554
24×prod-exp_binary64_21610
23×div-exp_binary64_21612
21×distribute-rgt-neg-in_binary64_21519
20×log-prod_binary64_21647
19×sqr-pow_binary64_21533
17×neg-mul-1_binary64_21557 distribute-lft-neg-in_binary64_21518
16×neg-sub0_binary64_21556 swap-sqr_binary64_21528
15×+-commutative_binary64_21491
14×associate-+l-_binary64_21496
13×exp-prod_binary64_21613 cube-prod_binary64_21589 *-lft-identity_binary64_21550
12×associate-+r-_binary64_21495
10×cube-div_binary64_21590
distribute-neg-frac_binary64_21525
associate--r-_binary64_21500 associate--l+_binary64_21498
cube-unmult_binary64_21598 distribute-rgt-out_binary64_21514 associate--l-_binary64_21499 associate--r+_binary64_21497
div-sub_binary64_21566 pow-sqr_binary64_21534 distribute-neg-in_binary64_21522
rec-exp_binary64_21611 remove-double-div_binary64_21537 distribute-lft-neg-out_binary64_21520
associate-+l+_binary64_21494 associate-+r+_binary64_21493
unsub-neg_binary64_21555 distribute-lft-out_binary64_21512
cosh-def_binary64_21747 log-pow_binary64_21650 log-rec_binary64_21649 unpow3_binary64_21627 pow-plus_binary64_21624 exp-lft-sqr_binary64_21616 exp-sqrt_binary64_21614 exp-neg_binary64_21608 1-exp_binary64_21605 rem-log-exp_binary64_21602 cube-mult_binary64_21591 remove-double-neg_binary64_21549 div0_binary64_21542 distribute-frac-neg_binary64_21524 distribute-neg-out_binary64_21523 distribute-rgt1-in_binary64_21517 distribute-rgt-out--_binary64_21515 distribute-lft-out--_binary64_21513 count-2_binary64_21509
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_21824 erf-erfc_binary64_21823 erf-odd_binary64_21822 if-if-and-not_binary64_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 not-gte_binary64_21813 not-lte_binary64_21812 not-gt_binary64_21811 not-lt_binary64_21810 gte-same_binary64_21809 lte-same_binary64_21808 gt-same_binary64_21807 lt-same_binary64_21806 sinh---cosh_binary64_21753 sinh-+-cosh_binary64_21752 sinh-cosh_binary64_21751 tanh-def-c_binary64_21750 tanh-def-b_binary64_21749 tanh-def-a_binary64_21748 sinh-def_binary64_21746 tan-neg_binary64_21693 cos-neg_binary64_21692 sin-neg_binary64_21691 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 hang-m-tan_binary64_21687 hang-p-tan_binary64_21686 hang-m0-tan_binary64_21685 hang-p0-tan_binary64_21684 hang-0m-tan_binary64_21683 hang-0p-tan_binary64_21682 tan-+PI/2_binary64_21681 tan-+PI_binary64_21680 tan-PI_binary64_21679 tan-PI/3_binary64_21678 tan-PI/4_binary64_21677 tan-PI/6_binary64_21676 cos-+PI/2_binary64_21675 cos-+PI_binary64_21674 cos-PI_binary64_21673 cos-PI/2_binary64_21672 cos-PI/3_binary64_21671 cos-PI/4_binary64_21670 cos-PI/6_binary64_21669 sin-+PI/2_binary64_21668 sin-+PI_binary64_21667 sin-PI_binary64_21666 sin-PI/2_binary64_21665 sin-PI/3_binary64_21664 sin-PI/4_binary64_21663 sin-PI/6_binary64_21662 sub-1-sin_binary64_21661 sub-1-cos_binary64_21660 -1-add-sin_binary64_21659 -1-add-cos_binary64_21658 1-sub-sin_binary64_21657 1-sub-cos_binary64_21656 cos-sin-sum_binary64_21655 log-E_binary64_21651 pow-base-0_binary64_21645 unpow1/3_binary64_21628 unpow2_binary64_21626 unpow1/2_binary64_21625 exp-to-pow_binary64_21623 pow-base-1_binary64_21621 unpow0_binary64_21620 unpow1_binary64_21619 unpow-1_binary64_21618 exp-lft-cube_binary64_21617 exp-cbrt_binary64_21615 exp-diff_binary64_21609 exp-sum_binary64_21607 e-exp-1_binary64_21606 exp-1-e_binary64_21604 exp-0_binary64_21603 rem-exp-log_binary64_21601 cube-neg_binary64_21588 rem-3cbrt-rft_binary64_21587 rem-3cbrt-lft_binary64_21586 rem-cbrt-cube_binary64_21585 rem-cube-cbrt_binary64_21584 sqr-abs_binary64_21576 sqr-neg_binary64_21575 rem-sqrt-square_binary64_21574 rem-square-sqrt_binary64_21573 mul-1-neg_binary64_21553 sub0-neg_binary64_21548 --rgt-identity_binary64_21547 +-rgt-identity_binary64_21546 +-lft-identity_binary64_21545 mul0-rgt_binary64_21544 mul0-lft_binary64_21543 *-inverses_binary64_21541 +-inverses_binary64_21540 lft-mult-inverse_binary64_21539 rgt-mult-inverse_binary64_21538 difference-of-sqr--1_binary64_21532 difference-of-sqr-1_binary64_21531 difference-of-squares_binary64_21530 cancel-sign-sub_binary64_21526 distribute-rgt-neg-out_binary64_21521 distribute-lft1-in_binary64_21516
Counts
273 → 1195
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05177791
113617547
243407511

prune1.1s (12.1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New119411195
Fresh134
Picked011
Done011
Total119561201
Error
0b
Counts
1201 → 6
Compiler

Compiled 26744 to 3786 computations (85.8% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.5b
(/.f64 (cosh.f64 x) (*.f64 x (/.f64 z y)))
6.6b
(*.f64 x (/.f64 z y))

rewrite61.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
17×add-sqr-sqrt_binary64_21583
16×add-exp-log_binary64_21599 add-cbrt-cube_binary64_21597
13×times-frac_binary64_21567 associate-*r*_binary64_21501
12×add-cube-cbrt_binary64_21596 *-un-lft-identity_binary64_21561
div-exp_binary64_21612 cbrt-undiv_binary64_21595
pow1_binary64_21622 prod-exp_binary64_21610 cbrt-unprod_binary64_21594
associate-*l*_binary64_21502 associate-/l*_binary64_21506
add-log-exp_binary64_21600 unswap-sqr_binary64_21529 associate-*r/_binary64_21503 div-inv_binary64_21558
pow-prod-down_binary64_21632 *-commutative_binary64_21492 frac-2neg_binary64_21572 clear-num_binary64_21560 cosh-def_binary64_21747 associate-/l/_binary64_21508 associate-/r/_binary64_21507 associate-/r*_binary64_21505
Counts
2 → 57
Calls

2 calls:

7.0ms
(*.f64 x (/.f64 z y))
6.0ms
(/.f64 (cosh.f64 x) (*.f64 x (/.f64 z y)))
Compiler

Compiled 841 to 224 computations (73.4% saved)

series633.0ms (6.7%)

Error
0b
Counts
2 → 20
Calls

2 calls:

482.0ms
(/.f64 (cosh.f64 x) (*.f64 x (/.f64 z y)))
136.0ms
(*.f64 x (/.f64 z y))
Compiler

Compiled 724 to 476 computations (34.3% saved)

simplify240.0ms (2.5%)

Algorithm
egg-herbie
Rules
543×associate-/l/_binary64_21508
516×associate-*l/_binary64_21504
485×associate-/r/_binary64_21507
461×associate-/r*_binary64_21505
392×associate-*r/_binary64_21503
391×associate-*l*_binary64_21502
309×associate-*r*_binary64_21501
175×*-commutative_binary64_21492
128×distribute-rgt-in_binary64_21511
112×distribute-lft-in_binary64_21510
102×associate-/l*_binary64_21506
97×times-frac_binary64_21567
91×unswap-sqr_binary64_21529
76×log-div_binary64_21648
72×cube-div_binary64_21590
71×*-lft-identity_binary64_21550
70×log-prod_binary64_21647
64×cube-prod_binary64_21589
57×sqr-pow_binary64_21533
53×*-rgt-identity_binary64_21551
50×sub-neg_binary64_21554
43×swap-sqr_binary64_21528
40×exp-prod_binary64_21613
31×/-rgt-identity_binary64_21552
26×neg-mul-1_binary64_21557
25×cancel-sign-sub-inv_binary64_21527
22×div-sub_binary64_21566 neg-sub0_binary64_21556
21×unsub-neg_binary64_21555 pow-sqr_binary64_21534
20×distribute-rgt-out_binary64_21514
19×distribute-neg-frac_binary64_21525 distribute-rgt-neg-in_binary64_21519 distribute-lft-neg-in_binary64_21518
18×+-commutative_binary64_21491
17×distribute-neg-in_binary64_21522
15×div-exp_binary64_21612 prod-exp_binary64_21610 associate--r+_binary64_21497
14×unpow3_binary64_21627
13×cube-mult_binary64_21591
12×distribute-lft-neg-out_binary64_21520
11×distribute-rgt-neg-out_binary64_21521
10×associate--r-_binary64_21500 associate-+l+_binary64_21494
associate-+l-_binary64_21496
distribute-lft-out_binary64_21512 associate-+r+_binary64_21493
cube-unmult_binary64_21598 distribute-neg-out_binary64_21523
log-rec_binary64_21649 associate--l-_binary64_21499
associate-+r-_binary64_21495
rec-exp_binary64_21611 exp-sum_binary64_21607
exp-sqrt_binary64_21614 associate--l+_binary64_21498
exp-diff_binary64_21609 remove-double-neg_binary64_21549 +-rgt-identity_binary64_21546 remove-double-div_binary64_21537
cosh-def_binary64_21747 log-pow_binary64_21650 pow-plus_binary64_21624 pow-base-1_binary64_21621 exp-neg_binary64_21608 1-exp_binary64_21605 exp-1-e_binary64_21604 rem-log-exp_binary64_21602 sub0-neg_binary64_21548 mul0-rgt_binary64_21544 mul0-lft_binary64_21543 div0_binary64_21542 distribute-frac-neg_binary64_21524 distribute-rgt1-in_binary64_21517 distribute-rgt-out--_binary64_21515
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_21824 erf-erfc_binary64_21823 erf-odd_binary64_21822 if-if-and-not_binary64_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 not-gte_binary64_21813 not-lte_binary64_21812 not-gt_binary64_21811 not-lt_binary64_21810 gte-same_binary64_21809 lte-same_binary64_21808 gt-same_binary64_21807 lt-same_binary64_21806 sinh---cosh_binary64_21753 sinh-+-cosh_binary64_21752 sinh-cosh_binary64_21751 tanh-def-c_binary64_21750 tanh-def-b_binary64_21749 tanh-def-a_binary64_21748 sinh-def_binary64_21746 tan-neg_binary64_21693 cos-neg_binary64_21692 sin-neg_binary64_21691 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 hang-m-tan_binary64_21687 hang-p-tan_binary64_21686 hang-m0-tan_binary64_21685 hang-p0-tan_binary64_21684 hang-0m-tan_binary64_21683 hang-0p-tan_binary64_21682 tan-+PI/2_binary64_21681 tan-+PI_binary64_21680 tan-PI_binary64_21679 tan-PI/3_binary64_21678 tan-PI/4_binary64_21677 tan-PI/6_binary64_21676 cos-+PI/2_binary64_21675 cos-+PI_binary64_21674 cos-PI_binary64_21673 cos-PI/2_binary64_21672 cos-PI/3_binary64_21671 cos-PI/4_binary64_21670 cos-PI/6_binary64_21669 sin-+PI/2_binary64_21668 sin-+PI_binary64_21667 sin-PI_binary64_21666 sin-PI/2_binary64_21665 sin-PI/3_binary64_21664 sin-PI/4_binary64_21663 sin-PI/6_binary64_21662 sub-1-sin_binary64_21661 sub-1-cos_binary64_21660 -1-add-sin_binary64_21659 -1-add-cos_binary64_21658 1-sub-sin_binary64_21657 1-sub-cos_binary64_21656 cos-sin-sum_binary64_21655 log-E_binary64_21651 pow-base-0_binary64_21645 unpow1/3_binary64_21628 unpow2_binary64_21626 unpow1/2_binary64_21625 exp-to-pow_binary64_21623 unpow0_binary64_21620 unpow1_binary64_21619 unpow-1_binary64_21618 exp-lft-cube_binary64_21617 exp-lft-sqr_binary64_21616 exp-cbrt_binary64_21615 e-exp-1_binary64_21606 exp-0_binary64_21603 rem-exp-log_binary64_21601 cube-neg_binary64_21588 rem-3cbrt-rft_binary64_21587 rem-3cbrt-lft_binary64_21586 rem-cbrt-cube_binary64_21585 rem-cube-cbrt_binary64_21584 sqr-abs_binary64_21576 sqr-neg_binary64_21575 rem-sqrt-square_binary64_21574 rem-square-sqrt_binary64_21573 mul-1-neg_binary64_21553 --rgt-identity_binary64_21547 +-lft-identity_binary64_21545 *-inverses_binary64_21541 +-inverses_binary64_21540 lft-mult-inverse_binary64_21539 rgt-mult-inverse_binary64_21538 difference-of-sqr--1_binary64_21532 difference-of-sqr-1_binary64_21531 difference-of-squares_binary64_21530 cancel-sign-sub_binary64_21526 distribute-lft1-in_binary64_21516 distribute-lft-out--_binary64_21513 count-2_binary64_21509
Counts
77 → 159
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01451153
1338984
21268984
34151981

prune112.0ms (1.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1590159
Fresh033
Picked011
Done022
Total1596165
Error
0b
Counts
165 → 6
Compiler

Compiled 2304 to 432 computations (81.3% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (cosh.f64 x) z)
0.3b
(/.f64 (/.f64 (cosh.f64 x) z) x)
6.5b
(*.f64 y (/.f64 (/.f64 (cosh.f64 x) z) x))

rewrite181.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
153×times-frac_binary64_21567
98×add-sqr-sqrt_binary64_21583
89×add-cube-cbrt_binary64_21596 *-un-lft-identity_binary64_21561
43×associate-*r*_binary64_21501
19×add-exp-log_binary64_21599 add-cbrt-cube_binary64_21597
16×associate-/l*_binary64_21506
10×div-inv_binary64_21558
div-exp_binary64_21612 cbrt-undiv_binary64_21595
associate-/r*_binary64_21505
pow1_binary64_21622
prod-exp_binary64_21610 add-log-exp_binary64_21600 cbrt-unprod_binary64_21594 unswap-sqr_binary64_21529 associate-*l*_binary64_21502
frac-2neg_binary64_21572 clear-num_binary64_21560 associate-/l/_binary64_21508
pow-prod-down_binary64_21632 associate-*r/_binary64_21503 *-commutative_binary64_21492 cosh-def_binary64_21747
Counts
3 → 163
Calls

3 calls:

18.0ms
(*.f64 y (/.f64 (/.f64 (cosh.f64 x) z) x))
6.0ms
(/.f64 (/.f64 (cosh.f64 x) z) x)
3.0ms
(/.f64 (cosh.f64 x) z)
Compiler

Compiled 2923 to 696 computations (76.2% saved)

series951.0ms (10%)

Error
0b
Counts
3 → 27
Calls

3 calls:

463.0ms
(*.f64 y (/.f64 (/.f64 (cosh.f64 x) z) x))
268.0ms
(/.f64 (/.f64 (cosh.f64 x) z) x)
195.0ms
(/.f64 (cosh.f64 x) z)
Compiler

Compiled 1202 to 859 computations (28.5% saved)

simplify423.0ms (4.5%)

Algorithm
egg-herbie
Rules
575×associate-/r/_binary64_21507
357×*-commutative_binary64_21492
225×sub-neg_binary64_21554
215×div-sub_binary64_21566
203×associate-/l/_binary64_21508
169×associate-/l*_binary64_21506
157×associate-*l/_binary64_21504
153×associate-*l*_binary64_21502
142×associate-*r/_binary64_21503
123×associate-*r*_binary64_21501
108×associate-/r*_binary64_21505
93×log-prod_binary64_21647
92×cube-prod_binary64_21589
84×unswap-sqr_binary64_21529
83×associate-+l-_binary64_21496
82×times-frac_binary64_21567
66×sqr-pow_binary64_21533
64×unsub-neg_binary64_21555
63×log-div_binary64_21648 *-rgt-identity_binary64_21551 *-lft-identity_binary64_21550
62×exp-prod_binary64_21613
60×cube-div_binary64_21590
58×associate--l-_binary64_21499
57×associate-+r-_binary64_21495
55×cancel-sign-sub-inv_binary64_21527
53×associate--r-_binary64_21500
42×distribute-lft-in_binary64_21510 associate-+l+_binary64_21494 +-commutative_binary64_21491
41×prod-exp_binary64_21610 distribute-rgt-in_binary64_21511
40×neg-mul-1_binary64_21557
36×associate-+r+_binary64_21493
35×unpow3_binary64_21627
34×cube-mult_binary64_21591 associate--l+_binary64_21498
33×neg-sub0_binary64_21556
29×swap-sqr_binary64_21528
28×pow-sqr_binary64_21534 distribute-rgt-out_binary64_21514
27×associate--r+_binary64_21497
25×distribute-rgt-neg-in_binary64_21519
24×distribute-lft-neg-in_binary64_21518
22×/-rgt-identity_binary64_21552
21×div-exp_binary64_21612
13×exp-diff_binary64_21609
11×pow-plus_binary64_21624 exp-to-pow_binary64_21623 distribute-neg-out_binary64_21523
10×distribute-neg-frac_binary64_21525 distribute-lft-out_binary64_21512
log-pow_binary64_21650 log-rec_binary64_21649
cube-unmult_binary64_21598 sub0-neg_binary64_21548
exp-lft-sqr_binary64_21616 distribute-neg-in_binary64_21522
exp-sqrt_binary64_21614 rec-exp_binary64_21611
exp-sum_binary64_21607 distribute-rgt1-in_binary64_21517 distribute-rgt-out--_binary64_21515
rem-sqrt-square_binary64_21574
+-lft-identity_binary64_21545 remove-double-div_binary64_21537 distribute-lft-out--_binary64_21513
+-rgt-identity_binary64_21546 distribute-frac-neg_binary64_21524 count-2_binary64_21509
cosh-def_binary64_21747 unpow2_binary64_21626 pow-base-1_binary64_21621 unpow1_binary64_21619 exp-neg_binary64_21608 1-exp_binary64_21605 exp-1-e_binary64_21604 rem-log-exp_binary64_21602 rem-exp-log_binary64_21601 remove-double-neg_binary64_21549 div0_binary64_21542 *-inverses_binary64_21541 rgt-mult-inverse_binary64_21538 distribute-lft-neg-out_binary64_21520
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_21824 erf-erfc_binary64_21823 erf-odd_binary64_21822 if-if-and-not_binary64_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 not-gte_binary64_21813 not-lte_binary64_21812 not-gt_binary64_21811 not-lt_binary64_21810 gte-same_binary64_21809 lte-same_binary64_21808 gt-same_binary64_21807 lt-same_binary64_21806 sinh---cosh_binary64_21753 sinh-+-cosh_binary64_21752 sinh-cosh_binary64_21751 tanh-def-c_binary64_21750 tanh-def-b_binary64_21749 tanh-def-a_binary64_21748 sinh-def_binary64_21746 tan-neg_binary64_21693 cos-neg_binary64_21692 sin-neg_binary64_21691 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 hang-m-tan_binary64_21687 hang-p-tan_binary64_21686 hang-m0-tan_binary64_21685 hang-p0-tan_binary64_21684 hang-0m-tan_binary64_21683 hang-0p-tan_binary64_21682 tan-+PI/2_binary64_21681 tan-+PI_binary64_21680 tan-PI_binary64_21679 tan-PI/3_binary64_21678 tan-PI/4_binary64_21677 tan-PI/6_binary64_21676 cos-+PI/2_binary64_21675 cos-+PI_binary64_21674 cos-PI_binary64_21673 cos-PI/2_binary64_21672 cos-PI/3_binary64_21671 cos-PI/4_binary64_21670 cos-PI/6_binary64_21669 sin-+PI/2_binary64_21668 sin-+PI_binary64_21667 sin-PI_binary64_21666 sin-PI/2_binary64_21665 sin-PI/3_binary64_21664 sin-PI/4_binary64_21663 sin-PI/6_binary64_21662 sub-1-sin_binary64_21661 sub-1-cos_binary64_21660 -1-add-sin_binary64_21659 -1-add-cos_binary64_21658 1-sub-sin_binary64_21657 1-sub-cos_binary64_21656 cos-sin-sum_binary64_21655 log-E_binary64_21651 pow-base-0_binary64_21645 unpow1/3_binary64_21628 unpow1/2_binary64_21625 unpow0_binary64_21620 unpow-1_binary64_21618 exp-lft-cube_binary64_21617 exp-cbrt_binary64_21615 e-exp-1_binary64_21606 exp-0_binary64_21603 cube-neg_binary64_21588 rem-3cbrt-rft_binary64_21587 rem-3cbrt-lft_binary64_21586 rem-cbrt-cube_binary64_21585 rem-cube-cbrt_binary64_21584 sqr-abs_binary64_21576 sqr-neg_binary64_21575 rem-square-sqrt_binary64_21573 mul-1-neg_binary64_21553 --rgt-identity_binary64_21547 mul0-rgt_binary64_21544 mul0-lft_binary64_21543 +-inverses_binary64_21540 lft-mult-inverse_binary64_21539 difference-of-sqr--1_binary64_21532 difference-of-sqr-1_binary64_21531 difference-of-squares_binary64_21530 cancel-sign-sub_binary64_21526 distribute-rgt-neg-out_binary64_21521 distribute-lft1-in_binary64_21516
Counts
190 → 398
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02943526
16653325
221323293
331233290
442533290

prune323.0ms (3.4%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New3980398
Fresh022
Picked011
Done033
Total3986404
Error
0b
Counts
404 → 6
Compiler

Compiled 7694 to 1377 computations (82.1% saved)

regimes361.0ms (3.8%)

Accuracy

Total 0.2b remaining (92.8%)

Threshold costs 0.2b (92.8%)

Compiler

Compiled 1144 to 1014 computations (11.4% saved)

bsearch2.0ms (0%)

Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_21492
1-exp_binary64_21605
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_21821 if-if-and_binary64_21820 if-if-or-not_binary64_21819 if-if-or_binary64_21818 if-not_binary64_21817 if-same_binary64_21816 if-false_binary64_21815 if-true_binary64_21814 tan-0_binary64_21690 cos-0_binary64_21689 sin-0_binary64_21688 unpow1_binary64_21619 e-exp-1_binary64_21606 exp-1-e_binary64_21604 exp-0_binary64_21603 sqr-abs_binary64_21576 sqr-neg_binary64_21575 neg-mul-1_binary64_21557 neg-sub0_binary64_21556 unsub-neg_binary64_21555 sub-neg_binary64_21554 mul-1-neg_binary64_21553 /-rgt-identity_binary64_21552 *-rgt-identity_binary64_21551 *-lft-identity_binary64_21550 remove-double-neg_binary64_21549 sub0-neg_binary64_21548 --rgt-identity_binary64_21547 +-rgt-identity_binary64_21546 +-lft-identity_binary64_21545 cancel-sign-sub-inv_binary64_21527 cancel-sign-sub_binary64_21526 distribute-neg-frac_binary64_21525 distribute-frac-neg_binary64_21524 distribute-neg-out_binary64_21523 distribute-neg-in_binary64_21522 distribute-rgt-neg-out_binary64_21521 distribute-lft-neg-out_binary64_21520 distribute-rgt-neg-in_binary64_21519 distribute-lft-neg-in_binary64_21518 +-commutative_binary64_21491
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02273
12773
Proof
(if real (<= f64 (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) -12588588295461346997908880767879920303083350192522820792187469364522169972965724320169984) (/ f64 (/ f64 h1 h2) (/ f64 h0 (cosh f64 h0))) (if real (<= f64 (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) 28563240008794870944767241175475469748543384661310717641910288313665313688867529154203523193169066819790894604167495579363013241526477519146195026771781626826578172016142529427468167647046389591082680418822578568112432742144644155804883645149217293536379076401366037455437824) (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) (* f64 (cosh f64 h0) (=> (* f64 (/ f64 1 h0) (/ f64 h1 h2)))))) *-commutative_binary64_21492 => (if real (<= f64 (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) -12588588295461346997908880767879920303083350192522820792187469364522169972965724320169984) (/ f64 (/ f64 h1 h2) (/ f64 h0 (cosh f64 h0))) (if real (<= f64 (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) 28563240008794870944767241175475469748543384661310717641910288313665313688867529154203523193169066819790894604167495579363013241526477519146195026771781626826578172016142529427468167647046389591082680418822578568112432742144644155804883645149217293536379076401366037455437824) (/ f64 (* f64 (cosh f64 h0) (/ f64 h1 h0)) h2) (* f64 (cosh f64 h0) (* f64 (/ f64 h1 h2) (/ f64 1 h0)))))

end0.0ms (0%)

sample1.4s (14.2%)

Algorithm
intervals
Results
269.0ms8000×body128valid
261.0ms7241×body128invalid
Compiler

Compiled 311 to 241 computations (22.5% saved)

Profiling

Loading profile data...