Details

Time bar (total: 14.8s)

analyze117.0ms (0.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
12.5%87.4%0.1%5
31.2%68.7%0.1%6
46.8%53.1%0.1%7
60.9%39%0.1%8
67.9%31.2%0.9%9
74.5%22.2%3.2%10
77.9%17.2%5%11
81.1%11.8%7.1%12
82.7%9%8.3%13
84.3%6.1%9.7%14
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample17.0ms (0.1%)

Algorithm
intervals
Results
8.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 23 to 21 computations (8.7% saved)

simplify406.0ms (2.7%)

Algorithm
egg-herbie
Rules
518×exp-sum_binary64_18879
511×exp-prod_binary64_18885
325×div-sub_binary64_18838
324×exp-diff_binary64_18881
256×associate--l+_binary64_18770
228×associate-/l*_binary64_18778
202×times-frac_binary64_18839
175×associate-/l/_binary64_18780
168×associate-+l+_binary64_18766
165×associate-+r+_binary64_18765
164×cube-prod_binary64_18861
157×associate--r+_binary64_18769
147×cube-div_binary64_18862
138×*-commutative_binary64_18764
135×swap-sqr_binary64_18800
134×distribute-rgt-in_binary64_18783
120×associate-/r/_binary64_18779
119×pow-plus_binary64_18896
110×associate-/r*_binary64_18777
107×distribute-lft-in_binary64_18782
101×associate-*l/_binary64_18776
88×cancel-sign-sub-inv_binary64_18799
64×distribute-rgt-neg-in_binary64_18791
62×distribute-neg-in_binary64_18794 distribute-rgt1-in_binary64_18789
59×sqr-pow_binary64_18805
54×sub-neg_binary64_18826
53×unpow3_binary64_18899 distribute-lft-neg-in_binary64_18790
48×pow-sqr_binary64_18806
47×cube-mult_binary64_18863
46×pow-base-1_binary64_18893
45×distribute-rgt-neg-out_binary64_18793
43×distribute-lft-neg-out_binary64_18792
41×associate-*r/_binary64_18775 associate-*r*_binary64_18773
40×unsub-neg_binary64_18827
39×associate--l-_binary64_18771
37×neg-mul-1_binary64_18829
35×neg-sub0_binary64_18828
30×distribute-rgt-out_binary64_18786
28×associate--r-_binary64_18772
26×distribute-rgt-out--_binary64_18787 associate-*l*_binary64_18774
23×distribute-frac-neg_binary64_18796
21×associate-+r-_binary64_18767
20×+-commutative_binary64_18763
18×exp-neg_binary64_18880 associate-+l-_binary64_18768
15×exp-lft-sqr_binary64_18888 *-lft-identity_binary64_18822
13×*-rgt-identity_binary64_18823
12×div-exp_binary64_18884 prod-exp_binary64_18882 remove-double-div_binary64_18809 distribute-neg-frac_binary64_18797
10×cube-unmult_binary64_18870
/-rgt-identity_binary64_18824
distribute-lft-out_binary64_18784
sqr-neg_binary64_18847 --rgt-identity_binary64_18819 distribute-lft-out--_binary64_18785 count-2_binary64_18781
+-inverses_binary64_18812 distribute-neg-out_binary64_18795
rec-exp_binary64_18883 remove-double-neg_binary64_18821
difference-of-squares_binary64_18802
exp-sqrt_binary64_18886 +-rgt-identity_binary64_18818 +-lft-identity_binary64_18817 lft-mult-inverse_binary64_18811 difference-of-sqr--1_binary64_18804
pow-base-0_binary64_18917 unpow1_binary64_18891 1-exp_binary64_18877 exp-1-e_binary64_18876 cube-neg_binary64_18860 div0_binary64_18814 *-inverses_binary64_18813 cancel-sign-sub_binary64_18798 distribute-lft1-in_binary64_18788
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_19096 erf-erfc_binary64_19095 erf-odd_binary64_19094 if-if-and-not_binary64_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 not-gte_binary64_19085 not-lte_binary64_19084 not-gt_binary64_19083 not-lt_binary64_19082 gte-same_binary64_19081 lte-same_binary64_19080 gt-same_binary64_19079 lt-same_binary64_19078 sinh---cosh_binary64_19025 sinh-+-cosh_binary64_19024 sinh-cosh_binary64_19023 tanh-def-c_binary64_19022 tanh-def-b_binary64_19021 tanh-def-a_binary64_19020 cosh-def_binary64_19019 sinh-def_binary64_19018 tan-neg_binary64_18965 cos-neg_binary64_18964 sin-neg_binary64_18963 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 hang-m-tan_binary64_18959 hang-p-tan_binary64_18958 hang-m0-tan_binary64_18957 hang-p0-tan_binary64_18956 hang-0m-tan_binary64_18955 hang-0p-tan_binary64_18954 tan-+PI/2_binary64_18953 tan-+PI_binary64_18952 tan-PI_binary64_18951 tan-PI/3_binary64_18950 tan-PI/4_binary64_18949 tan-PI/6_binary64_18948 cos-+PI/2_binary64_18947 cos-+PI_binary64_18946 cos-PI_binary64_18945 cos-PI/2_binary64_18944 cos-PI/3_binary64_18943 cos-PI/4_binary64_18942 cos-PI/6_binary64_18941 sin-+PI/2_binary64_18940 sin-+PI_binary64_18939 sin-PI_binary64_18938 sin-PI/2_binary64_18937 sin-PI/3_binary64_18936 sin-PI/4_binary64_18935 sin-PI/6_binary64_18934 sub-1-sin_binary64_18933 sub-1-cos_binary64_18932 -1-add-sin_binary64_18931 -1-add-cos_binary64_18930 1-sub-sin_binary64_18929 1-sub-cos_binary64_18928 cos-sin-sum_binary64_18927 log-E_binary64_18923 log-pow_binary64_18922 log-rec_binary64_18921 log-div_binary64_18920 log-prod_binary64_18919 unpow1/3_binary64_18900 unpow2_binary64_18898 unpow1/2_binary64_18897 exp-to-pow_binary64_18895 unpow0_binary64_18892 unpow-1_binary64_18890 exp-lft-cube_binary64_18889 exp-cbrt_binary64_18887 e-exp-1_binary64_18878 exp-0_binary64_18875 rem-log-exp_binary64_18874 rem-exp-log_binary64_18873 rem-3cbrt-rft_binary64_18859 rem-3cbrt-lft_binary64_18858 rem-cbrt-cube_binary64_18857 rem-cube-cbrt_binary64_18856 sqr-abs_binary64_18848 rem-sqrt-square_binary64_18846 rem-square-sqrt_binary64_18845 mul-1-neg_binary64_18825 sub0-neg_binary64_18820 mul0-rgt_binary64_18816 mul0-lft_binary64_18815 rgt-mult-inverse_binary64_18810 difference-of-sqr-1_binary64_18803 unswap-sqr_binary64_18801
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
12216
22916
37316
410516
521416
639616
760116
8155516
9328116

prune14.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New235
Fresh101
Picked000
Done000
Total336
Error
0.0b
Counts
6 → 3
Compiler

Compiled 88 to 60 computations (31.8% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

0.1b
(/.f64 x (/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1)))
0.1b
(/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1))

rewrite237.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
155×*-un-lft-identity_binary64_18833
146×times-frac_binary64_18839
71×add-cube-cbrt_binary64_18868 add-sqr-sqrt_binary64_18855
42×distribute-lft-out_binary64_18784
26×associate-/r*_binary64_18777
11×associate-/r/_binary64_18779
add-exp-log_binary64_18871 add-cbrt-cube_binary64_18869
associate-/l*_binary64_18778
div-inv_binary64_18830 flip3-+_binary64_18836 flip-+_binary64_18807
div-exp_binary64_18884 cbrt-undiv_binary64_18867
pow1_binary64_18894 add-log-exp_binary64_18872 frac-2neg_binary64_18844 clear-num_binary64_18832 associate-/l/_binary64_18780
Counts
2 → 146
Calls

2 calls:

15.0ms
(/.f64 x (/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1)))
11.0ms
(/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1))
Compiler

Compiled 3494 to 2096 computations (40% saved)

series364.0ms (2.5%)

Error
0.0b
Counts
2 → 34
Calls

2 calls:

194.0ms
(/.f64 x (/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1)))
136.0ms
(/.f64 (+.f64 x 1) (+.f64 (/.f64 x y) 1))
Compiler

Compiled 1265 to 893 computations (29.4% saved)

simplify708.0ms (4.8%)

Algorithm
egg-herbie
Rules
431×associate-/r*_binary64_18777
359×associate--l+_binary64_18770
314×associate-+l+_binary64_18766
313×*-commutative_binary64_18764
257×distribute-rgt-in_binary64_18783
213×distribute-lft-in_binary64_18782
191×associate-/l*_binary64_18778
189×associate-+r+_binary64_18765
173×associate--r+_binary64_18769
162×sub-neg_binary64_18826
150×associate-/r/_binary64_18779
147×cancel-sign-sub-inv_binary64_18799
145×associate-/l/_binary64_18780
110×associate-*l/_binary64_18776
106×times-frac_binary64_18839
81×associate-+l-_binary64_18768
77×+-commutative_binary64_18763
68×associate-+r-_binary64_18767
54×associate-*r/_binary64_18775
51×*-rgt-identity_binary64_18823
41×associate-*r*_binary64_18773
36×/-rgt-identity_binary64_18824
35×unsub-neg_binary64_18827 sqr-pow_binary64_18805
34×associate-*l*_binary64_18774
33×distribute-rgt-out_binary64_18786
31×distribute-neg-in_binary64_18794
29×neg-mul-1_binary64_18829 distribute-neg-frac_binary64_18797
28×neg-sub0_binary64_18828
26×distribute-rgt-neg-in_binary64_18791
24×*-lft-identity_binary64_18822 distribute-rgt-out--_binary64_18787
21×distribute-lft-neg-in_binary64_18790
18×div-sub_binary64_18838 pow-sqr_binary64_18806
17×unswap-sqr_binary64_18801
16×div-exp_binary64_18884 prod-exp_binary64_18882
14×log-div_binary64_18920
13×cube-div_binary64_18862
11×pow-plus_binary64_18896
10×log-prod_binary64_18919 cube-prod_binary64_18861 swap-sqr_binary64_18800 distribute-rgt1-in_binary64_18789
distribute-lft-out_binary64_18784
associate--l-_binary64_18771
log-pow_binary64_18922 cube-unmult_binary64_18870 distribute-rgt-neg-out_binary64_18793 distribute-lft-neg-out_binary64_18792
log-rec_binary64_18921 unpow3_binary64_18899 rec-exp_binary64_18883 exp-sum_binary64_18879 cube-mult_binary64_18863 distribute-lft-out--_binary64_18785
pow-base-1_binary64_18893 exp-prod_binary64_18885 remove-double-div_binary64_18809 associate--r-_binary64_18772
unpow2_binary64_18898 unpow1_binary64_18891 difference-of-squares_binary64_18802
1-exp_binary64_18877 rem-log-exp_binary64_18874 remove-double-neg_binary64_18821 sub0-neg_binary64_18820 +-rgt-identity_binary64_18818 div0_binary64_18814 *-inverses_binary64_18813 cancel-sign-sub_binary64_18798 distribute-lft1-in_binary64_18788 count-2_binary64_18781
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_19096 erf-erfc_binary64_19095 erf-odd_binary64_19094 if-if-and-not_binary64_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 not-gte_binary64_19085 not-lte_binary64_19084 not-gt_binary64_19083 not-lt_binary64_19082 gte-same_binary64_19081 lte-same_binary64_19080 gt-same_binary64_19079 lt-same_binary64_19078 sinh---cosh_binary64_19025 sinh-+-cosh_binary64_19024 sinh-cosh_binary64_19023 tanh-def-c_binary64_19022 tanh-def-b_binary64_19021 tanh-def-a_binary64_19020 cosh-def_binary64_19019 sinh-def_binary64_19018 tan-neg_binary64_18965 cos-neg_binary64_18964 sin-neg_binary64_18963 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 hang-m-tan_binary64_18959 hang-p-tan_binary64_18958 hang-m0-tan_binary64_18957 hang-p0-tan_binary64_18956 hang-0m-tan_binary64_18955 hang-0p-tan_binary64_18954 tan-+PI/2_binary64_18953 tan-+PI_binary64_18952 tan-PI_binary64_18951 tan-PI/3_binary64_18950 tan-PI/4_binary64_18949 tan-PI/6_binary64_18948 cos-+PI/2_binary64_18947 cos-+PI_binary64_18946 cos-PI_binary64_18945 cos-PI/2_binary64_18944 cos-PI/3_binary64_18943 cos-PI/4_binary64_18942 cos-PI/6_binary64_18941 sin-+PI/2_binary64_18940 sin-+PI_binary64_18939 sin-PI_binary64_18938 sin-PI/2_binary64_18937 sin-PI/3_binary64_18936 sin-PI/4_binary64_18935 sin-PI/6_binary64_18934 sub-1-sin_binary64_18933 sub-1-cos_binary64_18932 -1-add-sin_binary64_18931 -1-add-cos_binary64_18930 1-sub-sin_binary64_18929 1-sub-cos_binary64_18928 cos-sin-sum_binary64_18927 log-E_binary64_18923 pow-base-0_binary64_18917 unpow1/3_binary64_18900 unpow1/2_binary64_18897 exp-to-pow_binary64_18895 unpow0_binary64_18892 unpow-1_binary64_18890 exp-lft-cube_binary64_18889 exp-lft-sqr_binary64_18888 exp-cbrt_binary64_18887 exp-sqrt_binary64_18886 exp-diff_binary64_18881 exp-neg_binary64_18880 e-exp-1_binary64_18878 exp-1-e_binary64_18876 exp-0_binary64_18875 rem-exp-log_binary64_18873 cube-neg_binary64_18860 rem-3cbrt-rft_binary64_18859 rem-3cbrt-lft_binary64_18858 rem-cbrt-cube_binary64_18857 rem-cube-cbrt_binary64_18856 sqr-abs_binary64_18848 sqr-neg_binary64_18847 rem-sqrt-square_binary64_18846 rem-square-sqrt_binary64_18845 mul-1-neg_binary64_18825 --rgt-identity_binary64_18819 +-lft-identity_binary64_18817 mul0-rgt_binary64_18816 mul0-lft_binary64_18815 +-inverses_binary64_18812 lft-mult-inverse_binary64_18811 rgt-mult-inverse_binary64_18810 difference-of-sqr--1_binary64_18804 difference-of-sqr-1_binary64_18803 distribute-frac-neg_binary64_18796 distribute-neg-out_binary64_18795
Counts
180 → 754
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02594808
16354592
223994520

prune1.3s (8.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New7522754
Fresh022
Picked011
Done000
Total7525757
Error
0b
Counts
757 → 5
Compiler

Compiled 18855 to 10349 computations (45.1% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

0.1b
(/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1))
0.1b
(*.f64 x (/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1)))

rewrite134.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
58×*-un-lft-identity_binary64_18833
33×times-frac_binary64_18839
27×add-sqr-sqrt_binary64_18855
22×add-cube-cbrt_binary64_18868 associate-*r*_binary64_18773
18×distribute-lft-out_binary64_18784
add-exp-log_binary64_18871 add-cbrt-cube_binary64_18869
pow1_binary64_18894 associate-/r/_binary64_18779 associate-/l*_binary64_18778 associate-/r*_binary64_18777
associate-*l*_binary64_18774 flip3-+_binary64_18836 flip-+_binary64_18807
div-exp_binary64_18884 prod-exp_binary64_18882 add-log-exp_binary64_18872 cbrt-unprod_binary64_18866 cbrt-undiv_binary64_18867 unswap-sqr_binary64_18801 div-inv_binary64_18830 associate-/l/_binary64_18780
pow-prod-down_binary64_18904 associate-*r/_binary64_18775 *-commutative_binary64_18764 frac-2neg_binary64_18844 clear-num_binary64_18832
Counts
2 → 81
Calls

2 calls:

20.0ms
(*.f64 x (/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1)))
11.0ms
(/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1))
Compiler

Compiled 1718 to 1070 computations (37.7% saved)

series386.0ms (2.6%)

Error
0b
Counts
2 → 36
Calls

2 calls:

188.0ms
(*.f64 x (/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1)))
161.0ms
(/.f64 (+.f64 (/.f64 x y) 1) (+.f64 x 1))
Compiler

Compiled 1226 to 901 computations (26.5% saved)

simplify356.0ms (2.4%)

Algorithm
egg-herbie
Rules
569×associate--l+_binary64_18770
453×associate-/l*_binary64_18778
408×associate-*l/_binary64_18776
337×associate-*r/_binary64_18775
285×associate--r+_binary64_18769
207×associate-/l/_binary64_18780
198×sub-neg_binary64_18826
188×distribute-rgt-in_binary64_18783
182×associate-/r/_binary64_18779
180×cancel-sign-sub-inv_binary64_18799
162×associate-/r*_binary64_18777
140×distribute-lft-in_binary64_18782
87×associate-*l*_binary64_18774
73×+-commutative_binary64_18763
64×associate-*r*_binary64_18773
60×associate-+l+_binary64_18766
52×unsub-neg_binary64_18827
51×distribute-neg-in_binary64_18794
45×*-commutative_binary64_18764
42×associate-+r+_binary64_18765
41×times-frac_binary64_18839
38×*-rgt-identity_binary64_18823
35×distribute-rgt-neg-in_binary64_18791
32×neg-mul-1_binary64_18829
31×neg-sub0_binary64_18828
29×distribute-neg-frac_binary64_18797
28×distribute-lft-neg-in_binary64_18790 distribute-rgt-out--_binary64_18787
27×sqr-pow_binary64_18805
26×*-lft-identity_binary64_18822
19×distribute-rgt-out_binary64_18786
16×log-prod_binary64_18919 div-exp_binary64_18884 prod-exp_binary64_18882 unswap-sqr_binary64_18801
13×pow-sqr_binary64_18806
12×log-div_binary64_18920 /-rgt-identity_binary64_18824
10×cube-prod_binary64_18861 distribute-rgt1-in_binary64_18789 associate--l-_binary64_18771
exp-prod_binary64_18885 div-sub_binary64_18838
pow-plus_binary64_18896 cube-div_binary64_18862 swap-sqr_binary64_18800
log-pow_binary64_18922 cube-unmult_binary64_18870
rec-exp_binary64_18883
pow-base-1_binary64_18893
log-rec_binary64_18921 unpow3_binary64_18899 cube-mult_binary64_18863 difference-of-sqr-1_binary64_18803 associate-+l-_binary64_18768 associate-+r-_binary64_18767
unpow2_binary64_18898 unpow1_binary64_18891 exp-sqrt_binary64_18886 1-exp_binary64_18877 exp-1-e_binary64_18876 rem-log-exp_binary64_18874 *-inverses_binary64_18813 difference-of-squares_binary64_18802 distribute-rgt-neg-out_binary64_18793 distribute-lft-neg-out_binary64_18792 distribute-lft1-in_binary64_18788 count-2_binary64_18781 associate--r-_binary64_18772
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_19096 erf-erfc_binary64_19095 erf-odd_binary64_19094 if-if-and-not_binary64_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 not-gte_binary64_19085 not-lte_binary64_19084 not-gt_binary64_19083 not-lt_binary64_19082 gte-same_binary64_19081 lte-same_binary64_19080 gt-same_binary64_19079 lt-same_binary64_19078 sinh---cosh_binary64_19025 sinh-+-cosh_binary64_19024 sinh-cosh_binary64_19023 tanh-def-c_binary64_19022 tanh-def-b_binary64_19021 tanh-def-a_binary64_19020 cosh-def_binary64_19019 sinh-def_binary64_19018 tan-neg_binary64_18965 cos-neg_binary64_18964 sin-neg_binary64_18963 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 hang-m-tan_binary64_18959 hang-p-tan_binary64_18958 hang-m0-tan_binary64_18957 hang-p0-tan_binary64_18956 hang-0m-tan_binary64_18955 hang-0p-tan_binary64_18954 tan-+PI/2_binary64_18953 tan-+PI_binary64_18952 tan-PI_binary64_18951 tan-PI/3_binary64_18950 tan-PI/4_binary64_18949 tan-PI/6_binary64_18948 cos-+PI/2_binary64_18947 cos-+PI_binary64_18946 cos-PI_binary64_18945 cos-PI/2_binary64_18944 cos-PI/3_binary64_18943 cos-PI/4_binary64_18942 cos-PI/6_binary64_18941 sin-+PI/2_binary64_18940 sin-+PI_binary64_18939 sin-PI_binary64_18938 sin-PI/2_binary64_18937 sin-PI/3_binary64_18936 sin-PI/4_binary64_18935 sin-PI/6_binary64_18934 sub-1-sin_binary64_18933 sub-1-cos_binary64_18932 -1-add-sin_binary64_18931 -1-add-cos_binary64_18930 1-sub-sin_binary64_18929 1-sub-cos_binary64_18928 cos-sin-sum_binary64_18927 log-E_binary64_18923 pow-base-0_binary64_18917 unpow1/3_binary64_18900 unpow1/2_binary64_18897 exp-to-pow_binary64_18895 unpow0_binary64_18892 unpow-1_binary64_18890 exp-lft-cube_binary64_18889 exp-lft-sqr_binary64_18888 exp-cbrt_binary64_18887 exp-diff_binary64_18881 exp-neg_binary64_18880 exp-sum_binary64_18879 e-exp-1_binary64_18878 exp-0_binary64_18875 rem-exp-log_binary64_18873 cube-neg_binary64_18860 rem-3cbrt-rft_binary64_18859 rem-3cbrt-lft_binary64_18858 rem-cbrt-cube_binary64_18857 rem-cube-cbrt_binary64_18856 sqr-abs_binary64_18848 sqr-neg_binary64_18847 rem-sqrt-square_binary64_18846 rem-square-sqrt_binary64_18845 mul-1-neg_binary64_18825 remove-double-neg_binary64_18821 sub0-neg_binary64_18820 --rgt-identity_binary64_18819 +-rgt-identity_binary64_18818 +-lft-identity_binary64_18817 mul0-rgt_binary64_18816 mul0-lft_binary64_18815 div0_binary64_18814 +-inverses_binary64_18812 lft-mult-inverse_binary64_18811 rgt-mult-inverse_binary64_18810 remove-double-div_binary64_18809 difference-of-sqr--1_binary64_18804 cancel-sign-sub_binary64_18798 distribute-frac-neg_binary64_18796 distribute-neg-out_binary64_18795 distribute-lft-out--_binary64_18785 distribute-lft-out_binary64_18784
Counts
117 → 157
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01682489
14552336
217002287

prune168.0ms (1.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1570157
Fresh033
Picked011
Done011
Total1575162
Error
0b
Counts
162 → 5
Compiler

Compiled 3150 to 1718 computations (45.5% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 (+.f64 x 1) x)
0.2b
(/.f64 (+.f64 (/.f64 x y) 1) (/.f64 (+.f64 x 1) x))

rewrite195.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
140×*-un-lft-identity_binary64_18833
136×times-frac_binary64_18839
68×add-cube-cbrt_binary64_18868 add-sqr-sqrt_binary64_18855
36×distribute-lft-out_binary64_18784
19×associate-/r*_binary64_18777
add-exp-log_binary64_18871 add-cbrt-cube_binary64_18869
associate-/l*_binary64_18778
div-inv_binary64_18830
div-exp_binary64_18884 cbrt-undiv_binary64_18867 associate-/l/_binary64_18780
pow1_binary64_18894 add-log-exp_binary64_18872 frac-2neg_binary64_18844 clear-num_binary64_18832 flip3-+_binary64_18836 flip-+_binary64_18807
associate-/r/_binary64_18779
Counts
2 → 134
Calls

2 calls:

15.0ms
(/.f64 (+.f64 (/.f64 x y) 1) (/.f64 (+.f64 x 1) x))
6.0ms
(/.f64 (+.f64 x 1) x)
Compiler

Compiled 3053 to 1839 computations (39.8% saved)

series276.0ms (1.9%)

Error
0b
Counts
2 → 24
Calls

2 calls:

195.0ms
(/.f64 (+.f64 (/.f64 x y) 1) (/.f64 (+.f64 x 1) x))
61.0ms
(/.f64 (+.f64 x 1) x)
Compiler

Compiled 702 to 524 computations (25.4% saved)

simplify447.0ms (3%)

Algorithm
egg-herbie
Rules
527×associate-/r/_binary64_18779
374×sub-neg_binary64_18826
373×associate-*r/_binary64_18775
357×associate-/r*_binary64_18777
295×associate-*l*_binary64_18774
233×associate--l+_binary64_18770
223×*-commutative_binary64_18764
209×associate-+l+_binary64_18766
187×associate-*r*_binary64_18773
153×distribute-rgt-in_binary64_18783
144×associate--r+_binary64_18769
135×associate-/l*_binary64_18778
127×+-commutative_binary64_18763
126×unsub-neg_binary64_18827
124×associate-/l/_binary64_18780
123×associate-+r+_binary64_18765
120×div-sub_binary64_18838
118×distribute-lft-in_binary64_18782
102×associate-*l/_binary64_18776
71×times-frac_binary64_18839
63×cancel-sign-sub-inv_binary64_18799
47×associate-+l-_binary64_18768
41×associate-+r-_binary64_18767
38×*-rgt-identity_binary64_18823
36×neg-mul-1_binary64_18829 neg-sub0_binary64_18828
30×/-rgt-identity_binary64_18824
28×distribute-neg-in_binary64_18794
27×log-prod_binary64_18919
26×distribute-rgt-out_binary64_18786
25×log-div_binary64_18920
21×cube-prod_binary64_18861
18×sqr-pow_binary64_18805 distribute-rgt-neg-in_binary64_18791
17×cube-div_binary64_18862 distribute-neg-frac_binary64_18797
16×exp-prod_binary64_18885 div-exp_binary64_18884 prod-exp_binary64_18882
14×unswap-sqr_binary64_18801 distribute-lft-neg-in_binary64_18790
13×*-lft-identity_binary64_18822
12×distribute-rgt-out--_binary64_18787
pow-plus_binary64_18896 cube-unmult_binary64_18870 swap-sqr_binary64_18800 distribute-rgt1-in_binary64_18789
pow-sqr_binary64_18806
associate--l-_binary64_18771
log-pow_binary64_18922
unpow3_binary64_18899 exp-sqrt_binary64_18886 rec-exp_binary64_18883
cube-mult_binary64_18863 remove-double-div_binary64_18809 associate--r-_binary64_18772
exp-lft-sqr_binary64_18888 distribute-lft1-in_binary64_18788
log-rec_binary64_18921 unpow2_binary64_18898 exp-to-pow_binary64_18895 pow-base-1_binary64_18893 unpow1_binary64_18891 exp-diff_binary64_18881 1-exp_binary64_18877 rem-log-exp_binary64_18874 sqr-neg_binary64_18847 rem-sqrt-square_binary64_18846 remove-double-neg_binary64_18821 sub0-neg_binary64_18820 +-rgt-identity_binary64_18818 div0_binary64_18814 *-inverses_binary64_18813 cancel-sign-sub_binary64_18798 distribute-rgt-neg-out_binary64_18793 distribute-lft-neg-out_binary64_18792 distribute-lft-out_binary64_18784 count-2_binary64_18781
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_19096 erf-erfc_binary64_19095 erf-odd_binary64_19094 if-if-and-not_binary64_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 not-gte_binary64_19085 not-lte_binary64_19084 not-gt_binary64_19083 not-lt_binary64_19082 gte-same_binary64_19081 lte-same_binary64_19080 gt-same_binary64_19079 lt-same_binary64_19078 sinh---cosh_binary64_19025 sinh-+-cosh_binary64_19024 sinh-cosh_binary64_19023 tanh-def-c_binary64_19022 tanh-def-b_binary64_19021 tanh-def-a_binary64_19020 cosh-def_binary64_19019 sinh-def_binary64_19018 tan-neg_binary64_18965 cos-neg_binary64_18964 sin-neg_binary64_18963 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 hang-m-tan_binary64_18959 hang-p-tan_binary64_18958 hang-m0-tan_binary64_18957 hang-p0-tan_binary64_18956 hang-0m-tan_binary64_18955 hang-0p-tan_binary64_18954 tan-+PI/2_binary64_18953 tan-+PI_binary64_18952 tan-PI_binary64_18951 tan-PI/3_binary64_18950 tan-PI/4_binary64_18949 tan-PI/6_binary64_18948 cos-+PI/2_binary64_18947 cos-+PI_binary64_18946 cos-PI_binary64_18945 cos-PI/2_binary64_18944 cos-PI/3_binary64_18943 cos-PI/4_binary64_18942 cos-PI/6_binary64_18941 sin-+PI/2_binary64_18940 sin-+PI_binary64_18939 sin-PI_binary64_18938 sin-PI/2_binary64_18937 sin-PI/3_binary64_18936 sin-PI/4_binary64_18935 sin-PI/6_binary64_18934 sub-1-sin_binary64_18933 sub-1-cos_binary64_18932 -1-add-sin_binary64_18931 -1-add-cos_binary64_18930 1-sub-sin_binary64_18929 1-sub-cos_binary64_18928 cos-sin-sum_binary64_18927 log-E_binary64_18923 pow-base-0_binary64_18917 unpow1/3_binary64_18900 unpow1/2_binary64_18897 unpow0_binary64_18892 unpow-1_binary64_18890 exp-lft-cube_binary64_18889 exp-cbrt_binary64_18887 exp-neg_binary64_18880 exp-sum_binary64_18879 e-exp-1_binary64_18878 exp-1-e_binary64_18876 exp-0_binary64_18875 rem-exp-log_binary64_18873 cube-neg_binary64_18860 rem-3cbrt-rft_binary64_18859 rem-3cbrt-lft_binary64_18858 rem-cbrt-cube_binary64_18857 rem-cube-cbrt_binary64_18856 sqr-abs_binary64_18848 rem-square-sqrt_binary64_18845 mul-1-neg_binary64_18825 --rgt-identity_binary64_18819 +-lft-identity_binary64_18817 mul0-rgt_binary64_18816 mul0-lft_binary64_18815 +-inverses_binary64_18812 lft-mult-inverse_binary64_18811 rgt-mult-inverse_binary64_18810 difference-of-sqr--1_binary64_18804 difference-of-sqr-1_binary64_18803 difference-of-squares_binary64_18802 distribute-frac-neg_binary64_18796 distribute-neg-out_binary64_18795 distribute-lft-out--_binary64_18785
Counts
158 → 445
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02153983
15253827
217883791
346653791

prune731.0ms (4.9%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New4450445
Fresh022
Picked011
Done022
Total4455450
Error
0b
Counts
450 → 5
Compiler

Compiled 10792 to 6197 computations (42.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(/.f64 x (cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)))
0.1b
(/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y)))
0.1b
(pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)
16.9b
(cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3))

rewrite1.0s (6.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
398×*-un-lft-identity_binary64_18833
367×times-frac_binary64_18839
250×cbrt-prod_binary64_18864
186×add-cube-cbrt_binary64_18868 add-sqr-sqrt_binary64_18855
132×unpow-prod-down_binary64_18912 cube-prod_binary64_18861
106×distribute-lft-out_binary64_18784
57×associate-/r*_binary64_18777
27×associate-/r/_binary64_18779
14×div-inv_binary64_18830 flip3-+_binary64_18836 flip-+_binary64_18807
11×add-exp-log_binary64_18871
10×add-cbrt-cube_binary64_18869
associate-/l*_binary64_18778
unpow3_binary64_18899 cube-mult_binary64_18863 sqr-pow_binary64_18805
pow1_binary64_18894
add-log-exp_binary64_18872
cube-div_binary64_18862 pow-unpow_binary64_18910 div-exp_binary64_18884 cbrt-undiv_binary64_18867
cbrt-div_binary64_18865 pow-exp_binary64_18901 rem-cube-cbrt_binary64_18856 frac-2neg_binary64_18844 clear-num_binary64_18832 associate-/l/_binary64_18780
pow1/3_binary64_18915 rem-cbrt-cube_binary64_18857 pow-pow_binary64_18905 pow-to-exp_binary64_18902
Counts
4 → 392
Calls

4 calls:

25.0ms
(/.f64 x (cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)))
21.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3))
13.0ms
(pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)
11.0ms
(/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y)))
Compiler

Compiled 11570 to 7784 computations (32.7% saved)

series857.0ms (5.8%)

Error
0b
Counts
4 → 69
Calls

4 calls:

316.0ms
(pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)
179.0ms
(/.f64 x (cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3)))
150.0ms
(/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y)))
122.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 1 x) (+.f64 1 (/.f64 x y))) 3))
Compiler

Compiled 3961 to 2969 computations (25% saved)

simplify1.5s (10%)

Algorithm
egg-herbie
Rules
244×associate-/l*_binary64_18778
212×times-frac_binary64_18839
171×associate-+r+_binary64_18765 +-commutative_binary64_18763
161×associate-+l+_binary64_18766
157×associate--l+_binary64_18770
149×associate-/l/_binary64_18780
147×associate-/r*_binary64_18777
144×associate-/r/_binary64_18779
111×associate-*l/_binary64_18776
110×log-prod_binary64_18919
109×associate--r+_binary64_18769
100×cube-div_binary64_18862
95×associate-*r*_binary64_18773
93×sub-neg_binary64_18826
92×associate-*r/_binary64_18775
87×sqr-pow_binary64_18805
83×associate-*l*_binary64_18774
77×log-div_binary64_18920
69×exp-prod_binary64_18885 cube-prod_binary64_18861
59×cancel-sign-sub-inv_binary64_18799
58×*-commutative_binary64_18764
54×distribute-rgt-in_binary64_18783
46×distribute-lft-in_binary64_18782
45×unpow3_binary64_18899
43×pow-sqr_binary64_18806
42×cube-mult_binary64_18863
41×distribute-neg-in_binary64_18794
29×neg-mul-1_binary64_18829 neg-sub0_binary64_18828
28×log-pow_binary64_18922 rem-cbrt-cube_binary64_18857
25×pow-plus_binary64_18896
18×distribute-rgt-neg-in_binary64_18791
17×div-sub_binary64_18838
16×div-exp_binary64_18884 prod-exp_binary64_18882
14×rem-sqrt-square_binary64_18846 unswap-sqr_binary64_18801
13×distribute-lft-neg-in_binary64_18790
11×distribute-neg-frac_binary64_18797
10×cube-unmult_binary64_18870
distribute-rgt-out_binary64_18786
/-rgt-identity_binary64_18824 *-lft-identity_binary64_18822 distribute-rgt-out--_binary64_18787
swap-sqr_binary64_18800
*-rgt-identity_binary64_18823 distribute-lft-neg-out_binary64_18792 associate-+r-_binary64_18767
rec-exp_binary64_18883
log-rec_binary64_18921 pow-base-1_binary64_18893 unpow1_binary64_18891 rem-cube-cbrt_binary64_18856 rem-square-sqrt_binary64_18845
unpow2_binary64_18898 unsub-neg_binary64_18827 remove-double-div_binary64_18809 associate-+l-_binary64_18768
1-exp_binary64_18877 rem-log-exp_binary64_18874 rem-3cbrt-lft_binary64_18858 *-inverses_binary64_18813 difference-of-squares_binary64_18802 distribute-rgt1-in_binary64_18789 distribute-lft-out_binary64_18784 associate--r-_binary64_18772
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_19096 erf-erfc_binary64_19095 erf-odd_binary64_19094 if-if-and-not_binary64_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 not-gte_binary64_19085 not-lte_binary64_19084 not-gt_binary64_19083 not-lt_binary64_19082 gte-same_binary64_19081 lte-same_binary64_19080 gt-same_binary64_19079 lt-same_binary64_19078 sinh---cosh_binary64_19025 sinh-+-cosh_binary64_19024 sinh-cosh_binary64_19023 tanh-def-c_binary64_19022 tanh-def-b_binary64_19021 tanh-def-a_binary64_19020 cosh-def_binary64_19019 sinh-def_binary64_19018 tan-neg_binary64_18965 cos-neg_binary64_18964 sin-neg_binary64_18963 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 hang-m-tan_binary64_18959 hang-p-tan_binary64_18958 hang-m0-tan_binary64_18957 hang-p0-tan_binary64_18956 hang-0m-tan_binary64_18955 hang-0p-tan_binary64_18954 tan-+PI/2_binary64_18953 tan-+PI_binary64_18952 tan-PI_binary64_18951 tan-PI/3_binary64_18950 tan-PI/4_binary64_18949 tan-PI/6_binary64_18948 cos-+PI/2_binary64_18947 cos-+PI_binary64_18946 cos-PI_binary64_18945 cos-PI/2_binary64_18944 cos-PI/3_binary64_18943 cos-PI/4_binary64_18942 cos-PI/6_binary64_18941 sin-+PI/2_binary64_18940 sin-+PI_binary64_18939 sin-PI_binary64_18938 sin-PI/2_binary64_18937 sin-PI/3_binary64_18936 sin-PI/4_binary64_18935 sin-PI/6_binary64_18934 sub-1-sin_binary64_18933 sub-1-cos_binary64_18932 -1-add-sin_binary64_18931 -1-add-cos_binary64_18930 1-sub-sin_binary64_18929 1-sub-cos_binary64_18928 cos-sin-sum_binary64_18927 log-E_binary64_18923 pow-base-0_binary64_18917 unpow1/3_binary64_18900 unpow1/2_binary64_18897 exp-to-pow_binary64_18895 unpow0_binary64_18892 unpow-1_binary64_18890 exp-lft-cube_binary64_18889 exp-lft-sqr_binary64_18888 exp-cbrt_binary64_18887 exp-sqrt_binary64_18886 exp-diff_binary64_18881 exp-neg_binary64_18880 exp-sum_binary64_18879 e-exp-1_binary64_18878 exp-1-e_binary64_18876 exp-0_binary64_18875 rem-exp-log_binary64_18873 cube-neg_binary64_18860 rem-3cbrt-rft_binary64_18859 sqr-abs_binary64_18848 sqr-neg_binary64_18847 mul-1-neg_binary64_18825 remove-double-neg_binary64_18821 sub0-neg_binary64_18820 --rgt-identity_binary64_18819 +-rgt-identity_binary64_18818 +-lft-identity_binary64_18817 mul0-rgt_binary64_18816 mul0-lft_binary64_18815 div0_binary64_18814 +-inverses_binary64_18812 lft-mult-inverse_binary64_18811 rgt-mult-inverse_binary64_18810 difference-of-sqr--1_binary64_18804 difference-of-sqr-1_binary64_18803 cancel-sign-sub_binary64_18798 distribute-frac-neg_binary64_18796 distribute-neg-out_binary64_18795 distribute-rgt-neg-out_binary64_18793 distribute-lft1-in_binary64_18788 distribute-lft-out--_binary64_18785 count-2_binary64_18781 associate--l-_binary64_18771
Counts
461 → 1426
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
048913622
1112312770
2440112752

prune4.1s (27.9%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New142601426
Fresh011
Picked011
Done033
Total142651431
Error
0b
Counts
1431 → 5
Compiler

Compiled 39228 to 23834 computations (39.2% saved)

regimes236.0ms (1.6%)

Accuracy

Total 0.1b remaining (95.5%)

Threshold costs 0.1b (95.5%)

Compiler

Compiled 1934 to 1517 computations (21.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_18763
1-exp_binary64_18877 *-commutative_binary64_18764
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_19093 if-if-and_binary64_19092 if-if-or-not_binary64_19091 if-if-or_binary64_19090 if-not_binary64_19089 if-same_binary64_19088 if-false_binary64_19087 if-true_binary64_19086 tan-0_binary64_18962 cos-0_binary64_18961 sin-0_binary64_18960 unpow1_binary64_18891 e-exp-1_binary64_18878 exp-1-e_binary64_18876 exp-0_binary64_18875 sqr-abs_binary64_18848 sqr-neg_binary64_18847 neg-mul-1_binary64_18829 neg-sub0_binary64_18828 unsub-neg_binary64_18827 sub-neg_binary64_18826 mul-1-neg_binary64_18825 /-rgt-identity_binary64_18824 *-rgt-identity_binary64_18823 *-lft-identity_binary64_18822 remove-double-neg_binary64_18821 sub0-neg_binary64_18820 --rgt-identity_binary64_18819 +-rgt-identity_binary64_18818 +-lft-identity_binary64_18817 cancel-sign-sub-inv_binary64_18799 cancel-sign-sub_binary64_18798 distribute-neg-frac_binary64_18797 distribute-frac-neg_binary64_18796 distribute-neg-out_binary64_18795 distribute-neg-in_binary64_18794 distribute-rgt-neg-out_binary64_18793 distribute-lft-neg-out_binary64_18792 distribute-rgt-neg-in_binary64_18791 distribute-lft-neg-in_binary64_18790
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11416
Proof
(* f64 (/ f64 h0 (+ f64 h0 1)) (=> (+ f64 (/ f64 h0 h1) 1))) +-commutative_binary64_18763 => (* f64 (/ f64 h0 (+ f64 h0 1)) (+ f64 1 (/ f64 h0 h1)))

end0.0ms (0%)

sample1.2s (7.8%)

Algorithm
intervals
Results
259.0ms8000×body128valid
8.0ms259×body128invalid
Compiler

Compiled 672 to 529 computations (21.3% saved)

Profiling

Loading profile data...