Details

Time bar (total: 12.0s)

analyze337.0ms (2.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%68.7%6.3%6
43.7%46.8%9.5%7
43.7%42.1%14.1%8
46.8%36.7%16.5%9
46.8%34%19.2%10
48.4%31%20.6%11
48.4%29.6%22%12
49.2%28%22.8%13
49.2%27.3%23.5%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample64.0ms (0.5%)

Algorithm
intervals
Results
15.0ms69×body1024valid
11.0ms59×body1024invalid
10.0ms130×body128valid
5.0ms37×body512valid
4.0ms26×body512invalid
2.0ms19×body256valid
2.0ms17×body256invalid
1.0ms19×body128invalid
0.0msbody2048valid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify664.0ms (5.5%)

Algorithm
egg-herbie
Rules
833×exp-prod_binary64_8655
519×times-frac_binary64_8609
512×associate-/l*_binary64_8548
446×associate--l+_binary64_8540
368×distribute-rgt-out_binary64_8556
367×distribute-rgt-out--_binary64_8557
364×distribute-rgt-neg-in_binary64_8561
306×exp-diff_binary64_8651
289×associate--r+_binary64_8539
269×associate-/r*_binary64_8547
205×sub-neg_binary64_8596
190×associate-+r+_binary64_8535
167×associate-*l/_binary64_8546
151×associate-+l+_binary64_8536
137×associate-/l/_binary64_8550
132×associate-/r/_binary64_8549
128×associate-*r/_binary64_8545
118×distribute-lft-out_binary64_8554
115×distribute-lft-out--_binary64_8555
107×associate-*r*_binary64_8543
104×associate-*l*_binary64_8544
87×unsub-neg_binary64_8597
83×pow-plus_binary64_8666
81×unswap-sqr_binary64_8571
79×*-commutative_binary64_8534
70×distribute-rgt1-in_binary64_8559
68×distribute-rgt-in_binary64_8553
57×distribute-lft-neg-in_binary64_8560
56×cancel-sign-sub-inv_binary64_8569
47×associate--r-_binary64_8542
45×exp-sum_binary64_8649
40×*-lft-identity_binary64_8592
38×sqr-pow_binary64_8575
36×div-sub_binary64_8608
35×distribute-lft-in_binary64_8552
34×associate--l-_binary64_8541
32×+-commutative_binary64_8533
30×pow-sqr_binary64_8576
26×*-rgt-identity_binary64_8593 associate-+r-_binary64_8537
25×associate-+l-_binary64_8538
21×distribute-neg-out_binary64_8565 distribute-neg-in_binary64_8564
20×neg-mul-1_binary64_8599 neg-sub0_binary64_8598
18×exp-sqrt_binary64_8656
17×/-rgt-identity_binary64_8594 +-inverses_binary64_8582
15×exp-lft-sqr_binary64_8658 distribute-neg-frac_binary64_8567
14×count-2_binary64_8551
12×distribute-lft1-in_binary64_8558
10×cube-prod_binary64_8631 remove-double-div_binary64_8579
pow-base-1_binary64_8663
cube-unmult_binary64_8640
difference-of-squares_binary64_8572
remove-double-neg_binary64_8591 distribute-frac-neg_binary64_8566
distribute-lft-neg-out_binary64_8562
prod-exp_binary64_8652 exp-neg_binary64_8650 sub0-neg_binary64_8590 div0_binary64_8584 difference-of-sqr--1_binary64_8574
unpow3_binary64_8669 cube-div_binary64_8632 *-inverses_binary64_8583
cosh-def_binary64_8789 unpow1_binary64_8661 div-exp_binary64_8654 rec-exp_binary64_8653 1-exp_binary64_8647 exp-1-e_binary64_8646 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 mul0-rgt_binary64_8586 mul0-lft_binary64_8585
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_8866 erf-erfc_binary64_8865 erf-odd_binary64_8864 if-if-and-not_binary64_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 not-gte_binary64_8855 not-lte_binary64_8854 not-gt_binary64_8853 not-lt_binary64_8852 gte-same_binary64_8851 lte-same_binary64_8850 gt-same_binary64_8849 lt-same_binary64_8848 sinh---cosh_binary64_8795 sinh-+-cosh_binary64_8794 sinh-cosh_binary64_8793 tanh-def-c_binary64_8792 tanh-def-b_binary64_8791 tanh-def-a_binary64_8790 sinh-def_binary64_8788 tan-neg_binary64_8735 cos-neg_binary64_8734 sin-neg_binary64_8733 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 hang-m-tan_binary64_8729 hang-p-tan_binary64_8728 hang-m0-tan_binary64_8727 hang-p0-tan_binary64_8726 hang-0m-tan_binary64_8725 hang-0p-tan_binary64_8724 tan-+PI/2_binary64_8723 tan-+PI_binary64_8722 tan-PI_binary64_8721 tan-PI/3_binary64_8720 tan-PI/4_binary64_8719 tan-PI/6_binary64_8718 cos-+PI/2_binary64_8717 cos-+PI_binary64_8716 cos-PI_binary64_8715 cos-PI/2_binary64_8714 cos-PI/3_binary64_8713 cos-PI/4_binary64_8712 cos-PI/6_binary64_8711 sin-+PI/2_binary64_8710 sin-+PI_binary64_8709 sin-PI_binary64_8708 sin-PI/2_binary64_8707 sin-PI/3_binary64_8706 sin-PI/4_binary64_8705 sin-PI/6_binary64_8704 sub-1-sin_binary64_8703 sub-1-cos_binary64_8702 -1-add-sin_binary64_8701 -1-add-cos_binary64_8700 1-sub-sin_binary64_8699 1-sub-cos_binary64_8698 cos-sin-sum_binary64_8697 log-E_binary64_8693 log-pow_binary64_8692 log-rec_binary64_8691 log-div_binary64_8690 log-prod_binary64_8689 pow-base-0_binary64_8687 unpow1/3_binary64_8670 unpow2_binary64_8668 unpow1/2_binary64_8667 exp-to-pow_binary64_8665 unpow0_binary64_8662 unpow-1_binary64_8660 exp-lft-cube_binary64_8659 exp-cbrt_binary64_8657 e-exp-1_binary64_8648 exp-0_binary64_8645 rem-log-exp_binary64_8644 rem-exp-log_binary64_8643 cube-mult_binary64_8633 cube-neg_binary64_8630 rem-3cbrt-rft_binary64_8629 rem-3cbrt-lft_binary64_8628 rem-cbrt-cube_binary64_8627 rem-cube-cbrt_binary64_8626 sqr-abs_binary64_8618 sqr-neg_binary64_8617 rem-sqrt-square_binary64_8616 rem-square-sqrt_binary64_8615 mul-1-neg_binary64_8595 lft-mult-inverse_binary64_8581 rgt-mult-inverse_binary64_8580 difference-of-sqr-1_binary64_8573 swap-sqr_binary64_8570 cancel-sign-sub_binary64_8568 distribute-rgt-neg-out_binary64_8563
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11611
23211
36011
410711
516111
631611
784411
8345311
9434911

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
0.1b
Counts
2 → 1
Compiler

Compiled 14 to 12 computations (14.3% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

rewrite125.0ms (1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
87×times-frac_binary64_8609
53×add-cube-cbrt_binary64_8638 add-sqr-sqrt_binary64_8625 *-un-lft-identity_binary64_8603
17×associate-/r*_binary64_8547
add-exp-log_binary64_8641 add-cbrt-cube_binary64_8639
div-inv_binary64_8600 associate-/r/_binary64_8549 associate-/l*_binary64_8548
cosh-def_binary64_8789
div-exp_binary64_8654 cbrt-undiv_binary64_8637
pow1_binary64_8664 add-log-exp_binary64_8642 frac-2neg_binary64_8614 clear-num_binary64_8602
Counts
2 → 102
Calls

2 calls:

7.0ms
(/.f64 y (cosh.f64 x))
7.0ms
(/.f64 (sin.f64 y) (/.f64 y (cosh.f64 x)))
Compiler

Compiled 1704 to 391 computations (77.1% saved)

series650.0ms (5.4%)

Error
0.1b
Counts
2 → 21
Calls

2 calls:

336.0ms
(/.f64 (sin.f64 y) (/.f64 y (cosh.f64 x)))
292.0ms
(/.f64 y (cosh.f64 x))
Compiler

Compiled 999 to 680 computations (31.9% saved)

simplify264.0ms (2.2%)

Algorithm
egg-herbie
Rules
626×associate-/r/_binary64_8549
423×associate-*r/_binary64_8545
382×associate-*r*_binary64_8543
339×associate-/r*_binary64_8547
282×cancel-sign-sub-inv_binary64_8569
189×associate--l+_binary64_8540
171×associate-+l+_binary64_8536
144×associate-/l/_binary64_8550
138×associate-/l*_binary64_8548
131×*-commutative_binary64_8534
122×associate--r+_binary64_8539
112×associate-*l/_binary64_8546
74×sub-neg_binary64_8596
68×associate-*l*_binary64_8544
66×distribute-rgt-neg-in_binary64_8561
58×distribute-rgt-in_binary64_8553
56×distribute-rgt-out_binary64_8556
54×distribute-lft-neg-in_binary64_8560
46×times-frac_binary64_8609
45×distribute-lft-in_binary64_8552 +-commutative_binary64_8533
39×*-rgt-identity_binary64_8593
34×neg-mul-1_binary64_8599
33×neg-sub0_binary64_8598 /-rgt-identity_binary64_8594 sqr-pow_binary64_8575 unswap-sqr_binary64_8571
30×distribute-neg-in_binary64_8564
29×associate-+l-_binary64_8538
28×prod-exp_binary64_8652 associate-+r+_binary64_8535
23×div-exp_binary64_8654
22×distribute-lft-out_binary64_8554
21×associate-+r-_binary64_8537
15×log-div_binary64_8690 *-lft-identity_binary64_8592
14×unsub-neg_binary64_8597 pow-sqr_binary64_8576 distribute-neg-frac_binary64_8567
12×distribute-lft-neg-out_binary64_8562
cube-div_binary64_8632
log-prod_binary64_8689 distribute-lft-out--_binary64_8555
exp-prod_binary64_8655
cube-unmult_binary64_8640 cube-prod_binary64_8631 swap-sqr_binary64_8570 distribute-rgt-out--_binary64_8557 associate--l-_binary64_8541
pow-plus_binary64_8666 rec-exp_binary64_8653 div-sub_binary64_8608 associate--r-_binary64_8542
remove-double-div_binary64_8579
unpow2_binary64_8668 unpow1_binary64_8661 distribute-rgt1-in_binary64_8559
cosh-def_binary64_8789 log-pow_binary64_8692 log-rec_binary64_8691 exp-lft-sqr_binary64_8658 exp-sqrt_binary64_8656 exp-neg_binary64_8650 1-exp_binary64_8647 rem-log-exp_binary64_8644 remove-double-neg_binary64_8591 div0_binary64_8584 *-inverses_binary64_8583 distribute-frac-neg_binary64_8566 count-2_binary64_8551
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_8866 erf-erfc_binary64_8865 erf-odd_binary64_8864 if-if-and-not_binary64_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 not-gte_binary64_8855 not-lte_binary64_8854 not-gt_binary64_8853 not-lt_binary64_8852 gte-same_binary64_8851 lte-same_binary64_8850 gt-same_binary64_8849 lt-same_binary64_8848 sinh---cosh_binary64_8795 sinh-+-cosh_binary64_8794 sinh-cosh_binary64_8793 tanh-def-c_binary64_8792 tanh-def-b_binary64_8791 tanh-def-a_binary64_8790 sinh-def_binary64_8788 tan-neg_binary64_8735 cos-neg_binary64_8734 sin-neg_binary64_8733 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 hang-m-tan_binary64_8729 hang-p-tan_binary64_8728 hang-m0-tan_binary64_8727 hang-p0-tan_binary64_8726 hang-0m-tan_binary64_8725 hang-0p-tan_binary64_8724 tan-+PI/2_binary64_8723 tan-+PI_binary64_8722 tan-PI_binary64_8721 tan-PI/3_binary64_8720 tan-PI/4_binary64_8719 tan-PI/6_binary64_8718 cos-+PI/2_binary64_8717 cos-+PI_binary64_8716 cos-PI_binary64_8715 cos-PI/2_binary64_8714 cos-PI/3_binary64_8713 cos-PI/4_binary64_8712 cos-PI/6_binary64_8711 sin-+PI/2_binary64_8710 sin-+PI_binary64_8709 sin-PI_binary64_8708 sin-PI/2_binary64_8707 sin-PI/3_binary64_8706 sin-PI/4_binary64_8705 sin-PI/6_binary64_8704 sub-1-sin_binary64_8703 sub-1-cos_binary64_8702 -1-add-sin_binary64_8701 -1-add-cos_binary64_8700 1-sub-sin_binary64_8699 1-sub-cos_binary64_8698 cos-sin-sum_binary64_8697 log-E_binary64_8693 pow-base-0_binary64_8687 unpow1/3_binary64_8670 unpow3_binary64_8669 unpow1/2_binary64_8667 exp-to-pow_binary64_8665 pow-base-1_binary64_8663 unpow0_binary64_8662 unpow-1_binary64_8660 exp-lft-cube_binary64_8659 exp-cbrt_binary64_8657 exp-diff_binary64_8651 exp-sum_binary64_8649 e-exp-1_binary64_8648 exp-1-e_binary64_8646 exp-0_binary64_8645 rem-exp-log_binary64_8643 cube-mult_binary64_8633 cube-neg_binary64_8630 rem-3cbrt-rft_binary64_8629 rem-3cbrt-lft_binary64_8628 rem-cbrt-cube_binary64_8627 rem-cube-cbrt_binary64_8626 sqr-abs_binary64_8618 sqr-neg_binary64_8617 rem-sqrt-square_binary64_8616 rem-square-sqrt_binary64_8615 mul-1-neg_binary64_8595 sub0-neg_binary64_8590 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 mul0-rgt_binary64_8586 mul0-lft_binary64_8585 +-inverses_binary64_8582 lft-mult-inverse_binary64_8581 rgt-mult-inverse_binary64_8580 difference-of-sqr--1_binary64_8574 difference-of-sqr-1_binary64_8573 difference-of-squares_binary64_8572 cancel-sign-sub_binary64_8568 distribute-neg-out_binary64_8565 distribute-rgt-neg-out_binary64_8563 distribute-lft1-in_binary64_8558
Counts
123 → 338
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02622793
15892590
220112513

prune348.0ms (2.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New3326338
Fresh000
Picked011
Done000
Total3327339
Error
0.0b
Counts
339 → 7
Compiler

Compiled 6838 to 1236 computations (81.9% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (cosh.f64 x) y)
0.2b
(*.f64 (sin.f64 y) (/.f64 (cosh.f64 x) y))

rewrite58.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
23×add-sqr-sqrt_binary64_8625
19×times-frac_binary64_8609
18×add-cube-cbrt_binary64_8638 *-un-lft-identity_binary64_8603
13×associate-*r*_binary64_8543
add-exp-log_binary64_8641 add-cbrt-cube_binary64_8639
pow1_binary64_8664
associate-*l*_binary64_8544 associate-/l*_binary64_8548 associate-/r*_binary64_8547
div-exp_binary64_8654 prod-exp_binary64_8652 add-log-exp_binary64_8642 cbrt-unprod_binary64_8636 cbrt-undiv_binary64_8637 unswap-sqr_binary64_8571 div-inv_binary64_8600
pow-prod-down_binary64_8674 associate-*r/_binary64_8545 *-commutative_binary64_8534 frac-2neg_binary64_8614 clear-num_binary64_8602 cosh-def_binary64_8789 associate-/l/_binary64_8550
Counts
2 → 60
Calls

2 calls:

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

Compiled 851 to 209 computations (75.4% saved)

series550.0ms (4.6%)

Error
0.0b
Counts
2 → 21
Calls

2 calls:

330.0ms
(*.f64 (sin.f64 y) (/.f64 (cosh.f64 x) y))
196.0ms
(/.f64 (cosh.f64 x) y)
Compiler

Compiled 1015 to 697 computations (31.3% saved)

simplify220.0ms (1.8%)

Algorithm
egg-herbie
Rules
414×associate-*l/_binary64_8546
411×associate-/l*_binary64_8548
391×associate-*l*_binary64_8544
364×associate-*r/_binary64_8545
330×associate-*r*_binary64_8543
290×times-frac_binary64_8609
215×cancel-sign-sub-inv_binary64_8569
214×associate-/l/_binary64_8550
190×associate-+l+_binary64_8536
178×associate--l+_binary64_8540
167×*-commutative_binary64_8534
154×associate-/r/_binary64_8549
126×associate-/r*_binary64_8547
115×associate--r+_binary64_8539
98×associate-+r+_binary64_8535
95×+-commutative_binary64_8533
64×log-div_binary64_8690
57×sub-neg_binary64_8596
55×cube-div_binary64_8632
49×log-prod_binary64_8689
43×distribute-rgt-out_binary64_8556
36×sqr-pow_binary64_8575
33×distribute-rgt-neg-in_binary64_8561
29×unswap-sqr_binary64_8571
27×distribute-lft-neg-in_binary64_8560 distribute-rgt-in_binary64_8553 associate-+l-_binary64_8538
26×*-lft-identity_binary64_8592 distribute-neg-in_binary64_8564
25×exp-prod_binary64_8655 prod-exp_binary64_8652
24×*-rgt-identity_binary64_8593
20×distribute-lft-out_binary64_8554 distribute-lft-in_binary64_8552
19×neg-mul-1_binary64_8599
18×div-exp_binary64_8654 neg-sub0_binary64_8598
15×associate-+r-_binary64_8537
14×pow-sqr_binary64_8576
12×cube-unmult_binary64_8640
10×log-rec_binary64_8691 pow-plus_binary64_8666 exp-sqrt_binary64_8656
unsub-neg_binary64_8597
/-rgt-identity_binary64_8594 associate--l-_binary64_8541
unpow3_binary64_8669
rec-exp_binary64_8653 cube-mult_binary64_8633 distribute-lft-neg-out_binary64_8562
cube-prod_binary64_8631 swap-sqr_binary64_8570
exp-lft-sqr_binary64_8658 distribute-neg-frac_binary64_8567
log-pow_binary64_8692
unpow2_binary64_8668 unpow1_binary64_8661 distribute-rgt-out--_binary64_8557 distribute-lft-out--_binary64_8555
cosh-def_binary64_8789 exp-diff_binary64_8651 exp-neg_binary64_8650 1-exp_binary64_8647 exp-1-e_binary64_8646 rem-log-exp_binary64_8644 div-sub_binary64_8608 *-inverses_binary64_8583 associate--r-_binary64_8542
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_8866 erf-erfc_binary64_8865 erf-odd_binary64_8864 if-if-and-not_binary64_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 not-gte_binary64_8855 not-lte_binary64_8854 not-gt_binary64_8853 not-lt_binary64_8852 gte-same_binary64_8851 lte-same_binary64_8850 gt-same_binary64_8849 lt-same_binary64_8848 sinh---cosh_binary64_8795 sinh-+-cosh_binary64_8794 sinh-cosh_binary64_8793 tanh-def-c_binary64_8792 tanh-def-b_binary64_8791 tanh-def-a_binary64_8790 sinh-def_binary64_8788 tan-neg_binary64_8735 cos-neg_binary64_8734 sin-neg_binary64_8733 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 hang-m-tan_binary64_8729 hang-p-tan_binary64_8728 hang-m0-tan_binary64_8727 hang-p0-tan_binary64_8726 hang-0m-tan_binary64_8725 hang-0p-tan_binary64_8724 tan-+PI/2_binary64_8723 tan-+PI_binary64_8722 tan-PI_binary64_8721 tan-PI/3_binary64_8720 tan-PI/4_binary64_8719 tan-PI/6_binary64_8718 cos-+PI/2_binary64_8717 cos-+PI_binary64_8716 cos-PI_binary64_8715 cos-PI/2_binary64_8714 cos-PI/3_binary64_8713 cos-PI/4_binary64_8712 cos-PI/6_binary64_8711 sin-+PI/2_binary64_8710 sin-+PI_binary64_8709 sin-PI_binary64_8708 sin-PI/2_binary64_8707 sin-PI/3_binary64_8706 sin-PI/4_binary64_8705 sin-PI/6_binary64_8704 sub-1-sin_binary64_8703 sub-1-cos_binary64_8702 -1-add-sin_binary64_8701 -1-add-cos_binary64_8700 1-sub-sin_binary64_8699 1-sub-cos_binary64_8698 cos-sin-sum_binary64_8697 log-E_binary64_8693 pow-base-0_binary64_8687 unpow1/3_binary64_8670 unpow1/2_binary64_8667 exp-to-pow_binary64_8665 pow-base-1_binary64_8663 unpow0_binary64_8662 unpow-1_binary64_8660 exp-lft-cube_binary64_8659 exp-cbrt_binary64_8657 exp-sum_binary64_8649 e-exp-1_binary64_8648 exp-0_binary64_8645 rem-exp-log_binary64_8643 cube-neg_binary64_8630 rem-3cbrt-rft_binary64_8629 rem-3cbrt-lft_binary64_8628 rem-cbrt-cube_binary64_8627 rem-cube-cbrt_binary64_8626 sqr-abs_binary64_8618 sqr-neg_binary64_8617 rem-sqrt-square_binary64_8616 rem-square-sqrt_binary64_8615 mul-1-neg_binary64_8595 remove-double-neg_binary64_8591 sub0-neg_binary64_8590 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 mul0-rgt_binary64_8586 mul0-lft_binary64_8585 div0_binary64_8584 +-inverses_binary64_8582 lft-mult-inverse_binary64_8581 rgt-mult-inverse_binary64_8580 remove-double-div_binary64_8579 difference-of-sqr--1_binary64_8574 difference-of-sqr-1_binary64_8573 difference-of-squares_binary64_8572 cancel-sign-sub_binary64_8568 distribute-frac-neg_binary64_8566 distribute-neg-out_binary64_8565 distribute-rgt-neg-out_binary64_8563 distribute-rgt1-in_binary64_8559 distribute-lft1-in_binary64_8558 count-2_binary64_8551
Counts
81 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01841511
14261366
213791332
347611332

prune85.0ms (0.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New81081
Fresh055
Picked011
Done011
Total81788
Error
0.0b
Counts
88 → 7
Compiler

Compiled 1641 to 558 computations (66% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 (sin.f64 y) (cosh.f64 x))
0.1b
(/.f64 y (*.f64 (sin.f64 y) (cosh.f64 x)))
0.4b
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) (cosh.f64 x))))

rewrite104.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
39×times-frac_binary64_8609
31×add-exp-log_binary64_8641
26×add-sqr-sqrt_binary64_8625
24×add-cube-cbrt_binary64_8638 *-un-lft-identity_binary64_8603
19×add-cbrt-cube_binary64_8639
14×div-exp_binary64_8654
associate-/r*_binary64_8547
cbrt-undiv_binary64_8637
pow1_binary64_8664 div-inv_binary64_8600 cosh-def_binary64_8789 associate-*r/_binary64_8545 associate-/r/_binary64_8549 associate-/l*_binary64_8548
prod-exp_binary64_8652
1-exp_binary64_8647 rec-exp_binary64_8653 add-log-exp_binary64_8642 cbrt-unprod_binary64_8636 associate-*l*_binary64_8544 associate-*r*_binary64_8543
frac-2neg_binary64_8614 clear-num_binary64_8602
inv-pow_binary64_8688 pow-flip_binary64_8677 pow-prod-down_binary64_8674 unswap-sqr_binary64_8571 *-commutative_binary64_8534
Counts
3 → 101
Calls

3 calls:

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

Compiled 1638 to 578 computations (64.7% saved)

series1.6s (13.6%)

Error
0.0b
Counts
3 → 36
Calls

3 calls:

986.0ms
(/.f64 y (*.f64 (sin.f64 y) (cosh.f64 x)))
333.0ms
(/.f64 1 (/.f64 y (*.f64 (sin.f64 y) (cosh.f64 x))))
239.0ms
(*.f64 (sin.f64 y) (cosh.f64 x))
Compiler

Compiled 3073 to 2024 computations (34.1% saved)

simplify879.0ms (7.3%)

Algorithm
egg-herbie
Rules
636×cancel-sign-sub-inv_binary64_8569
270×times-frac_binary64_8609
258×associate-*r*_binary64_8543
228×associate-/l*_binary64_8548
169×associate-/r*_binary64_8547
167×associate-*l*_binary64_8544
165×sub-neg_binary64_8596 *-commutative_binary64_8534
141×associate-+r+_binary64_8535
127×+-commutative_binary64_8533
123×associate-/r/_binary64_8549
120×associate-*l/_binary64_8546
117×unswap-sqr_binary64_8571
115×associate-*r/_binary64_8545
108×associate-+l+_binary64_8536
91×associate-/l/_binary64_8550
82×sqr-pow_binary64_8575
77×distribute-neg-frac_binary64_8567
68×associate--l+_binary64_8540
61×neg-mul-1_binary64_8599
57×*-rgt-identity_binary64_8593
56×neg-sub0_binary64_8598
54×associate--r+_binary64_8539
44×log-div_binary64_8690
38×/-rgt-identity_binary64_8594
37×pow-sqr_binary64_8576
36×unsub-neg_binary64_8597
33×cube-div_binary64_8632
32×distribute-rgt-out_binary64_8556
31×exp-prod_binary64_8655
30×log-prod_binary64_8689 prod-exp_binary64_8652
24×*-lft-identity_binary64_8592
22×cube-prod_binary64_8631
20×distribute-neg-in_binary64_8564
19×swap-sqr_binary64_8570
14×pow-plus_binary64_8666 distribute-rgt-neg-in_binary64_8561
13×log-rec_binary64_8691 div-sub_binary64_8608
11×distribute-lft-out_binary64_8554 distribute-lft-in_binary64_8552
10×distribute-lft-neg-in_binary64_8560 distribute-rgt-in_binary64_8553
div-exp_binary64_8654
unpow3_binary64_8669 cube-unmult_binary64_8640 cube-mult_binary64_8633
unpow2_binary64_8668 unpow1_binary64_8661
exp-sqrt_binary64_8656 associate--r-_binary64_8542
rec-exp_binary64_8653 rem-log-exp_binary64_8644 sub0-neg_binary64_8590 remove-double-div_binary64_8579 distribute-rgt1-in_binary64_8559
cosh-def_binary64_8789 log-pow_binary64_8692 exp-lft-sqr_binary64_8658 exp-diff_binary64_8651 exp-neg_binary64_8650 exp-sum_binary64_8649 1-exp_binary64_8647 exp-1-e_binary64_8646 rem-cbrt-cube_binary64_8627 rem-sqrt-square_binary64_8616 div0_binary64_8584 *-inverses_binary64_8583 rgt-mult-inverse_binary64_8580 cancel-sign-sub_binary64_8568 distribute-lft-neg-out_binary64_8562
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_8866 erf-erfc_binary64_8865 erf-odd_binary64_8864 if-if-and-not_binary64_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 not-gte_binary64_8855 not-lte_binary64_8854 not-gt_binary64_8853 not-lt_binary64_8852 gte-same_binary64_8851 lte-same_binary64_8850 gt-same_binary64_8849 lt-same_binary64_8848 sinh---cosh_binary64_8795 sinh-+-cosh_binary64_8794 sinh-cosh_binary64_8793 tanh-def-c_binary64_8792 tanh-def-b_binary64_8791 tanh-def-a_binary64_8790 sinh-def_binary64_8788 tan-neg_binary64_8735 cos-neg_binary64_8734 sin-neg_binary64_8733 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 hang-m-tan_binary64_8729 hang-p-tan_binary64_8728 hang-m0-tan_binary64_8727 hang-p0-tan_binary64_8726 hang-0m-tan_binary64_8725 hang-0p-tan_binary64_8724 tan-+PI/2_binary64_8723 tan-+PI_binary64_8722 tan-PI_binary64_8721 tan-PI/3_binary64_8720 tan-PI/4_binary64_8719 tan-PI/6_binary64_8718 cos-+PI/2_binary64_8717 cos-+PI_binary64_8716 cos-PI_binary64_8715 cos-PI/2_binary64_8714 cos-PI/3_binary64_8713 cos-PI/4_binary64_8712 cos-PI/6_binary64_8711 sin-+PI/2_binary64_8710 sin-+PI_binary64_8709 sin-PI_binary64_8708 sin-PI/2_binary64_8707 sin-PI/3_binary64_8706 sin-PI/4_binary64_8705 sin-PI/6_binary64_8704 sub-1-sin_binary64_8703 sub-1-cos_binary64_8702 -1-add-sin_binary64_8701 -1-add-cos_binary64_8700 1-sub-sin_binary64_8699 1-sub-cos_binary64_8698 cos-sin-sum_binary64_8697 log-E_binary64_8693 pow-base-0_binary64_8687 unpow1/3_binary64_8670 unpow1/2_binary64_8667 exp-to-pow_binary64_8665 pow-base-1_binary64_8663 unpow0_binary64_8662 unpow-1_binary64_8660 exp-lft-cube_binary64_8659 exp-cbrt_binary64_8657 e-exp-1_binary64_8648 exp-0_binary64_8645 rem-exp-log_binary64_8643 cube-neg_binary64_8630 rem-3cbrt-rft_binary64_8629 rem-3cbrt-lft_binary64_8628 rem-cube-cbrt_binary64_8626 sqr-abs_binary64_8618 sqr-neg_binary64_8617 rem-square-sqrt_binary64_8615 mul-1-neg_binary64_8595 remove-double-neg_binary64_8591 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 mul0-rgt_binary64_8586 mul0-lft_binary64_8585 +-inverses_binary64_8582 lft-mult-inverse_binary64_8581 difference-of-sqr--1_binary64_8574 difference-of-sqr-1_binary64_8573 difference-of-squares_binary64_8572 distribute-frac-neg_binary64_8566 distribute-neg-out_binary64_8565 distribute-rgt-neg-out_binary64_8563 distribute-lft1-in_binary64_8558 distribute-rgt-out--_binary64_8557 distribute-lft-out--_binary64_8555 count-2_binary64_8551 associate--l-_binary64_8541 associate-+l-_binary64_8538 associate-+r-_binary64_8537
Counts
137 → 373
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03684117
19473639
240383324

prune497.0ms (4.1%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3730373
Fresh044
Picked011
Done022
Total3737380
Error
0.0b
Counts
380 → 7
Compiler

Compiled 8440 to 3648 computations (56.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite289.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×cbrt-prod_binary64_8634
23×add-sqr-sqrt_binary64_8625
15×add-cube-cbrt_binary64_8638 *-un-lft-identity_binary64_8603
11×pow1_binary64_8664
pow1/3_binary64_8685
add-exp-log_binary64_8641 swap-sqr_binary64_8570 associate-*l*_binary64_8544 associate-*r*_binary64_8543
add-log-exp_binary64_8642 add-cbrt-cube_binary64_8639 unswap-sqr_binary64_8571
pow-prod-down_binary64_8674 pow-prod-up_binary64_8673 pow-sqr_binary64_8576
pow2_binary64_8684 pow-plus_binary64_8666 prod-exp_binary64_8652 cbrt-unprod_binary64_8636 *-commutative_binary64_8534
Counts
4 → 73
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 y)
Compiler

Compiled 1743 to 318 computations (81.8% saved)

series513.0ms (4.3%)

Error
0.0b
Counts
4 → 12
Calls

4 calls:

144.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
122.0ms
(cbrt.f64 y)
120.0ms
(cbrt.f64 y)
115.0ms
(cbrt.f64 y)
Compiler

Compiled 771 to 451 computations (41.5% saved)

simplify341.0ms (2.8%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_8689
427×log-div_binary64_8690
416×associate-/l*_binary64_8548
347×associate-*l*_binary64_8544
293×associate-/r*_binary64_8547
231×associate-*r*_binary64_8543
203×*-commutative_binary64_8534
184×associate-/r/_binary64_8549
150×distribute-rgt-neg-in_binary64_8561
144×distribute-lft-neg-in_binary64_8560
140×exp-prod_binary64_8655
128×distribute-rgt-in_binary64_8553
123×unswap-sqr_binary64_8571
112×cube-prod_binary64_8631
95×distribute-lft-in_binary64_8552
86×swap-sqr_binary64_8570
80×associate-/l/_binary64_8550
77×sqr-pow_binary64_8575
55×log-pow_binary64_8692 distribute-rgt-out_binary64_8556
52×times-frac_binary64_8609
47×cancel-sign-sub-inv_binary64_8569
42×associate-+l+_binary64_8536
39×associate-+r+_binary64_8535
38×associate-*l/_binary64_8546
37×pow-sqr_binary64_8576
30×distribute-lft-out_binary64_8554
29×cube-div_binary64_8632
28×distribute-neg-frac_binary64_8567
24×log-rec_binary64_8691 *-rgt-identity_binary64_8593
23×*-lft-identity_binary64_8592
22×pow-plus_binary64_8666
21×associate-*r/_binary64_8545
19×exp-sqrt_binary64_8656
18×rem-sqrt-square_binary64_8616
15×cube-unmult_binary64_8640
13×neg-mul-1_binary64_8599 neg-sub0_binary64_8598
12×associate-+l-_binary64_8538
exp-lft-sqr_binary64_8658 distribute-rgt-neg-out_binary64_8563 distribute-lft-neg-out_binary64_8562
distribute-rgt1-in_binary64_8559 count-2_binary64_8551
unpow3_binary64_8669 associate--l-_binary64_8541 associate--l+_binary64_8540
associate-+r-_binary64_8537 +-commutative_binary64_8533
div-exp_binary64_8654 prod-exp_binary64_8652 distribute-rgt-out--_binary64_8557
unpow1/3_binary64_8670 unpow2_binary64_8668 sub-neg_binary64_8596 distribute-lft-out--_binary64_8555
unpow1_binary64_8661 rec-exp_binary64_8653 exp-sum_binary64_8649 cube-mult_binary64_8633 rem-3cbrt-lft_binary64_8628 rem-cbrt-cube_binary64_8627 /-rgt-identity_binary64_8594 distribute-lft1-in_binary64_8558
pow-base-1_binary64_8663 exp-diff_binary64_8651 1-exp_binary64_8647 exp-1-e_binary64_8646 rem-log-exp_binary64_8644 rem-3cbrt-rft_binary64_8629 rem-square-sqrt_binary64_8615 mul-1-neg_binary64_8595 mul0-lft_binary64_8585 *-inverses_binary64_8583 distribute-neg-out_binary64_8565
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_8866 erf-erfc_binary64_8865 erf-odd_binary64_8864 if-if-and-not_binary64_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 not-gte_binary64_8855 not-lte_binary64_8854 not-gt_binary64_8853 not-lt_binary64_8852 gte-same_binary64_8851 lte-same_binary64_8850 gt-same_binary64_8849 lt-same_binary64_8848 sinh---cosh_binary64_8795 sinh-+-cosh_binary64_8794 sinh-cosh_binary64_8793 tanh-def-c_binary64_8792 tanh-def-b_binary64_8791 tanh-def-a_binary64_8790 cosh-def_binary64_8789 sinh-def_binary64_8788 tan-neg_binary64_8735 cos-neg_binary64_8734 sin-neg_binary64_8733 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 hang-m-tan_binary64_8729 hang-p-tan_binary64_8728 hang-m0-tan_binary64_8727 hang-p0-tan_binary64_8726 hang-0m-tan_binary64_8725 hang-0p-tan_binary64_8724 tan-+PI/2_binary64_8723 tan-+PI_binary64_8722 tan-PI_binary64_8721 tan-PI/3_binary64_8720 tan-PI/4_binary64_8719 tan-PI/6_binary64_8718 cos-+PI/2_binary64_8717 cos-+PI_binary64_8716 cos-PI_binary64_8715 cos-PI/2_binary64_8714 cos-PI/3_binary64_8713 cos-PI/4_binary64_8712 cos-PI/6_binary64_8711 sin-+PI/2_binary64_8710 sin-+PI_binary64_8709 sin-PI_binary64_8708 sin-PI/2_binary64_8707 sin-PI/3_binary64_8706 sin-PI/4_binary64_8705 sin-PI/6_binary64_8704 sub-1-sin_binary64_8703 sub-1-cos_binary64_8702 -1-add-sin_binary64_8701 -1-add-cos_binary64_8700 1-sub-sin_binary64_8699 1-sub-cos_binary64_8698 cos-sin-sum_binary64_8697 log-E_binary64_8693 pow-base-0_binary64_8687 unpow1/2_binary64_8667 exp-to-pow_binary64_8665 unpow0_binary64_8662 unpow-1_binary64_8660 exp-lft-cube_binary64_8659 exp-cbrt_binary64_8657 exp-neg_binary64_8650 e-exp-1_binary64_8648 exp-0_binary64_8645 rem-exp-log_binary64_8643 cube-neg_binary64_8630 rem-cube-cbrt_binary64_8626 sqr-abs_binary64_8618 sqr-neg_binary64_8617 div-sub_binary64_8608 unsub-neg_binary64_8597 remove-double-neg_binary64_8591 sub0-neg_binary64_8590 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 mul0-rgt_binary64_8586 div0_binary64_8584 +-inverses_binary64_8582 lft-mult-inverse_binary64_8581 rgt-mult-inverse_binary64_8580 remove-double-div_binary64_8579 difference-of-sqr--1_binary64_8574 difference-of-sqr-1_binary64_8573 difference-of-squares_binary64_8572 cancel-sign-sub_binary64_8568 distribute-frac-neg_binary64_8566 distribute-neg-in_binary64_8564 associate--r-_binary64_8542 associate--r+_binary64_8539
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune92.0ms (0.8%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New83083
Fresh033
Picked011
Done033
Total83790
Error
0.0b
Counts
90 → 7
Compiler

Compiled 1994 to 386 computations (80.6% saved)

regimes883.0ms (7.3%)

Accuracy

Total 0.2b remaining (89.3%)

Threshold costs 0.2b (89.3%)

Compiler

Compiled 8926 to 5283 computations (40.8% 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_8863 if-if-and_binary64_8862 if-if-or-not_binary64_8861 if-if-or_binary64_8860 if-not_binary64_8859 if-same_binary64_8858 if-false_binary64_8857 if-true_binary64_8856 tan-0_binary64_8732 cos-0_binary64_8731 sin-0_binary64_8730 unpow1_binary64_8661 e-exp-1_binary64_8648 1-exp_binary64_8647 exp-1-e_binary64_8646 exp-0_binary64_8645 sqr-abs_binary64_8618 sqr-neg_binary64_8617 neg-mul-1_binary64_8599 neg-sub0_binary64_8598 unsub-neg_binary64_8597 sub-neg_binary64_8596 mul-1-neg_binary64_8595 /-rgt-identity_binary64_8594 *-rgt-identity_binary64_8593 *-lft-identity_binary64_8592 remove-double-neg_binary64_8591 sub0-neg_binary64_8590 --rgt-identity_binary64_8589 +-rgt-identity_binary64_8588 +-lft-identity_binary64_8587 cancel-sign-sub-inv_binary64_8569 cancel-sign-sub_binary64_8568 distribute-neg-frac_binary64_8567 distribute-frac-neg_binary64_8566 distribute-neg-out_binary64_8565 distribute-neg-in_binary64_8564 distribute-rgt-neg-out_binary64_8563 distribute-lft-neg-out_binary64_8562 distribute-rgt-neg-in_binary64_8561 distribute-lft-neg-in_binary64_8560 *-commutative_binary64_8534 +-commutative_binary64_8533
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
Proof
(/ f64 (sin f64 h0) (/ f64 h0 (cosh f64 h1)))

end0.0ms (0%)

sample3.4s (28.2%)

Algorithm
intervals
Results
453.0ms2021×body1024valid
390.0ms1922×body1024invalid
238.0ms4491×body128valid
151.0ms1003×body512valid
133.0ms955×body512invalid
50.0ms517×body256invalid
47.0ms482×body256valid
38.0ms681×body128invalid
1.0msbody2048valid
Compiler

Compiled 1789 to 1062 computations (40.6% saved)

Profiling

Loading profile data...