Details

Time bar (total: 3.2s)

analyze149.0ms (4.6%)

Algorithm
search
egg-herbie
Rules
1-exp_binary64_6942 sub-neg_binary64_6891 +-commutative_binary64_6828
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_7161 erf-erfc_binary64_7160 erf-odd_binary64_7159 if-if-and-not_binary64_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 not-gte_binary64_7150 not-lte_binary64_7149 not-gt_binary64_7148 not-lt_binary64_7147 gte-same_binary64_7146 lte-same_binary64_7145 gt-same_binary64_7144 lt-same_binary64_7143 sinh---cosh_binary64_7090 sinh-+-cosh_binary64_7089 sinh-cosh_binary64_7088 tanh-def-c_binary64_7087 tanh-def-b_binary64_7086 tanh-def-a_binary64_7085 cosh-def_binary64_7084 sinh-def_binary64_7083 tan-neg_binary64_7030 cos-neg_binary64_7029 sin-neg_binary64_7028 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 hang-m-tan_binary64_7024 hang-p-tan_binary64_7023 hang-m0-tan_binary64_7022 hang-p0-tan_binary64_7021 hang-0m-tan_binary64_7020 hang-0p-tan_binary64_7019 tan-+PI/2_binary64_7018 tan-+PI_binary64_7017 tan-PI_binary64_7016 tan-PI/3_binary64_7015 tan-PI/4_binary64_7014 tan-PI/6_binary64_7013 cos-+PI/2_binary64_7012 cos-+PI_binary64_7011 cos-PI_binary64_7010 cos-PI/2_binary64_7009 cos-PI/3_binary64_7008 cos-PI/4_binary64_7007 cos-PI/6_binary64_7006 sin-+PI/2_binary64_7005 sin-+PI_binary64_7004 sin-PI_binary64_7003 sin-PI/2_binary64_7002 sin-PI/3_binary64_7001 sin-PI/4_binary64_7000 sin-PI/6_binary64_6999 sub-1-sin_binary64_6998 sub-1-cos_binary64_6997 -1-add-sin_binary64_6996 -1-add-cos_binary64_6995 1-sub-sin_binary64_6994 1-sub-cos_binary64_6993 cos-sin-sum_binary64_6992 log-E_binary64_6988 log-pow_binary64_6987 log-rec_binary64_6986 log-div_binary64_6985 log-prod_binary64_6984 pow-base-0_binary64_6982 unpow1/3_binary64_6965 unpow3_binary64_6964 unpow2_binary64_6963 unpow1/2_binary64_6962 pow-plus_binary64_6961 exp-to-pow_binary64_6960 pow-base-1_binary64_6958 unpow0_binary64_6957 unpow1_binary64_6956 unpow-1_binary64_6955 exp-lft-cube_binary64_6954 exp-lft-sqr_binary64_6953 exp-cbrt_binary64_6952 exp-sqrt_binary64_6951 exp-prod_binary64_6950 div-exp_binary64_6949 rec-exp_binary64_6948 prod-exp_binary64_6947 exp-diff_binary64_6946 exp-neg_binary64_6945 exp-sum_binary64_6944 e-exp-1_binary64_6943 exp-1-e_binary64_6941 exp-0_binary64_6940 rem-log-exp_binary64_6939 rem-exp-log_binary64_6938 cube-unmult_binary64_6935 cube-mult_binary64_6928 cube-div_binary64_6927 cube-prod_binary64_6926 cube-neg_binary64_6925 rem-3cbrt-rft_binary64_6924 rem-3cbrt-lft_binary64_6923 rem-cbrt-cube_binary64_6922 rem-cube-cbrt_binary64_6921 sqr-abs_binary64_6913 sqr-neg_binary64_6912 rem-sqrt-square_binary64_6911 rem-square-sqrt_binary64_6910 times-frac_binary64_6904 div-sub_binary64_6903 neg-mul-1_binary64_6894 neg-sub0_binary64_6893 unsub-neg_binary64_6892 mul-1-neg_binary64_6890 /-rgt-identity_binary64_6889 *-rgt-identity_binary64_6888 *-lft-identity_binary64_6887 remove-double-neg_binary64_6886 sub0-neg_binary64_6885 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883 +-lft-identity_binary64_6882 mul0-rgt_binary64_6881 mul0-lft_binary64_6880 div0_binary64_6879 *-inverses_binary64_6878 +-inverses_binary64_6877 lft-mult-inverse_binary64_6876 rgt-mult-inverse_binary64_6875 remove-double-div_binary64_6874 pow-sqr_binary64_6871 sqr-pow_binary64_6870 difference-of-sqr--1_binary64_6869 difference-of-sqr-1_binary64_6868 difference-of-squares_binary64_6867 unswap-sqr_binary64_6866 swap-sqr_binary64_6865 cancel-sign-sub-inv_binary64_6864 cancel-sign-sub_binary64_6863 distribute-neg-frac_binary64_6862 distribute-frac-neg_binary64_6861 distribute-neg-out_binary64_6860 distribute-neg-in_binary64_6859 distribute-rgt-neg-out_binary64_6858 distribute-lft-neg-out_binary64_6857 distribute-rgt-neg-in_binary64_6856 distribute-lft-neg-in_binary64_6855 distribute-rgt1-in_binary64_6854 distribute-lft1-in_binary64_6853 distribute-rgt-out--_binary64_6852 distribute-rgt-out_binary64_6851 distribute-lft-out--_binary64_6850 distribute-lft-out_binary64_6849 distribute-rgt-in_binary64_6848 distribute-lft-in_binary64_6847 count-2_binary64_6846 associate-/l/_binary64_6845 associate-/r/_binary64_6844 associate-/l*_binary64_6843 associate-/r*_binary64_6842 associate-*l/_binary64_6841 associate-*r/_binary64_6840 associate-*l*_binary64_6839 associate-*r*_binary64_6838 associate--r-_binary64_6837 associate--l-_binary64_6836 associate--l+_binary64_6835 associate--r+_binary64_6834 associate-+l-_binary64_6833 associate-+r-_binary64_6832 associate-+l+_binary64_6831 associate-+r+_binary64_6830 *-commutative_binary64_6829
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
1124
2134
3104
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%50%0%2
75%25%0%3
87.5%12.5%0%4
93.7%6.2%0%5
96.8%3.1%0%6
98.4%1.6%0%7
99.2%0.8%0%8
99.6%0.4%0%9
99.8%0.2%0%10
99.9%0.1%0%11
99.9%0%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 6 to 6 computations (0% saved)

sample11.0ms (0.4%)

Algorithm
intervals
Results
5.0ms256×body128valid
Compiler

Compiled 11 to 12 computations (-9.1% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
1-exp_binary64_6942 sub-neg_binary64_6891 +-commutative_binary64_6828
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_7161 erf-erfc_binary64_7160 erf-odd_binary64_7159 if-if-and-not_binary64_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 not-gte_binary64_7150 not-lte_binary64_7149 not-gt_binary64_7148 not-lt_binary64_7147 gte-same_binary64_7146 lte-same_binary64_7145 gt-same_binary64_7144 lt-same_binary64_7143 sinh---cosh_binary64_7090 sinh-+-cosh_binary64_7089 sinh-cosh_binary64_7088 tanh-def-c_binary64_7087 tanh-def-b_binary64_7086 tanh-def-a_binary64_7085 cosh-def_binary64_7084 sinh-def_binary64_7083 tan-neg_binary64_7030 cos-neg_binary64_7029 sin-neg_binary64_7028 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 hang-m-tan_binary64_7024 hang-p-tan_binary64_7023 hang-m0-tan_binary64_7022 hang-p0-tan_binary64_7021 hang-0m-tan_binary64_7020 hang-0p-tan_binary64_7019 tan-+PI/2_binary64_7018 tan-+PI_binary64_7017 tan-PI_binary64_7016 tan-PI/3_binary64_7015 tan-PI/4_binary64_7014 tan-PI/6_binary64_7013 cos-+PI/2_binary64_7012 cos-+PI_binary64_7011 cos-PI_binary64_7010 cos-PI/2_binary64_7009 cos-PI/3_binary64_7008 cos-PI/4_binary64_7007 cos-PI/6_binary64_7006 sin-+PI/2_binary64_7005 sin-+PI_binary64_7004 sin-PI_binary64_7003 sin-PI/2_binary64_7002 sin-PI/3_binary64_7001 sin-PI/4_binary64_7000 sin-PI/6_binary64_6999 sub-1-sin_binary64_6998 sub-1-cos_binary64_6997 -1-add-sin_binary64_6996 -1-add-cos_binary64_6995 1-sub-sin_binary64_6994 1-sub-cos_binary64_6993 cos-sin-sum_binary64_6992 log-E_binary64_6988 log-pow_binary64_6987 log-rec_binary64_6986 log-div_binary64_6985 log-prod_binary64_6984 pow-base-0_binary64_6982 unpow1/3_binary64_6965 unpow3_binary64_6964 unpow2_binary64_6963 unpow1/2_binary64_6962 pow-plus_binary64_6961 exp-to-pow_binary64_6960 pow-base-1_binary64_6958 unpow0_binary64_6957 unpow1_binary64_6956 unpow-1_binary64_6955 exp-lft-cube_binary64_6954 exp-lft-sqr_binary64_6953 exp-cbrt_binary64_6952 exp-sqrt_binary64_6951 exp-prod_binary64_6950 div-exp_binary64_6949 rec-exp_binary64_6948 prod-exp_binary64_6947 exp-diff_binary64_6946 exp-neg_binary64_6945 exp-sum_binary64_6944 e-exp-1_binary64_6943 exp-1-e_binary64_6941 exp-0_binary64_6940 rem-log-exp_binary64_6939 rem-exp-log_binary64_6938 cube-unmult_binary64_6935 cube-mult_binary64_6928 cube-div_binary64_6927 cube-prod_binary64_6926 cube-neg_binary64_6925 rem-3cbrt-rft_binary64_6924 rem-3cbrt-lft_binary64_6923 rem-cbrt-cube_binary64_6922 rem-cube-cbrt_binary64_6921 sqr-abs_binary64_6913 sqr-neg_binary64_6912 rem-sqrt-square_binary64_6911 rem-square-sqrt_binary64_6910 times-frac_binary64_6904 div-sub_binary64_6903 neg-mul-1_binary64_6894 neg-sub0_binary64_6893 unsub-neg_binary64_6892 mul-1-neg_binary64_6890 /-rgt-identity_binary64_6889 *-rgt-identity_binary64_6888 *-lft-identity_binary64_6887 remove-double-neg_binary64_6886 sub0-neg_binary64_6885 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883 +-lft-identity_binary64_6882 mul0-rgt_binary64_6881 mul0-lft_binary64_6880 div0_binary64_6879 *-inverses_binary64_6878 +-inverses_binary64_6877 lft-mult-inverse_binary64_6876 rgt-mult-inverse_binary64_6875 remove-double-div_binary64_6874 pow-sqr_binary64_6871 sqr-pow_binary64_6870 difference-of-sqr--1_binary64_6869 difference-of-sqr-1_binary64_6868 difference-of-squares_binary64_6867 unswap-sqr_binary64_6866 swap-sqr_binary64_6865 cancel-sign-sub-inv_binary64_6864 cancel-sign-sub_binary64_6863 distribute-neg-frac_binary64_6862 distribute-frac-neg_binary64_6861 distribute-neg-out_binary64_6860 distribute-neg-in_binary64_6859 distribute-rgt-neg-out_binary64_6858 distribute-lft-neg-out_binary64_6857 distribute-rgt-neg-in_binary64_6856 distribute-lft-neg-in_binary64_6855 distribute-rgt1-in_binary64_6854 distribute-lft1-in_binary64_6853 distribute-rgt-out--_binary64_6852 distribute-rgt-out_binary64_6851 distribute-lft-out--_binary64_6850 distribute-lft-out_binary64_6849 distribute-rgt-in_binary64_6848 distribute-lft-in_binary64_6847 count-2_binary64_6846 associate-/l/_binary64_6845 associate-/r/_binary64_6844 associate-/l*_binary64_6843 associate-/r*_binary64_6842 associate-*l/_binary64_6841 associate-*r/_binary64_6840 associate-*l*_binary64_6839 associate-*r*_binary64_6838 associate--r-_binary64_6837 associate--l-_binary64_6836 associate--l+_binary64_6835 associate--r+_binary64_6834 associate-+l-_binary64_6833 associate-+r-_binary64_6832 associate-+l+_binary64_6831 associate-+r+_binary64_6830 *-commutative_binary64_6829
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
1124
2134
3104

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 6 computations (0% saved)

localize2.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(-.f64 x 1/3)

rewrite18.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_6920 *-un-lft-identity_binary64_6898
add-log-exp_binary64_6937 cancel-sign-sub-inv_binary64_6864
add-cube-cbrt_binary64_6933
diff-log_binary64_6990 pow1_binary64_6959 add-exp-log_binary64_6936 add-cbrt-cube_binary64_6934 flip3--_binary64_6902 sub-neg_binary64_6891 flip--_binary64_6873 difference-of-squares_binary64_6867 distribute-lft-out--_binary64_6850
Counts
1 → 16
Calls

1 calls:

4.0ms
(-.f64 x 1/3)
Compiler

Compiled 136 to 108 computations (20.6% saved)

series29.0ms (0.9%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

26.0ms
(-.f64 x 1/3)
Compiler

Compiled 33 to 30 computations (9.1% saved)

simplify108.0ms (3.4%)

Algorithm
egg-herbie
Rules
502×distribute-lft-out_binary64_6849
470×cancel-sign-sub-inv_binary64_6864
388×*-commutative_binary64_6829
374×unswap-sqr_binary64_6866
344×distribute-rgt-in_binary64_6848
341×neg-mul-1_binary64_6894 neg-sub0_binary64_6893
298×sub-neg_binary64_6891
256×associate-+l+_binary64_6831
255×+-commutative_binary64_6828
237×unsub-neg_binary64_6892
212×associate-+r+_binary64_6830
202×distribute-rgt-out_binary64_6851
199×sqr-pow_binary64_6870
198×distribute-neg-in_binary64_6859
197×distribute-lft-neg-out_binary64_6857
190×associate-*l*_binary64_6839
166×distribute-lft-in_binary64_6847
145×distribute-rgt-neg-out_binary64_6858
105×associate-*r*_binary64_6838
102×cube-prod_binary64_6926
84×distribute-rgt-neg-in_binary64_6856
79×remove-double-neg_binary64_6886
67×associate-+l-_binary64_6833
60×pow-sqr_binary64_6871
57×distribute-lft-neg-in_binary64_6855 associate--r+_binary64_6834
54×associate--l+_binary64_6835
50×associate-+r-_binary64_6832
44×pow-plus_binary64_6961
43×unpow3_binary64_6964 associate--r-_binary64_6837
38×cube-mult_binary64_6928 associate--l-_binary64_6836
30×distribute-neg-out_binary64_6860
19×mul0-lft_binary64_6880
16×distribute-rgt-out--_binary64_6852
14×exp-prod_binary64_6950 cube-unmult_binary64_6935
12×exp-sum_binary64_6944 rem-sqrt-square_binary64_6911
count-2_binary64_6846
unpow2_binary64_6963 unpow1/2_binary64_6962 unpow1_binary64_6956 exp-diff_binary64_6946 sub0-neg_binary64_6885
log-prod_binary64_6984
div-sub_binary64_6903 distribute-lft-out--_binary64_6850
cube-neg_binary64_6925 *-lft-identity_binary64_6887 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883
+-lft-identity_binary64_6882 swap-sqr_binary64_6865
sqr-neg_binary64_6912 *-rgt-identity_binary64_6888 mul0-rgt_binary64_6881 distribute-rgt1-in_binary64_6854
div-exp_binary64_6949 1-exp_binary64_6942 exp-1-e_binary64_6941 rem-3cbrt-lft_binary64_6923 rem-square-sqrt_binary64_6910 mul-1-neg_binary64_6890 distribute-lft1-in_binary64_6853
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_7161 erf-erfc_binary64_7160 erf-odd_binary64_7159 if-if-and-not_binary64_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 not-gte_binary64_7150 not-lte_binary64_7149 not-gt_binary64_7148 not-lt_binary64_7147 gte-same_binary64_7146 lte-same_binary64_7145 gt-same_binary64_7144 lt-same_binary64_7143 sinh---cosh_binary64_7090 sinh-+-cosh_binary64_7089 sinh-cosh_binary64_7088 tanh-def-c_binary64_7087 tanh-def-b_binary64_7086 tanh-def-a_binary64_7085 cosh-def_binary64_7084 sinh-def_binary64_7083 tan-neg_binary64_7030 cos-neg_binary64_7029 sin-neg_binary64_7028 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 hang-m-tan_binary64_7024 hang-p-tan_binary64_7023 hang-m0-tan_binary64_7022 hang-p0-tan_binary64_7021 hang-0m-tan_binary64_7020 hang-0p-tan_binary64_7019 tan-+PI/2_binary64_7018 tan-+PI_binary64_7017 tan-PI_binary64_7016 tan-PI/3_binary64_7015 tan-PI/4_binary64_7014 tan-PI/6_binary64_7013 cos-+PI/2_binary64_7012 cos-+PI_binary64_7011 cos-PI_binary64_7010 cos-PI/2_binary64_7009 cos-PI/3_binary64_7008 cos-PI/4_binary64_7007 cos-PI/6_binary64_7006 sin-+PI/2_binary64_7005 sin-+PI_binary64_7004 sin-PI_binary64_7003 sin-PI/2_binary64_7002 sin-PI/3_binary64_7001 sin-PI/4_binary64_7000 sin-PI/6_binary64_6999 sub-1-sin_binary64_6998 sub-1-cos_binary64_6997 -1-add-sin_binary64_6996 -1-add-cos_binary64_6995 1-sub-sin_binary64_6994 1-sub-cos_binary64_6993 cos-sin-sum_binary64_6992 log-E_binary64_6988 log-pow_binary64_6987 log-rec_binary64_6986 log-div_binary64_6985 pow-base-0_binary64_6982 unpow1/3_binary64_6965 exp-to-pow_binary64_6960 pow-base-1_binary64_6958 unpow0_binary64_6957 unpow-1_binary64_6955 exp-lft-cube_binary64_6954 exp-lft-sqr_binary64_6953 exp-cbrt_binary64_6952 exp-sqrt_binary64_6951 rec-exp_binary64_6948 prod-exp_binary64_6947 exp-neg_binary64_6945 e-exp-1_binary64_6943 exp-0_binary64_6940 rem-log-exp_binary64_6939 rem-exp-log_binary64_6938 cube-div_binary64_6927 rem-3cbrt-rft_binary64_6924 rem-cbrt-cube_binary64_6922 rem-cube-cbrt_binary64_6921 sqr-abs_binary64_6913 times-frac_binary64_6904 /-rgt-identity_binary64_6889 div0_binary64_6879 *-inverses_binary64_6878 +-inverses_binary64_6877 lft-mult-inverse_binary64_6876 rgt-mult-inverse_binary64_6875 remove-double-div_binary64_6874 difference-of-sqr--1_binary64_6869 difference-of-sqr-1_binary64_6868 difference-of-squares_binary64_6867 cancel-sign-sub_binary64_6863 distribute-neg-frac_binary64_6862 distribute-frac-neg_binary64_6861 associate-/l/_binary64_6845 associate-/r/_binary64_6844 associate-/l*_binary64_6843 associate-/r*_binary64_6842 associate-*l/_binary64_6841 associate-*r/_binary64_6840
Counts
22 → 16
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043136
181127
2123124
3169124
4265124
5478124
61025124
71622124
81940124
92785124
104193124
114894124
124802124

prune12.0ms (0.4%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New15116
Fresh000
Picked011
Done000
Total15217
Error
0.0b
Counts
17 → 2
Compiler

Compiled 105 to 81 computations (22.9% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 x 1/3)
0.0b
(+.f64 1/9 (*.f64 x (+.f64 x 1/3)))
0.2b
(*.f64 x (+.f64 x 1/3))
20.0b
(/.f64 (-.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (+.f64 x 1/3))))

rewrite192.0ms (6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
49×add-sqr-sqrt_binary64_6920
31×*-un-lft-identity_binary64_6898
24×times-frac_binary64_6904
19×add-cube-cbrt_binary64_6933
16×difference-of-squares_binary64_6867
add-exp-log_binary64_6936 add-log-exp_binary64_6937 add-cbrt-cube_binary64_6934 associate-/l*_binary64_6843
pow1_binary64_6959
unpow-prod-down_binary64_6977 cube-prod_binary64_6926 sqr-pow_binary64_6870 distribute-lft-out--_binary64_6850 flip3-+_binary64_6901 flip-+_binary64_6872 associate-*r*_binary64_6838
associate-/r*_binary64_6842 associate-*l*_binary64_6839
associate-/l/_binary64_6845 associate-/r/_binary64_6844 distribute-rgt-in_binary64_6848 distribute-lft-in_binary64_6847 associate-*r/_binary64_6840 distribute-lft-out_binary64_6849 sum-log_binary64_6989 associate-+r+_binary64_6830 +-commutative_binary64_6828
div-exp_binary64_6949 cbrt-undiv_binary64_6932 frac-2neg_binary64_6909 div-sub_binary64_6903 clear-num_binary64_6897 div-inv_binary64_6895 flip3--_binary64_6902 flip--_binary64_6873 pow-prod-down_binary64_6969 prod-exp_binary64_6947 cbrt-unprod_binary64_6931 unswap-sqr_binary64_6866 *-commutative_binary64_6829
Counts
4 → 100
Calls

4 calls:

12.0ms
(/.f64 (-.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (+.f64 x 1/3))))
7.0ms
(*.f64 x (+.f64 x 1/3))
4.0ms
(+.f64 1/9 (*.f64 x (+.f64 x 1/3)))
3.0ms
(+.f64 x 1/3)
Compiler

Compiled 2365 to 1856 computations (21.5% saved)

series320.0ms (9.9%)

Error
0.0b
Counts
4 → 27
Calls

4 calls:

127.0ms
(/.f64 (-.f64 (pow.f64 x 3) 1/27) (+.f64 1/9 (*.f64 x (+.f64 x 1/3))))
90.0ms
(+.f64 1/9 (*.f64 x (+.f64 x 1/3)))
55.0ms
(*.f64 x (+.f64 x 1/3))
28.0ms
(+.f64 x 1/3)
Compiler

Compiled 676 to 567 computations (16.1% saved)

simplify110.0ms (3.4%)

Algorithm
egg-herbie
Rules
673×distribute-rgt-in_binary64_6848
660×distribute-lft-in_binary64_6847
637×times-frac_binary64_6904
181×associate-/l*_binary64_6843
176×associate-+l+_binary64_6831
149×associate-+r+_binary64_6830
126×associate-*l/_binary64_6841
99×associate-/r*_binary64_6842
97×associate-*r/_binary64_6840
81×associate-*l*_binary64_6839
80×associate-/l/_binary64_6845
67×associate-*r*_binary64_6838
59×associate--r+_binary64_6834
58×cancel-sign-sub-inv_binary64_6864
53×associate-/r/_binary64_6844
52×sub-neg_binary64_6891
49×distribute-rgt-neg-in_binary64_6856
47×*-commutative_binary64_6829
42×distribute-neg-in_binary64_6859
41×div-sub_binary64_6903
38×unswap-sqr_binary64_6866
37×distribute-lft-neg-in_binary64_6855
35×associate--l+_binary64_6835
33×+-commutative_binary64_6828
28×exp-prod_binary64_6950
26×neg-mul-1_binary64_6894 neg-sub0_binary64_6893
23×sqr-pow_binary64_6870
21×distribute-rgt-out_binary64_6851
16×*-rgt-identity_binary64_6888 associate-+l-_binary64_6833
15×log-prod_binary64_6984 distribute-neg-frac_binary64_6862
12×cube-prod_binary64_6926 associate-+r-_binary64_6832
11×exp-sum_binary64_6944 *-lft-identity_binary64_6887
10×distribute-rgt-out--_binary64_6852
cube-unmult_binary64_6935 /-rgt-identity_binary64_6889 swap-sqr_binary64_6865 distribute-lft-neg-out_binary64_6857
unsub-neg_binary64_6892 distribute-lft-out_binary64_6849
unpow3_binary64_6964 pow-plus_binary64_6961 cube-mult_binary64_6928
log-div_binary64_6985 rem-sqrt-square_binary64_6911 distribute-rgt-neg-out_binary64_6858
log-pow_binary64_6987 unpow1/2_binary64_6962 prod-exp_binary64_6947 exp-diff_binary64_6946 pow-sqr_binary64_6871 associate--l-_binary64_6836
unpow1/3_binary64_6965 unpow2_binary64_6963 unpow1_binary64_6956 1-exp_binary64_6942 exp-1-e_binary64_6941 cube-div_binary64_6927 rem-square-sqrt_binary64_6910 distribute-lft-out--_binary64_6850 associate--r-_binary64_6837
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_7161 erf-erfc_binary64_7160 erf-odd_binary64_7159 if-if-and-not_binary64_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 not-gte_binary64_7150 not-lte_binary64_7149 not-gt_binary64_7148 not-lt_binary64_7147 gte-same_binary64_7146 lte-same_binary64_7145 gt-same_binary64_7144 lt-same_binary64_7143 sinh---cosh_binary64_7090 sinh-+-cosh_binary64_7089 sinh-cosh_binary64_7088 tanh-def-c_binary64_7087 tanh-def-b_binary64_7086 tanh-def-a_binary64_7085 cosh-def_binary64_7084 sinh-def_binary64_7083 tan-neg_binary64_7030 cos-neg_binary64_7029 sin-neg_binary64_7028 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 hang-m-tan_binary64_7024 hang-p-tan_binary64_7023 hang-m0-tan_binary64_7022 hang-p0-tan_binary64_7021 hang-0m-tan_binary64_7020 hang-0p-tan_binary64_7019 tan-+PI/2_binary64_7018 tan-+PI_binary64_7017 tan-PI_binary64_7016 tan-PI/3_binary64_7015 tan-PI/4_binary64_7014 tan-PI/6_binary64_7013 cos-+PI/2_binary64_7012 cos-+PI_binary64_7011 cos-PI_binary64_7010 cos-PI/2_binary64_7009 cos-PI/3_binary64_7008 cos-PI/4_binary64_7007 cos-PI/6_binary64_7006 sin-+PI/2_binary64_7005 sin-+PI_binary64_7004 sin-PI_binary64_7003 sin-PI/2_binary64_7002 sin-PI/3_binary64_7001 sin-PI/4_binary64_7000 sin-PI/6_binary64_6999 sub-1-sin_binary64_6998 sub-1-cos_binary64_6997 -1-add-sin_binary64_6996 -1-add-cos_binary64_6995 1-sub-sin_binary64_6994 1-sub-cos_binary64_6993 cos-sin-sum_binary64_6992 log-E_binary64_6988 log-rec_binary64_6986 pow-base-0_binary64_6982 exp-to-pow_binary64_6960 pow-base-1_binary64_6958 unpow0_binary64_6957 unpow-1_binary64_6955 exp-lft-cube_binary64_6954 exp-lft-sqr_binary64_6953 exp-cbrt_binary64_6952 exp-sqrt_binary64_6951 div-exp_binary64_6949 rec-exp_binary64_6948 exp-neg_binary64_6945 e-exp-1_binary64_6943 exp-0_binary64_6940 rem-log-exp_binary64_6939 rem-exp-log_binary64_6938 cube-neg_binary64_6925 rem-3cbrt-rft_binary64_6924 rem-3cbrt-lft_binary64_6923 rem-cbrt-cube_binary64_6922 rem-cube-cbrt_binary64_6921 sqr-abs_binary64_6913 sqr-neg_binary64_6912 mul-1-neg_binary64_6890 remove-double-neg_binary64_6886 sub0-neg_binary64_6885 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883 +-lft-identity_binary64_6882 mul0-rgt_binary64_6881 mul0-lft_binary64_6880 div0_binary64_6879 *-inverses_binary64_6878 +-inverses_binary64_6877 lft-mult-inverse_binary64_6876 rgt-mult-inverse_binary64_6875 remove-double-div_binary64_6874 difference-of-sqr--1_binary64_6869 difference-of-sqr-1_binary64_6868 difference-of-squares_binary64_6867 cancel-sign-sub_binary64_6863 distribute-frac-neg_binary64_6861 distribute-neg-out_binary64_6860 distribute-rgt1-in_binary64_6854 distribute-lft1-in_binary64_6853 count-2_binary64_6846
Counts
127 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01652461
14072351
212512346
348812304
456042304

prune122.0ms (3.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New91192
Fresh000
Picked011
Done011
Total91394
Error
0b
Counts
94 → 3
Compiler

Compiled 1957 to 1536 computations (21.5% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (pow.f64 x 3) (pow.f64 x 3))
0.2b
(*.f64 x (+.f64 x 1/3))
0.5b
(*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27))
26.8b
(/.f64 (-.f64 (*.f64 (pow.f64 x 3) (pow.f64 x 3)) (*.f64 1/27 1/27)) (*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27)))

rewrite488.0ms (15.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
54×add-sqr-sqrt_binary64_6920
30×*-un-lft-identity_binary64_6898
26×add-cube-cbrt_binary64_6933 unpow-prod-down_binary64_6977 cube-prod_binary64_6926
25×add-exp-log_binary64_6936
20×associate-*r*_binary64_6838
18×unswap-sqr_binary64_6866 associate-*l*_binary64_6839 swap-sqr_binary64_6865
15×add-cbrt-cube_binary64_6934
13×flip3-+_binary64_6901 flip-+_binary64_6872
12×prod-exp_binary64_6947 sqr-pow_binary64_6870
pow1_binary64_6959 frac-times_binary64_6908 associate-/r/_binary64_6844
associate-*r/_binary64_6840 pow-to-exp_binary64_6967 pow-exp_binary64_6966
add-log-exp_binary64_6937 cbrt-unprod_binary64_6931 times-frac_binary64_6904 associate-*l/_binary64_6841 associate-/l*_binary64_6843 unpow3_binary64_6964 cube-mult_binary64_6928
pow-prod-down_binary64_6969 *-commutative_binary64_6829
div-exp_binary64_6949 cbrt-undiv_binary64_6932 difference-of-squares_binary64_6867 associate-/l/_binary64_6845 distribute-rgt-in_binary64_6848 distribute-lft-in_binary64_6847 distribute-lft-out_binary64_6849
frac-2neg_binary64_6909 div-sub_binary64_6903 clear-num_binary64_6897 div-inv_binary64_6895 flip3--_binary64_6902 flip--_binary64_6873 associate-/r*_binary64_6842 pow2_binary64_6979 pow-prod-up_binary64_6968 pow-sqr_binary64_6871
Counts
4 → 166
Calls

4 calls:

26.0ms
(/.f64 (-.f64 (*.f64 (pow.f64 x 3) (pow.f64 x 3)) (*.f64 1/27 1/27)) (*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27)))
19.0ms
(*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27))
11.0ms
(*.f64 (pow.f64 x 3) (pow.f64 x 3))
7.0ms
(*.f64 x (+.f64 x 1/3))
Compiler

Compiled 6039 to 4736 computations (21.6% saved)

series388.0ms (12.1%)

Error
0b
Counts
4 → 27
Calls

4 calls:

176.0ms
(/.f64 (-.f64 (*.f64 (pow.f64 x 3) (pow.f64 x 3)) (*.f64 1/27 1/27)) (*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27)))
63.0ms
(*.f64 (+.f64 (*.f64 x (+.f64 x 1/3)) 1/9) (+.f64 (pow.f64 x 3) 1/27))
59.0ms
(*.f64 x (+.f64 x 1/3))
56.0ms
(*.f64 (pow.f64 x 3) (pow.f64 x 3))
Compiler

Compiled 1151 to 970 computations (15.7% saved)

simplify146.0ms (4.5%)

Algorithm
egg-herbie
Rules
377×associate-*l*_binary64_6839
319×associate-*r*_binary64_6838
311×log-prod_binary64_6984
207×distribute-rgt-in_binary64_6848
196×distribute-lft-in_binary64_6847
149×cancel-sign-sub-inv_binary64_6864
145×associate-/l/_binary64_6845
128×*-commutative_binary64_6829
123×exp-prod_binary64_6950 distribute-rgt-neg-in_binary64_6856
111×distribute-lft-neg-in_binary64_6855
107×associate-/r*_binary64_6842
99×distribute-rgt-out_binary64_6851
93×distribute-lft-out_binary64_6849
85×associate-/r/_binary64_6844
84×times-frac_binary64_6904
74×cube-prod_binary64_6926
72×associate-/l*_binary64_6843
68×swap-sqr_binary64_6865
60×sqr-pow_binary64_6870
54×unswap-sqr_binary64_6866
51×+-commutative_binary64_6828
48×sub-neg_binary64_6891
43×div-sub_binary64_6903
38×distribute-neg-in_binary64_6859
36×log-pow_binary64_6987
33×neg-mul-1_binary64_6894 neg-sub0_binary64_6893
31×distribute-neg-frac_binary64_6862
30×*-lft-identity_binary64_6887
29×exp-sum_binary64_6944
27×*-rgt-identity_binary64_6888 associate-+l+_binary64_6831
24×associate-+r+_binary64_6830
19×pow-plus_binary64_6961
18×log-div_binary64_6985
17×/-rgt-identity_binary64_6889
16×pow-sqr_binary64_6871 distribute-rgt-out--_binary64_6852
15×cube-unmult_binary64_6935
13×associate-*l/_binary64_6841
11×associate-*r/_binary64_6840
10×rem-sqrt-square_binary64_6911 distribute-lft-out--_binary64_6850
unpow3_binary64_6964
unsub-neg_binary64_6892
cube-mult_binary64_6928 distribute-lft-neg-out_binary64_6857 count-2_binary64_6846
distribute-rgt-neg-out_binary64_6858 associate--r+_binary64_6834
associate--l+_binary64_6835
cube-div_binary64_6927 rem-square-sqrt_binary64_6910 associate-+l-_binary64_6833 associate-+r-_binary64_6832
unpow2_binary64_6963 unpow1/2_binary64_6962 unpow1_binary64_6956 exp-diff_binary64_6946 1-exp_binary64_6942 exp-1-e_binary64_6941 rem-cbrt-cube_binary64_6922 rem-cube-cbrt_binary64_6921 *-inverses_binary64_6878 associate--r-_binary64_6837
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_7161 erf-erfc_binary64_7160 erf-odd_binary64_7159 if-if-and-not_binary64_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 not-gte_binary64_7150 not-lte_binary64_7149 not-gt_binary64_7148 not-lt_binary64_7147 gte-same_binary64_7146 lte-same_binary64_7145 gt-same_binary64_7144 lt-same_binary64_7143 sinh---cosh_binary64_7090 sinh-+-cosh_binary64_7089 sinh-cosh_binary64_7088 tanh-def-c_binary64_7087 tanh-def-b_binary64_7086 tanh-def-a_binary64_7085 cosh-def_binary64_7084 sinh-def_binary64_7083 tan-neg_binary64_7030 cos-neg_binary64_7029 sin-neg_binary64_7028 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 hang-m-tan_binary64_7024 hang-p-tan_binary64_7023 hang-m0-tan_binary64_7022 hang-p0-tan_binary64_7021 hang-0m-tan_binary64_7020 hang-0p-tan_binary64_7019 tan-+PI/2_binary64_7018 tan-+PI_binary64_7017 tan-PI_binary64_7016 tan-PI/3_binary64_7015 tan-PI/4_binary64_7014 tan-PI/6_binary64_7013 cos-+PI/2_binary64_7012 cos-+PI_binary64_7011 cos-PI_binary64_7010 cos-PI/2_binary64_7009 cos-PI/3_binary64_7008 cos-PI/4_binary64_7007 cos-PI/6_binary64_7006 sin-+PI/2_binary64_7005 sin-+PI_binary64_7004 sin-PI_binary64_7003 sin-PI/2_binary64_7002 sin-PI/3_binary64_7001 sin-PI/4_binary64_7000 sin-PI/6_binary64_6999 sub-1-sin_binary64_6998 sub-1-cos_binary64_6997 -1-add-sin_binary64_6996 -1-add-cos_binary64_6995 1-sub-sin_binary64_6994 1-sub-cos_binary64_6993 cos-sin-sum_binary64_6992 log-E_binary64_6988 log-rec_binary64_6986 pow-base-0_binary64_6982 unpow1/3_binary64_6965 exp-to-pow_binary64_6960 pow-base-1_binary64_6958 unpow0_binary64_6957 unpow-1_binary64_6955 exp-lft-cube_binary64_6954 exp-lft-sqr_binary64_6953 exp-cbrt_binary64_6952 exp-sqrt_binary64_6951 div-exp_binary64_6949 rec-exp_binary64_6948 prod-exp_binary64_6947 exp-neg_binary64_6945 e-exp-1_binary64_6943 exp-0_binary64_6940 rem-log-exp_binary64_6939 rem-exp-log_binary64_6938 cube-neg_binary64_6925 rem-3cbrt-rft_binary64_6924 rem-3cbrt-lft_binary64_6923 sqr-abs_binary64_6913 sqr-neg_binary64_6912 mul-1-neg_binary64_6890 remove-double-neg_binary64_6886 sub0-neg_binary64_6885 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883 +-lft-identity_binary64_6882 mul0-rgt_binary64_6881 mul0-lft_binary64_6880 div0_binary64_6879 +-inverses_binary64_6877 lft-mult-inverse_binary64_6876 rgt-mult-inverse_binary64_6875 remove-double-div_binary64_6874 difference-of-sqr--1_binary64_6869 difference-of-sqr-1_binary64_6868 difference-of-squares_binary64_6867 cancel-sign-sub_binary64_6863 distribute-frac-neg_binary64_6861 distribute-neg-out_binary64_6860 distribute-rgt1-in_binary64_6854 distribute-lft1-in_binary64_6853 associate--l-_binary64_6836
Counts
193 → 162
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02463410
16593017
230302931
347532931
450232931

prune311.0ms (9.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1620162
Fresh000
Picked011
Done022
Total1623165
Error
0b
Counts
165 → 3
Compiler

Compiled 4629 to 3636 computations (21.5% saved)

regimes234.0ms (7.3%)

Accuracy

Total 0.0b remaining (94%)

Threshold costs 0.0b (94%)

Compiler

Compiled 298 to 268 computations (10.1% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_6891 +-commutative_binary64_6828
1-exp_binary64_6942 neg-mul-1_binary64_6894 neg-sub0_binary64_6893 *-commutative_binary64_6829
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_7158 if-if-and_binary64_7157 if-if-or-not_binary64_7156 if-if-or_binary64_7155 if-not_binary64_7154 if-same_binary64_7153 if-false_binary64_7152 if-true_binary64_7151 tan-0_binary64_7027 cos-0_binary64_7026 sin-0_binary64_7025 unpow1_binary64_6956 e-exp-1_binary64_6943 exp-1-e_binary64_6941 exp-0_binary64_6940 sqr-abs_binary64_6913 sqr-neg_binary64_6912 unsub-neg_binary64_6892 mul-1-neg_binary64_6890 /-rgt-identity_binary64_6889 *-rgt-identity_binary64_6888 *-lft-identity_binary64_6887 remove-double-neg_binary64_6886 sub0-neg_binary64_6885 --rgt-identity_binary64_6884 +-rgt-identity_binary64_6883 +-lft-identity_binary64_6882 cancel-sign-sub-inv_binary64_6864 cancel-sign-sub_binary64_6863 distribute-neg-frac_binary64_6862 distribute-frac-neg_binary64_6861 distribute-neg-out_binary64_6860 distribute-neg-in_binary64_6859 distribute-rgt-neg-out_binary64_6858 distribute-lft-neg-out_binary64_6857 distribute-rgt-neg-in_binary64_6856 distribute-lft-neg-in_binary64_6855
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074
1114
2154
3174
4184
5164

end0.0ms (0%)

sample540.0ms (16.8%)

Algorithm
intervals
Results
140.0ms8000×body128valid
Compiler

Compiled 152 to 138 computations (9.2% saved)

Profiling

Loading profile data...