Details

Time bar (total: 2.2s)

analyze241.0ms (11.2%)

Algorithm
search
egg-herbie
Rules
110×distribute-rgt-in_binary64_14691
92×cancel-sign-sub-inv_binary64_14707
84×unsub-neg_binary64_14735
74×associate-*r*_binary64_14681
65×sub-neg_binary64_14734
62×distribute-rgt-neg-out_binary64_14701
58×distribute-lft-neg-out_binary64_14700
57×distribute-rgt-neg-in_binary64_14699
54×associate--r+_binary64_14677
50×neg-mul-1_binary64_14737 distribute-lft-in_binary64_14690
48×distribute-neg-in_binary64_14702
47×neg-sub0_binary64_14736
45×associate-*l*_binary64_14682
32×distribute-lft-neg-in_binary64_14698
27×*-commutative_binary64_14672
22×remove-double-neg_binary64_14729
20×associate-+l-_binary64_14676
12×mul0-rgt_binary64_14724 mul0-lft_binary64_14723
11×+-commutative_binary64_14671
10×associate--r-_binary64_14680
sub0-neg_binary64_14728 distribute-rgt-out--_binary64_14695
distribute-rgt-out_binary64_14694 associate--l+_binary64_14678
*-lft-identity_binary64_14730 +-rgt-identity_binary64_14726 associate-+r-_binary64_14675 associate-+l+_binary64_14674 associate-+r+_binary64_14673
sqr-neg_binary64_14755 *-rgt-identity_binary64_14731 +-lft-identity_binary64_14725 swap-sqr_binary64_14708 distribute-lft-out--_binary64_14693
1-exp_binary64_14785
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_15004 erf-erfc_binary64_15003 erf-odd_binary64_15002 if-if-and-not_binary64_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 not-gte_binary64_14993 not-lte_binary64_14992 not-gt_binary64_14991 not-lt_binary64_14990 gte-same_binary64_14989 lte-same_binary64_14988 gt-same_binary64_14987 lt-same_binary64_14986 sinh---cosh_binary64_14933 sinh-+-cosh_binary64_14932 sinh-cosh_binary64_14931 tanh-def-c_binary64_14930 tanh-def-b_binary64_14929 tanh-def-a_binary64_14928 cosh-def_binary64_14927 sinh-def_binary64_14926 tan-neg_binary64_14873 cos-neg_binary64_14872 sin-neg_binary64_14871 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 hang-m-tan_binary64_14867 hang-p-tan_binary64_14866 hang-m0-tan_binary64_14865 hang-p0-tan_binary64_14864 hang-0m-tan_binary64_14863 hang-0p-tan_binary64_14862 tan-+PI/2_binary64_14861 tan-+PI_binary64_14860 tan-PI_binary64_14859 tan-PI/3_binary64_14858 tan-PI/4_binary64_14857 tan-PI/6_binary64_14856 cos-+PI/2_binary64_14855 cos-+PI_binary64_14854 cos-PI_binary64_14853 cos-PI/2_binary64_14852 cos-PI/3_binary64_14851 cos-PI/4_binary64_14850 cos-PI/6_binary64_14849 sin-+PI/2_binary64_14848 sin-+PI_binary64_14847 sin-PI_binary64_14846 sin-PI/2_binary64_14845 sin-PI/3_binary64_14844 sin-PI/4_binary64_14843 sin-PI/6_binary64_14842 sub-1-sin_binary64_14841 sub-1-cos_binary64_14840 -1-add-sin_binary64_14839 -1-add-cos_binary64_14838 1-sub-sin_binary64_14837 1-sub-cos_binary64_14836 cos-sin-sum_binary64_14835 log-E_binary64_14831 log-pow_binary64_14830 log-rec_binary64_14829 log-div_binary64_14828 log-prod_binary64_14827 pow-base-0_binary64_14825 unpow1/3_binary64_14808 unpow3_binary64_14807 unpow2_binary64_14806 unpow1/2_binary64_14805 pow-plus_binary64_14804 exp-to-pow_binary64_14803 pow-base-1_binary64_14801 unpow0_binary64_14800 unpow1_binary64_14799 unpow-1_binary64_14798 exp-lft-cube_binary64_14797 exp-lft-sqr_binary64_14796 exp-cbrt_binary64_14795 exp-sqrt_binary64_14794 exp-prod_binary64_14793 div-exp_binary64_14792 rec-exp_binary64_14791 prod-exp_binary64_14790 exp-diff_binary64_14789 exp-neg_binary64_14788 exp-sum_binary64_14787 e-exp-1_binary64_14786 exp-1-e_binary64_14784 exp-0_binary64_14783 rem-log-exp_binary64_14782 rem-exp-log_binary64_14781 cube-unmult_binary64_14778 cube-mult_binary64_14771 cube-div_binary64_14770 cube-prod_binary64_14769 cube-neg_binary64_14768 rem-3cbrt-rft_binary64_14767 rem-3cbrt-lft_binary64_14766 rem-cbrt-cube_binary64_14765 rem-cube-cbrt_binary64_14764 sqr-abs_binary64_14756 rem-sqrt-square_binary64_14754 rem-square-sqrt_binary64_14753 times-frac_binary64_14747 div-sub_binary64_14746 mul-1-neg_binary64_14733 /-rgt-identity_binary64_14732 --rgt-identity_binary64_14727 div0_binary64_14722 *-inverses_binary64_14721 +-inverses_binary64_14720 lft-mult-inverse_binary64_14719 rgt-mult-inverse_binary64_14718 remove-double-div_binary64_14717 pow-sqr_binary64_14714 sqr-pow_binary64_14713 difference-of-sqr--1_binary64_14712 difference-of-sqr-1_binary64_14711 difference-of-squares_binary64_14710 unswap-sqr_binary64_14709 cancel-sign-sub_binary64_14706 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-neg-out_binary64_14703 distribute-rgt1-in_binary64_14697 distribute-lft1-in_binary64_14696 distribute-lft-out_binary64_14692 count-2_binary64_14689 associate-/l/_binary64_14688 associate-/r/_binary64_14687 associate-/l*_binary64_14686 associate-/r*_binary64_14685 associate-*l/_binary64_14684 associate-*r/_binary64_14683 associate--l-_binary64_14679
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12720
25920
311120
417820
532020
641120
754020
856120
955720
1055720
1150420
022
122
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
37.5%50%12.6%6
43.7%40.6%15.7%7
56.2%23.4%20.4%8
57.8%21.1%21.2%9
64%12.5%23.5%10
64.8%10.7%24.5%11
67.9%6.4%25.7%12
68.3%5.4%26.3%13
69.9%3.3%26.9%14
Compiler

Compiled 10 to 8 computations (20% saved)

sample16.0ms (0.8%)

Algorithm
intervals
Results
6.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 19 to 17 computations (10.5% saved)

simplify22.0ms (1%)

Algorithm
egg-herbie
Rules
71×distribute-rgt-in_binary64_14691
70×associate-*l*_binary64_14682
69×cancel-sign-sub-inv_binary64_14707
67×associate-*r*_binary64_14681
50×sub-neg_binary64_14734
39×distribute-lft-in_binary64_14690
36×distribute-rgt-neg-out_binary64_14701
35×distribute-lft-neg-out_binary64_14700
29×distribute-rgt-neg-in_binary64_14699 associate--r+_binary64_14677
27×unsub-neg_binary64_14735
24×*-commutative_binary64_14672
21×neg-sub0_binary64_14736
19×neg-mul-1_binary64_14737 distribute-neg-in_binary64_14702 associate-+l-_binary64_14676
12×sub0-neg_binary64_14728 mul0-rgt_binary64_14724 mul0-lft_binary64_14723 distribute-lft-neg-in_binary64_14698
10×+-commutative_binary64_14671
*-lft-identity_binary64_14730 distribute-rgt-out_binary64_14694
distribute-rgt-out--_binary64_14695
*-rgt-identity_binary64_14731
+-lft-identity_binary64_14725 associate--r-_binary64_14680 associate-+l+_binary64_14674
remove-double-neg_binary64_14729 associate-+r+_binary64_14673
--rgt-identity_binary64_14727 associate--l+_binary64_14678 associate-+r-_binary64_14675
mul-1-neg_binary64_14733 +-rgt-identity_binary64_14726 distribute-lft-out_binary64_14692
1-exp_binary64_14785 swap-sqr_binary64_14708 distribute-lft-out--_binary64_14693 associate--l-_binary64_14679
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_15004 erf-erfc_binary64_15003 erf-odd_binary64_15002 if-if-and-not_binary64_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 not-gte_binary64_14993 not-lte_binary64_14992 not-gt_binary64_14991 not-lt_binary64_14990 gte-same_binary64_14989 lte-same_binary64_14988 gt-same_binary64_14987 lt-same_binary64_14986 sinh---cosh_binary64_14933 sinh-+-cosh_binary64_14932 sinh-cosh_binary64_14931 tanh-def-c_binary64_14930 tanh-def-b_binary64_14929 tanh-def-a_binary64_14928 cosh-def_binary64_14927 sinh-def_binary64_14926 tan-neg_binary64_14873 cos-neg_binary64_14872 sin-neg_binary64_14871 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 hang-m-tan_binary64_14867 hang-p-tan_binary64_14866 hang-m0-tan_binary64_14865 hang-p0-tan_binary64_14864 hang-0m-tan_binary64_14863 hang-0p-tan_binary64_14862 tan-+PI/2_binary64_14861 tan-+PI_binary64_14860 tan-PI_binary64_14859 tan-PI/3_binary64_14858 tan-PI/4_binary64_14857 tan-PI/6_binary64_14856 cos-+PI/2_binary64_14855 cos-+PI_binary64_14854 cos-PI_binary64_14853 cos-PI/2_binary64_14852 cos-PI/3_binary64_14851 cos-PI/4_binary64_14850 cos-PI/6_binary64_14849 sin-+PI/2_binary64_14848 sin-+PI_binary64_14847 sin-PI_binary64_14846 sin-PI/2_binary64_14845 sin-PI/3_binary64_14844 sin-PI/4_binary64_14843 sin-PI/6_binary64_14842 sub-1-sin_binary64_14841 sub-1-cos_binary64_14840 -1-add-sin_binary64_14839 -1-add-cos_binary64_14838 1-sub-sin_binary64_14837 1-sub-cos_binary64_14836 cos-sin-sum_binary64_14835 log-E_binary64_14831 log-pow_binary64_14830 log-rec_binary64_14829 log-div_binary64_14828 log-prod_binary64_14827 pow-base-0_binary64_14825 unpow1/3_binary64_14808 unpow3_binary64_14807 unpow2_binary64_14806 unpow1/2_binary64_14805 pow-plus_binary64_14804 exp-to-pow_binary64_14803 pow-base-1_binary64_14801 unpow0_binary64_14800 unpow1_binary64_14799 unpow-1_binary64_14798 exp-lft-cube_binary64_14797 exp-lft-sqr_binary64_14796 exp-cbrt_binary64_14795 exp-sqrt_binary64_14794 exp-prod_binary64_14793 div-exp_binary64_14792 rec-exp_binary64_14791 prod-exp_binary64_14790 exp-diff_binary64_14789 exp-neg_binary64_14788 exp-sum_binary64_14787 e-exp-1_binary64_14786 exp-1-e_binary64_14784 exp-0_binary64_14783 rem-log-exp_binary64_14782 rem-exp-log_binary64_14781 cube-unmult_binary64_14778 cube-mult_binary64_14771 cube-div_binary64_14770 cube-prod_binary64_14769 cube-neg_binary64_14768 rem-3cbrt-rft_binary64_14767 rem-3cbrt-lft_binary64_14766 rem-cbrt-cube_binary64_14765 rem-cube-cbrt_binary64_14764 sqr-abs_binary64_14756 sqr-neg_binary64_14755 rem-sqrt-square_binary64_14754 rem-square-sqrt_binary64_14753 times-frac_binary64_14747 div-sub_binary64_14746 /-rgt-identity_binary64_14732 div0_binary64_14722 *-inverses_binary64_14721 +-inverses_binary64_14720 lft-mult-inverse_binary64_14719 rgt-mult-inverse_binary64_14718 remove-double-div_binary64_14717 pow-sqr_binary64_14714 sqr-pow_binary64_14713 difference-of-sqr--1_binary64_14712 difference-of-sqr-1_binary64_14711 difference-of-squares_binary64_14710 unswap-sqr_binary64_14709 cancel-sign-sub_binary64_14706 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-neg-out_binary64_14703 distribute-rgt1-in_binary64_14697 distribute-lft1-in_binary64_14696 count-2_binary64_14689 associate-/l/_binary64_14688 associate-/r/_binary64_14687 associate-/l*_binary64_14686 associate-/r*_binary64_14685 associate-*l/_binary64_14684 associate-*r/_binary64_14683
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11710
23910
38010
412710
516910
628610
735010
843010
941710
1036410

prune4.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 2
Compiler

Compiled 23 to 19 computations (17.4% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 2 (*.f64 x (-.f64 x y)))
0.0b
(*.f64 x (-.f64 x y))

rewrite73.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
20×distribute-rgt-in_binary64_14691 distribute-lft-in_binary64_14690
18×cancel-sign-sub-inv_binary64_14707
15×add-sqr-sqrt_binary64_14763
13×*-un-lft-identity_binary64_14741
11×add-cube-cbrt_binary64_14776
pow1_binary64_14802 add-exp-log_binary64_14779 add-cbrt-cube_binary64_14777
sub-neg_binary64_14734 associate-*r/_binary64_14683 associate-*l*_binary64_14682 associate-*r*_binary64_14681
pow-prod-down_binary64_14812 prod-exp_binary64_14790 cbrt-unprod_binary64_14774
add-log-exp_binary64_14780 flip3--_binary64_14745 flip--_binary64_14716 *-commutative_binary64_14672
unswap-sqr_binary64_14709 difference-of-squares_binary64_14710 distribute-lft-out--_binary64_14693
Counts
2 → 66
Calls

2 calls:

8.0ms
(*.f64 2 (*.f64 x (-.f64 x y)))
8.0ms
(*.f64 x (-.f64 x y))
Compiler

Compiled 918 to 371 computations (59.6% saved)

series270.0ms (12.5%)

Error
0.0b
Counts
2 → 24
Calls

2 calls:

148.0ms
(*.f64 2 (*.f64 x (-.f64 x y)))
105.0ms
(*.f64 x (-.f64 x y))
Compiler

Compiled 492 to 405 computations (17.7% saved)

simplify86.0ms (4%)

Algorithm
egg-herbie
Rules
419×distribute-rgt-neg-out_binary64_14701
413×distribute-lft-neg-out_binary64_14700
340×exp-prod_binary64_14793
317×unsub-neg_binary64_14735
298×*-commutative_binary64_14672
291×associate-+l+_binary64_14674
262×distribute-rgt-in_binary64_14691
248×distribute-lft-in_binary64_14690
153×associate-*l*_binary64_14682
152×associate-*r*_binary64_14681
84×neg-sub0_binary64_14736
82×neg-mul-1_binary64_14737
73×unswap-sqr_binary64_14709
59×distribute-rgt-neg-in_binary64_14699
51×sqr-pow_binary64_14713
48×distribute-lft-neg-in_binary64_14698
46×cancel-sign-sub-inv_binary64_14707
41×associate-+l-_binary64_14676
40×sub-neg_binary64_14734
34×log-prod_binary64_14827
32×*-lft-identity_binary64_14730 swap-sqr_binary64_14708
31×exp-sum_binary64_14787
30×cube-prod_binary64_14769 *-rgt-identity_binary64_14731 associate-+r-_binary64_14675
26×associate-/l*_binary64_14686
24×distribute-neg-out_binary64_14703
21×exp-neg_binary64_14788 mul0-rgt_binary64_14724 mul0-lft_binary64_14723 distribute-rgt-out_binary64_14694
19×exp-lft-sqr_binary64_14796
18×+-commutative_binary64_14671
16×exp-diff_binary64_14789
14×difference-of-squares_binary64_14710
12×div-sub_binary64_14746 pow-sqr_binary64_14714
10×unpow3_binary64_14807
distribute-rgt-out--_binary64_14695
associate-+r+_binary64_14673
associate-/r*_binary64_14685
associate-*r/_binary64_14683 associate--r+_binary64_14677
cube-unmult_binary64_14778 sub0-neg_binary64_14728 associate-/l/_binary64_14688
unpow1/2_binary64_14805 pow-plus_binary64_14804 cube-mult_binary64_14771 +-rgt-identity_binary64_14726
log-pow_binary64_14830 distribute-lft-out--_binary64_14693 associate-/r/_binary64_14687
prod-exp_binary64_14790 rem-sqrt-square_binary64_14754 count-2_binary64_14689
unpow2_binary64_14806 unpow1_binary64_14799 1-exp_binary64_14785 exp-1-e_binary64_14784 rem-3cbrt-lft_binary64_14766 sqr-neg_binary64_14755 rem-square-sqrt_binary64_14753 mul-1-neg_binary64_14733 cancel-sign-sub_binary64_14706 distribute-neg-in_binary64_14702 distribute-rgt1-in_binary64_14697 associate-*l/_binary64_14684
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_15004 erf-erfc_binary64_15003 erf-odd_binary64_15002 if-if-and-not_binary64_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 not-gte_binary64_14993 not-lte_binary64_14992 not-gt_binary64_14991 not-lt_binary64_14990 gte-same_binary64_14989 lte-same_binary64_14988 gt-same_binary64_14987 lt-same_binary64_14986 sinh---cosh_binary64_14933 sinh-+-cosh_binary64_14932 sinh-cosh_binary64_14931 tanh-def-c_binary64_14930 tanh-def-b_binary64_14929 tanh-def-a_binary64_14928 cosh-def_binary64_14927 sinh-def_binary64_14926 tan-neg_binary64_14873 cos-neg_binary64_14872 sin-neg_binary64_14871 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 hang-m-tan_binary64_14867 hang-p-tan_binary64_14866 hang-m0-tan_binary64_14865 hang-p0-tan_binary64_14864 hang-0m-tan_binary64_14863 hang-0p-tan_binary64_14862 tan-+PI/2_binary64_14861 tan-+PI_binary64_14860 tan-PI_binary64_14859 tan-PI/3_binary64_14858 tan-PI/4_binary64_14857 tan-PI/6_binary64_14856 cos-+PI/2_binary64_14855 cos-+PI_binary64_14854 cos-PI_binary64_14853 cos-PI/2_binary64_14852 cos-PI/3_binary64_14851 cos-PI/4_binary64_14850 cos-PI/6_binary64_14849 sin-+PI/2_binary64_14848 sin-+PI_binary64_14847 sin-PI_binary64_14846 sin-PI/2_binary64_14845 sin-PI/3_binary64_14844 sin-PI/4_binary64_14843 sin-PI/6_binary64_14842 sub-1-sin_binary64_14841 sub-1-cos_binary64_14840 -1-add-sin_binary64_14839 -1-add-cos_binary64_14838 1-sub-sin_binary64_14837 1-sub-cos_binary64_14836 cos-sin-sum_binary64_14835 log-E_binary64_14831 log-rec_binary64_14829 log-div_binary64_14828 pow-base-0_binary64_14825 unpow1/3_binary64_14808 exp-to-pow_binary64_14803 pow-base-1_binary64_14801 unpow0_binary64_14800 unpow-1_binary64_14798 exp-lft-cube_binary64_14797 exp-cbrt_binary64_14795 exp-sqrt_binary64_14794 div-exp_binary64_14792 rec-exp_binary64_14791 e-exp-1_binary64_14786 exp-0_binary64_14783 rem-log-exp_binary64_14782 rem-exp-log_binary64_14781 cube-div_binary64_14770 cube-neg_binary64_14768 rem-3cbrt-rft_binary64_14767 rem-cbrt-cube_binary64_14765 rem-cube-cbrt_binary64_14764 sqr-abs_binary64_14756 times-frac_binary64_14747 /-rgt-identity_binary64_14732 remove-double-neg_binary64_14729 --rgt-identity_binary64_14727 +-lft-identity_binary64_14725 div0_binary64_14722 *-inverses_binary64_14721 +-inverses_binary64_14720 lft-mult-inverse_binary64_14719 rgt-mult-inverse_binary64_14718 remove-double-div_binary64_14717 difference-of-sqr--1_binary64_14712 difference-of-sqr-1_binary64_14711 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-lft1-in_binary64_14696 distribute-lft-out_binary64_14692 associate--r-_binary64_14680 associate--l-_binary64_14679 associate--l+_binary64_14678
Counts
90 → 75
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131065
1253930
2761930
31921930
44851930
55013930

prune50.0ms (2.3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New74175
Fresh011
Picked101
Done000
Total75277
Error
0b
Counts
77 → 2
Compiler

Compiled 732 to 326 computations (55.5% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 x (*.f64 2 (-.f64 x y)))

rewrite40.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
16×distribute-rgt-in_binary64_14691 distribute-lft-in_binary64_14690
12×cancel-sign-sub-inv_binary64_14707
pow1_binary64_14802 add-exp-log_binary64_14779 add-cbrt-cube_binary64_14777 add-cube-cbrt_binary64_14776 add-sqr-sqrt_binary64_14763 *-un-lft-identity_binary64_14741
sub-neg_binary64_14734 associate-*r/_binary64_14683
pow-prod-down_binary64_14812 prod-exp_binary64_14790 cbrt-unprod_binary64_14774 associate-*l*_binary64_14682
add-log-exp_binary64_14780 flip3--_binary64_14745 flip--_binary64_14716 associate-*r*_binary64_14681 *-commutative_binary64_14672
Counts
1 → 36
Calls

1 calls:

8.0ms
(*.f64 x (*.f64 2 (-.f64 x y)))
Compiler

Compiled 520 to 275 computations (47.1% saved)

series133.0ms (6.2%)

Error
0b
Counts
1 → 12
Calls

1 calls:

126.0ms
(*.f64 x (*.f64 2 (-.f64 x y)))
Compiler

Compiled 258 to 216 computations (16.3% saved)

simplify72.0ms (3.3%)

Algorithm
egg-herbie
Rules
757×associate-*r*_binary64_14681
546×neg-mul-1_binary64_14737
337×exp-prod_binary64_14793
299×distribute-rgt-neg-out_binary64_14701
251×distribute-lft-neg-out_binary64_14700
235×distribute-rgt-in_binary64_14691
220×distribute-lft-in_binary64_14690
202×*-commutative_binary64_14672
151×associate-+l+_binary64_14674
147×unsub-neg_binary64_14735 +-commutative_binary64_14671
115×associate-*l*_binary64_14682
92×associate-+r+_binary64_14673
81×exp-sum_binary64_14787
72×unswap-sqr_binary64_14709
68×cancel-sign-sub-inv_binary64_14707
56×neg-sub0_binary64_14736
53×exp-diff_binary64_14789
52×distribute-rgt-neg-in_binary64_14699
46×exp-neg_binary64_14788
44×distribute-rgt-out_binary64_14694
42×sqr-pow_binary64_14713
35×sub-neg_binary64_14734
34×cube-prod_binary64_14769
33×log-prod_binary64_14827
32×div-sub_binary64_14746
28×swap-sqr_binary64_14708 distribute-lft-neg-in_binary64_14698
24×associate-+l-_binary64_14676
23×exp-lft-sqr_binary64_14796
19×mul0-rgt_binary64_14724 mul0-lft_binary64_14723
16×associate-+r-_binary64_14675
13×unpow3_binary64_14807
12×difference-of-squares_binary64_14710 distribute-neg-out_binary64_14703
11×distribute-rgt-out--_binary64_14695
prod-exp_binary64_14790 cube-mult_binary64_14771
cube-unmult_binary64_14778 pow-sqr_binary64_14714
log-div_binary64_14828 pow-plus_binary64_14804 cube-div_binary64_14770
sqr-neg_binary64_14755 associate--r+_binary64_14677
+-rgt-identity_binary64_14726 associate-/l*_binary64_14686
unpow1_binary64_14799 sub0-neg_binary64_14728
log-pow_binary64_14830 rem-sqrt-square_binary64_14754 associate-/l/_binary64_14688 associate-*r/_binary64_14683
exp-sqrt_binary64_14794 cube-neg_binary64_14768 distribute-lft-out--_binary64_14693
unpow2_binary64_14806 unpow1/2_binary64_14805 div-exp_binary64_14792 1-exp_binary64_14785 rem-3cbrt-lft_binary64_14766 rem-square-sqrt_binary64_14753 /-rgt-identity_binary64_14732 cancel-sign-sub_binary64_14706 distribute-neg-in_binary64_14702 count-2_binary64_14689 associate-/r/_binary64_14687 associate-/r*_binary64_14685
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_15004 erf-erfc_binary64_15003 erf-odd_binary64_15002 if-if-and-not_binary64_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 not-gte_binary64_14993 not-lte_binary64_14992 not-gt_binary64_14991 not-lt_binary64_14990 gte-same_binary64_14989 lte-same_binary64_14988 gt-same_binary64_14987 lt-same_binary64_14986 sinh---cosh_binary64_14933 sinh-+-cosh_binary64_14932 sinh-cosh_binary64_14931 tanh-def-c_binary64_14930 tanh-def-b_binary64_14929 tanh-def-a_binary64_14928 cosh-def_binary64_14927 sinh-def_binary64_14926 tan-neg_binary64_14873 cos-neg_binary64_14872 sin-neg_binary64_14871 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 hang-m-tan_binary64_14867 hang-p-tan_binary64_14866 hang-m0-tan_binary64_14865 hang-p0-tan_binary64_14864 hang-0m-tan_binary64_14863 hang-0p-tan_binary64_14862 tan-+PI/2_binary64_14861 tan-+PI_binary64_14860 tan-PI_binary64_14859 tan-PI/3_binary64_14858 tan-PI/4_binary64_14857 tan-PI/6_binary64_14856 cos-+PI/2_binary64_14855 cos-+PI_binary64_14854 cos-PI_binary64_14853 cos-PI/2_binary64_14852 cos-PI/3_binary64_14851 cos-PI/4_binary64_14850 cos-PI/6_binary64_14849 sin-+PI/2_binary64_14848 sin-+PI_binary64_14847 sin-PI_binary64_14846 sin-PI/2_binary64_14845 sin-PI/3_binary64_14844 sin-PI/4_binary64_14843 sin-PI/6_binary64_14842 sub-1-sin_binary64_14841 sub-1-cos_binary64_14840 -1-add-sin_binary64_14839 -1-add-cos_binary64_14838 1-sub-sin_binary64_14837 1-sub-cos_binary64_14836 cos-sin-sum_binary64_14835 log-E_binary64_14831 log-rec_binary64_14829 pow-base-0_binary64_14825 unpow1/3_binary64_14808 exp-to-pow_binary64_14803 pow-base-1_binary64_14801 unpow0_binary64_14800 unpow-1_binary64_14798 exp-lft-cube_binary64_14797 exp-cbrt_binary64_14795 rec-exp_binary64_14791 e-exp-1_binary64_14786 exp-1-e_binary64_14784 exp-0_binary64_14783 rem-log-exp_binary64_14782 rem-exp-log_binary64_14781 rem-3cbrt-rft_binary64_14767 rem-cbrt-cube_binary64_14765 rem-cube-cbrt_binary64_14764 sqr-abs_binary64_14756 times-frac_binary64_14747 mul-1-neg_binary64_14733 *-rgt-identity_binary64_14731 *-lft-identity_binary64_14730 remove-double-neg_binary64_14729 --rgt-identity_binary64_14727 +-lft-identity_binary64_14725 div0_binary64_14722 *-inverses_binary64_14721 +-inverses_binary64_14720 lft-mult-inverse_binary64_14719 rgt-mult-inverse_binary64_14718 remove-double-div_binary64_14717 difference-of-sqr--1_binary64_14712 difference-of-sqr-1_binary64_14711 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-rgt1-in_binary64_14697 distribute-lft1-in_binary64_14696 distribute-lft-out_binary64_14692 associate-*l/_binary64_14684 associate--r-_binary64_14680 associate--l-_binary64_14679 associate--l+_binary64_14678
Counts
48 → 36
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
097646
1217565
2617565
32067565
44246565
55291565

prune22.0ms (1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New36036
Fresh011
Picked011
Done000
Total36238
Error
0b
Counts
38 → 2
Compiler

Compiled 357 to 171 computations (52.1% saved)

localize6.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(-.f64 (*.f64 x x) (*.f64 x y))

rewrite47.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_14763
add-log-exp_binary64_14780 pow1_binary64_14802 add-exp-log_binary64_14779 add-cbrt-cube_binary64_14777 add-cube-cbrt_binary64_14776 *-un-lft-identity_binary64_14741 associate-*r*_binary64_14681
sub-neg_binary64_14734 cancel-sign-sub-inv_binary64_14707 associate-*l*_binary64_14682
flip3--_binary64_14745 flip--_binary64_14716 distribute-lft-out--_binary64_14693 distribute-rgt-in_binary64_14691 distribute-lft-in_binary64_14690 associate-*r/_binary64_14683
diff-log_binary64_14833 pow-prod-down_binary64_14812 prod-exp_binary64_14790 cbrt-unprod_binary64_14774 unswap-sqr_binary64_14709 *-commutative_binary64_14672
Counts
2 → 38
Calls

2 calls:

8.0ms
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
5.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 645 to 202 computations (68.7% saved)

series289.0ms (13.4%)

Error
0b
Counts
2 → 24
Calls

2 calls:

155.0ms
(*.f64 2 (-.f64 (*.f64 x x) (*.f64 x y)))
121.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 492 to 405 computations (17.7% saved)

simplify80.0ms (3.7%)

Algorithm
egg-herbie
Rules
516×associate-*l*_binary64_14682
434×associate-*r*_binary64_14681
273×times-frac_binary64_14747
175×distribute-lft-out_binary64_14692
171×distribute-rgt-neg-out_binary64_14701
168×distribute-lft-neg-out_binary64_14700
157×exp-prod_binary64_14793 cancel-sign-sub-inv_binary64_14707
151×distribute-rgt-in_binary64_14691
150×distribute-rgt-out_binary64_14694
149×distribute-lft-in_binary64_14690
110×unswap-sqr_binary64_14709
109×distribute-lft-neg-in_binary64_14698
106×distribute-rgt-neg-in_binary64_14699
105×*-commutative_binary64_14672
90×associate-+r+_binary64_14673
79×associate-+l+_binary64_14674
77×sqr-pow_binary64_14713
76×+-commutative_binary64_14671
68×unsub-neg_binary64_14735
61×cube-prod_binary64_14769
56×swap-sqr_binary64_14708
49×log-prod_binary64_14827
46×neg-sub0_binary64_14736
45×sub-neg_binary64_14734
44×exp-sum_binary64_14787
33×neg-mul-1_binary64_14737
28×distribute-rgt-out--_binary64_14695
27×difference-of-squares_binary64_14710
25×exp-diff_binary64_14789 distribute-lft-out--_binary64_14693
23×associate-/l*_binary64_14686
19×unpow3_binary64_14807
18×associate-*r/_binary64_14683
17×prod-exp_binary64_14790 associate-+l-_binary64_14676
16×associate-/r*_binary64_14685 associate-+r-_binary64_14675
14×pow-sqr_binary64_14714
13×div-exp_binary64_14792 cube-unmult_binary64_14778 cube-mult_binary64_14771
12×sqr-neg_binary64_14755
11×mul0-rgt_binary64_14724 mul0-lft_binary64_14723
10×div-sub_binary64_14746
exp-lft-sqr_binary64_14796 mul-1-neg_binary64_14733 associate-*l/_binary64_14684
pow-plus_binary64_14804
associate-/l/_binary64_14688
unpow1_binary64_14799 sub0-neg_binary64_14728 +-rgt-identity_binary64_14726
associate-/r/_binary64_14687
log-pow_binary64_14830 cube-neg_binary64_14768 distribute-neg-in_binary64_14702 associate--r+_binary64_14677
unpow1/2_binary64_14805 count-2_binary64_14689
unpow2_binary64_14806 rec-exp_binary64_14791 exp-neg_binary64_14788 1-exp_binary64_14785 rem-sqrt-square_binary64_14754 associate--l+_binary64_14678
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_15004 erf-erfc_binary64_15003 erf-odd_binary64_15002 if-if-and-not_binary64_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 not-gte_binary64_14993 not-lte_binary64_14992 not-gt_binary64_14991 not-lt_binary64_14990 gte-same_binary64_14989 lte-same_binary64_14988 gt-same_binary64_14987 lt-same_binary64_14986 sinh---cosh_binary64_14933 sinh-+-cosh_binary64_14932 sinh-cosh_binary64_14931 tanh-def-c_binary64_14930 tanh-def-b_binary64_14929 tanh-def-a_binary64_14928 cosh-def_binary64_14927 sinh-def_binary64_14926 tan-neg_binary64_14873 cos-neg_binary64_14872 sin-neg_binary64_14871 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 hang-m-tan_binary64_14867 hang-p-tan_binary64_14866 hang-m0-tan_binary64_14865 hang-p0-tan_binary64_14864 hang-0m-tan_binary64_14863 hang-0p-tan_binary64_14862 tan-+PI/2_binary64_14861 tan-+PI_binary64_14860 tan-PI_binary64_14859 tan-PI/3_binary64_14858 tan-PI/4_binary64_14857 tan-PI/6_binary64_14856 cos-+PI/2_binary64_14855 cos-+PI_binary64_14854 cos-PI_binary64_14853 cos-PI/2_binary64_14852 cos-PI/3_binary64_14851 cos-PI/4_binary64_14850 cos-PI/6_binary64_14849 sin-+PI/2_binary64_14848 sin-+PI_binary64_14847 sin-PI_binary64_14846 sin-PI/2_binary64_14845 sin-PI/3_binary64_14844 sin-PI/4_binary64_14843 sin-PI/6_binary64_14842 sub-1-sin_binary64_14841 sub-1-cos_binary64_14840 -1-add-sin_binary64_14839 -1-add-cos_binary64_14838 1-sub-sin_binary64_14837 1-sub-cos_binary64_14836 cos-sin-sum_binary64_14835 log-E_binary64_14831 log-rec_binary64_14829 log-div_binary64_14828 pow-base-0_binary64_14825 unpow1/3_binary64_14808 exp-to-pow_binary64_14803 pow-base-1_binary64_14801 unpow0_binary64_14800 unpow-1_binary64_14798 exp-lft-cube_binary64_14797 exp-cbrt_binary64_14795 exp-sqrt_binary64_14794 e-exp-1_binary64_14786 exp-1-e_binary64_14784 exp-0_binary64_14783 rem-log-exp_binary64_14782 rem-exp-log_binary64_14781 cube-div_binary64_14770 rem-3cbrt-rft_binary64_14767 rem-3cbrt-lft_binary64_14766 rem-cbrt-cube_binary64_14765 rem-cube-cbrt_binary64_14764 sqr-abs_binary64_14756 rem-square-sqrt_binary64_14753 /-rgt-identity_binary64_14732 *-rgt-identity_binary64_14731 *-lft-identity_binary64_14730 remove-double-neg_binary64_14729 --rgt-identity_binary64_14727 +-lft-identity_binary64_14725 div0_binary64_14722 *-inverses_binary64_14721 +-inverses_binary64_14720 lft-mult-inverse_binary64_14719 rgt-mult-inverse_binary64_14718 remove-double-div_binary64_14717 difference-of-sqr--1_binary64_14712 difference-of-sqr-1_binary64_14711 cancel-sign-sub_binary64_14706 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-neg-out_binary64_14703 distribute-rgt1-in_binary64_14697 distribute-lft1-in_binary64_14696 associate--r-_binary64_14680 associate--l-_binary64_14679
Counts
62 → 55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
074719
1173656
2516656
32163656
44388656
55066656

prune33.0ms (1.5%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New55055
Fresh000
Picked011
Done011
Total55257
Error
0b
Counts
57 → 2
Compiler

Compiled 584 to 247 computations (57.7% saved)

regimes72.0ms (3.3%)

Accuracy

Total 0.0b remaining (71.8%)

Threshold costs 0.0b (71.8%)

Compiler

Compiled 304 to 280 computations (7.9% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_14672
sub-neg_binary64_14734 +-commutative_binary64_14671
neg-mul-1_binary64_14737 neg-sub0_binary64_14736
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_15001 if-if-and_binary64_15000 if-if-or-not_binary64_14999 if-if-or_binary64_14998 if-not_binary64_14997 if-same_binary64_14996 if-false_binary64_14995 if-true_binary64_14994 tan-0_binary64_14870 cos-0_binary64_14869 sin-0_binary64_14868 unpow1_binary64_14799 e-exp-1_binary64_14786 1-exp_binary64_14785 exp-1-e_binary64_14784 exp-0_binary64_14783 sqr-abs_binary64_14756 sqr-neg_binary64_14755 unsub-neg_binary64_14735 mul-1-neg_binary64_14733 /-rgt-identity_binary64_14732 *-rgt-identity_binary64_14731 *-lft-identity_binary64_14730 remove-double-neg_binary64_14729 sub0-neg_binary64_14728 --rgt-identity_binary64_14727 +-rgt-identity_binary64_14726 +-lft-identity_binary64_14725 cancel-sign-sub-inv_binary64_14707 cancel-sign-sub_binary64_14706 distribute-neg-frac_binary64_14705 distribute-frac-neg_binary64_14704 distribute-neg-out_binary64_14703 distribute-neg-in_binary64_14702 distribute-rgt-neg-out_binary64_14701 distribute-lft-neg-out_binary64_14700 distribute-rgt-neg-in_binary64_14699 distribute-lft-neg-in_binary64_14698
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11110
21610
31810
41910
51910

end0.0ms (0%)

sample584.0ms (27.1%)

Algorithm
intervals
Results
207.0ms8000×body128valid
4.0ms177×body128invalid
Compiler

Compiled 91 to 84 computations (7.7% saved)

Profiling

Loading profile data...