Details

Time bar (total: 4.4s)

analyze523.0ms (12%)

Algorithm
search
egg-herbie
Rules
1502×associate-/l*_binary64_9912
822×distribute-rgt-in_binary64_9917
738×cancel-sign-sub-inv_binary64_9933
657×*-commutative_binary64_9898
616×sub-neg_binary64_9960
594×distribute-lft-in_binary64_9916
542×associate-/l/_binary64_9914
540×div-sub_binary64_9972
539×distribute-rgt-neg-in_binary64_9925
519×associate-/r/_binary64_9913
413×neg-mul-1_binary64_9963 distribute-lft-neg-in_binary64_9924
410×associate-/r*_binary64_9911
382×unsub-neg_binary64_9961
376×neg-sub0_binary64_9962
343×distribute-neg-frac_binary64_9931
314×distribute-frac-neg_binary64_9930
304×times-frac_binary64_9973
207×distribute-rgt-neg-out_binary64_9927
170×distribute-lft-neg-out_binary64_9926
82×associate--r+_binary64_9903
78×div0_binary64_9948
76×mul0-rgt_binary64_9950
74×mul0-lft_binary64_9949
61×associate-*l*_binary64_9908
48×associate-*r*_binary64_9907
39×+-commutative_binary64_9897
29×remove-double-div_binary64_9943
28×*-lft-identity_binary64_9956 swap-sqr_binary64_9934
19×distribute-neg-in_binary64_9928
17×/-rgt-identity_binary64_9958 associate--l-_binary64_9905
16×associate-*l/_binary64_9910 associate-+r-_binary64_9901
15×associate-+l-_binary64_9902
14×remove-double-neg_binary64_9955
13×associate--r-_binary64_9906
12×*-inverses_binary64_9947 lft-mult-inverse_binary64_9945
11×*-rgt-identity_binary64_9957
10×sub0-neg_binary64_9954
associate-+r+_binary64_9899
mul-1-neg_binary64_9959
--rgt-identity_binary64_9953 associate-+l+_binary64_9900
+-lft-identity_binary64_9951
sqr-neg_binary64_9981
+-rgt-identity_binary64_9952 distribute-rgt-out--_binary64_9921
1-exp_binary64_10011 distribute-rgt1-in_binary64_9923 distribute-lft1-in_binary64_9922 associate-*r/_binary64_9909 associate--l+_binary64_9904
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_10230 erf-erfc_binary64_10229 erf-odd_binary64_10228 if-if-and-not_binary64_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 not-gte_binary64_10219 not-lte_binary64_10218 not-gt_binary64_10217 not-lt_binary64_10216 gte-same_binary64_10215 lte-same_binary64_10214 gt-same_binary64_10213 lt-same_binary64_10212 sinh---cosh_binary64_10159 sinh-+-cosh_binary64_10158 sinh-cosh_binary64_10157 tanh-def-c_binary64_10156 tanh-def-b_binary64_10155 tanh-def-a_binary64_10154 cosh-def_binary64_10153 sinh-def_binary64_10152 tan-neg_binary64_10099 cos-neg_binary64_10098 sin-neg_binary64_10097 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 hang-m-tan_binary64_10093 hang-p-tan_binary64_10092 hang-m0-tan_binary64_10091 hang-p0-tan_binary64_10090 hang-0m-tan_binary64_10089 hang-0p-tan_binary64_10088 tan-+PI/2_binary64_10087 tan-+PI_binary64_10086 tan-PI_binary64_10085 tan-PI/3_binary64_10084 tan-PI/4_binary64_10083 tan-PI/6_binary64_10082 cos-+PI/2_binary64_10081 cos-+PI_binary64_10080 cos-PI_binary64_10079 cos-PI/2_binary64_10078 cos-PI/3_binary64_10077 cos-PI/4_binary64_10076 cos-PI/6_binary64_10075 sin-+PI/2_binary64_10074 sin-+PI_binary64_10073 sin-PI_binary64_10072 sin-PI/2_binary64_10071 sin-PI/3_binary64_10070 sin-PI/4_binary64_10069 sin-PI/6_binary64_10068 sub-1-sin_binary64_10067 sub-1-cos_binary64_10066 -1-add-sin_binary64_10065 -1-add-cos_binary64_10064 1-sub-sin_binary64_10063 1-sub-cos_binary64_10062 cos-sin-sum_binary64_10061 log-E_binary64_10057 log-pow_binary64_10056 log-rec_binary64_10055 log-div_binary64_10054 log-prod_binary64_10053 pow-base-0_binary64_10051 unpow1/3_binary64_10034 unpow3_binary64_10033 unpow2_binary64_10032 unpow1/2_binary64_10031 pow-plus_binary64_10030 exp-to-pow_binary64_10029 pow-base-1_binary64_10027 unpow0_binary64_10026 unpow1_binary64_10025 unpow-1_binary64_10024 exp-lft-cube_binary64_10023 exp-lft-sqr_binary64_10022 exp-cbrt_binary64_10021 exp-sqrt_binary64_10020 exp-prod_binary64_10019 div-exp_binary64_10018 rec-exp_binary64_10017 prod-exp_binary64_10016 exp-diff_binary64_10015 exp-neg_binary64_10014 exp-sum_binary64_10013 e-exp-1_binary64_10012 exp-1-e_binary64_10010 exp-0_binary64_10009 rem-log-exp_binary64_10008 rem-exp-log_binary64_10007 cube-unmult_binary64_10004 cube-mult_binary64_9997 cube-div_binary64_9996 cube-prod_binary64_9995 cube-neg_binary64_9994 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 rem-sqrt-square_binary64_9980 rem-square-sqrt_binary64_9979 +-inverses_binary64_9946 rgt-mult-inverse_binary64_9944 pow-sqr_binary64_9940 sqr-pow_binary64_9939 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 difference-of-squares_binary64_9936 unswap-sqr_binary64_9935 cancel-sign-sub_binary64_9932 distribute-neg-out_binary64_9929 distribute-rgt-out_binary64_9920 distribute-lft-out--_binary64_9919 distribute-lft-out_binary64_9918 count-2_binary64_9915
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
12432
23932
35732
47732
513932
616632
734732
849232
955132
10116932
11208032
12174632
13192432
14202432
15202432
16219532
17218132
18214932
19216932
20216532
21216932
22216932
23218932
24218932
25356532
26338132
27350432
28372432
29375332
30374132
31392932
32432132
33493332
34465032
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
50%50%0.1%5
62.4%37.5%0.1%6
74.9%25%0.1%7
81.2%18.7%0.1%8
87.4%12.5%0.1%9
90.5%9.4%0.1%10
93.7%6.2%0.1%11
95.2%4.7%0.1%12
96.8%3.1%0.1%13
97.6%2.3%0.1%14
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample17.0ms (0.4%)

Algorithm
intervals
Results
8.0ms256×body128valid
Compiler

Compiled 23 to 21 computations (8.7% saved)

simplify382.0ms (8.8%)

Algorithm
egg-herbie
Rules
4285×associate-/l/_binary64_9914
1506×div-sub_binary64_9972
825×sub-neg_binary64_9960
818×associate-/l*_binary64_9912
785×distribute-rgt-in_binary64_9917
650×distribute-lft-in_binary64_9916
636×associate-/r/_binary64_9913
602×cancel-sign-sub-inv_binary64_9933
455×unsub-neg_binary64_9961
395×associate-/r*_binary64_9911
341×*-commutative_binary64_9898
337×distribute-rgt-neg-out_binary64_9927
295×associate-*l/_binary64_9910
259×associate-*l*_binary64_9908
247×distribute-neg-in_binary64_9928
224×neg-mul-1_binary64_9963
219×neg-sub0_binary64_9962
217×associate-*r*_binary64_9907
207×distribute-lft-neg-out_binary64_9926 associate--r+_binary64_9903
180×distribute-rgt-neg-in_binary64_9925
149×associate-*r/_binary64_9909
147×+-commutative_binary64_9897
135×associate--l+_binary64_9904
134×mul0-rgt_binary64_9950
133×mul0-lft_binary64_9949
130×div0_binary64_9948 distribute-frac-neg_binary64_9930
125×distribute-neg-frac_binary64_9931
120×*-lft-identity_binary64_9956
80×times-frac_binary64_9973
72×distribute-lft-neg-in_binary64_9924
31×associate--r-_binary64_9906
17×associate--l-_binary64_9905
16×/-rgt-identity_binary64_9958 distribute-rgt-out--_binary64_9921
15×*-rgt-identity_binary64_9957
12×cancel-sign-sub_binary64_9932
11×associate-+l-_binary64_9902
10×sub0-neg_binary64_9954
mul-1-neg_binary64_9959 distribute-rgt-out_binary64_9920
remove-double-neg_binary64_9955 +-lft-identity_binary64_9951
+-rgt-identity_binary64_9952
associate-+l+_binary64_9900
--rgt-identity_binary64_9953 *-inverses_binary64_9947 swap-sqr_binary64_9934 distribute-neg-out_binary64_9929 associate-+r-_binary64_9901 associate-+r+_binary64_9899
lft-mult-inverse_binary64_9945
sqr-neg_binary64_9981
1-exp_binary64_10011 distribute-rgt1-in_binary64_9923 distribute-lft1-in_binary64_9922
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_10230 erf-erfc_binary64_10229 erf-odd_binary64_10228 if-if-and-not_binary64_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 not-gte_binary64_10219 not-lte_binary64_10218 not-gt_binary64_10217 not-lt_binary64_10216 gte-same_binary64_10215 lte-same_binary64_10214 gt-same_binary64_10213 lt-same_binary64_10212 sinh---cosh_binary64_10159 sinh-+-cosh_binary64_10158 sinh-cosh_binary64_10157 tanh-def-c_binary64_10156 tanh-def-b_binary64_10155 tanh-def-a_binary64_10154 cosh-def_binary64_10153 sinh-def_binary64_10152 tan-neg_binary64_10099 cos-neg_binary64_10098 sin-neg_binary64_10097 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 hang-m-tan_binary64_10093 hang-p-tan_binary64_10092 hang-m0-tan_binary64_10091 hang-p0-tan_binary64_10090 hang-0m-tan_binary64_10089 hang-0p-tan_binary64_10088 tan-+PI/2_binary64_10087 tan-+PI_binary64_10086 tan-PI_binary64_10085 tan-PI/3_binary64_10084 tan-PI/4_binary64_10083 tan-PI/6_binary64_10082 cos-+PI/2_binary64_10081 cos-+PI_binary64_10080 cos-PI_binary64_10079 cos-PI/2_binary64_10078 cos-PI/3_binary64_10077 cos-PI/4_binary64_10076 cos-PI/6_binary64_10075 sin-+PI/2_binary64_10074 sin-+PI_binary64_10073 sin-PI_binary64_10072 sin-PI/2_binary64_10071 sin-PI/3_binary64_10070 sin-PI/4_binary64_10069 sin-PI/6_binary64_10068 sub-1-sin_binary64_10067 sub-1-cos_binary64_10066 -1-add-sin_binary64_10065 -1-add-cos_binary64_10064 1-sub-sin_binary64_10063 1-sub-cos_binary64_10062 cos-sin-sum_binary64_10061 log-E_binary64_10057 log-pow_binary64_10056 log-rec_binary64_10055 log-div_binary64_10054 log-prod_binary64_10053 pow-base-0_binary64_10051 unpow1/3_binary64_10034 unpow3_binary64_10033 unpow2_binary64_10032 unpow1/2_binary64_10031 pow-plus_binary64_10030 exp-to-pow_binary64_10029 pow-base-1_binary64_10027 unpow0_binary64_10026 unpow1_binary64_10025 unpow-1_binary64_10024 exp-lft-cube_binary64_10023 exp-lft-sqr_binary64_10022 exp-cbrt_binary64_10021 exp-sqrt_binary64_10020 exp-prod_binary64_10019 div-exp_binary64_10018 rec-exp_binary64_10017 prod-exp_binary64_10016 exp-diff_binary64_10015 exp-neg_binary64_10014 exp-sum_binary64_10013 e-exp-1_binary64_10012 exp-1-e_binary64_10010 exp-0_binary64_10009 rem-log-exp_binary64_10008 rem-exp-log_binary64_10007 cube-unmult_binary64_10004 cube-mult_binary64_9997 cube-div_binary64_9996 cube-prod_binary64_9995 cube-neg_binary64_9994 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 rem-sqrt-square_binary64_9980 rem-square-sqrt_binary64_9979 +-inverses_binary64_9946 rgt-mult-inverse_binary64_9944 remove-double-div_binary64_9943 pow-sqr_binary64_9940 sqr-pow_binary64_9939 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 difference-of-squares_binary64_9936 unswap-sqr_binary64_9935 distribute-lft-out--_binary64_9919 distribute-lft-out_binary64_9918 count-2_binary64_9915
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11816
22816
33916
45216
58316
610916
715816
830716
942116
1065716
11124416
12156616
13151116
14156516
15159516
16160116
17160116
18186516
19164116
20164116
21280116
22355116
23337916
24330716
25327316
26334116
27414116
28363716
29363716
30363716
31365716
32364116
33364116
34364116
35364116
36489416

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.0b
Counts
1 → 1
Compiler

Compiled 11 to 9 computations (18.2% saved)

localize12.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 1 (/.f64 (*.f64 x y) 2))
0.0b
(/.f64 (*.f64 x y) 2)
6.7b
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))

rewrite98.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
24×*-un-lft-identity_binary64_9967
15×times-frac_binary64_9973
14×add-cube-cbrt_binary64_10002 add-sqr-sqrt_binary64_9989
10×add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
associate-/r*_binary64_9911
add-log-exp_binary64_10006 distribute-lft-out_binary64_9918
associate-/l*_binary64_9912
pow1_binary64_10028 div-exp_binary64_10018 cbrt-undiv_binary64_10001
frac-2neg_binary64_9978 clear-num_binary64_9966 div-inv_binary64_9964 flip3-+_binary64_9970 associate-/r/_binary64_9913 flip-+_binary64_9941
prod-exp_binary64_10016 cbrt-unprod_binary64_10000 sum-log_binary64_10058 +-commutative_binary64_9897
Counts
3 → 66
Calls

3 calls:

7.0ms
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))
5.0ms
(+.f64 1 (/.f64 (*.f64 x y) 2))
5.0ms
(/.f64 (*.f64 x y) 2)
Compiler

Compiled 1273 to 773 computations (39.3% saved)

series348.0ms (8%)

Error
0b
Counts
3 → 38
Calls

3 calls:

132.0ms
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))
102.0ms
(+.f64 1 (/.f64 (*.f64 x y) 2))
79.0ms
(/.f64 (*.f64 x y) 2)
Compiler

Compiled 1322 to 1032 computations (21.9% saved)

simplify108.0ms (2.5%)

Algorithm
egg-herbie
Rules
453×unswap-sqr_binary64_9935
350×associate-/l*_binary64_9912
334×cancel-sign-sub-inv_binary64_9933
290×associate-*l*_binary64_9908
250×associate-/r*_binary64_9911
235×associate-*l/_binary64_9910
232×associate-*r*_binary64_9907
226×times-frac_binary64_9973
199×associate-*r/_binary64_9909
152×associate-/l/_binary64_9914
119×sub-neg_binary64_9960
113×associate-/r/_binary64_9913
112×log-prod_binary64_10053
106×*-commutative_binary64_9898
94×log-div_binary64_10054
78×exp-prod_binary64_10019
76×cube-prod_binary64_9995
57×cube-div_binary64_9996
56×unpow3_binary64_10033 swap-sqr_binary64_9934
53×sqr-pow_binary64_9939
46×cube-mult_binary64_9997
44×distribute-neg-frac_binary64_9931
41×neg-sub0_binary64_9962
40×neg-mul-1_binary64_9963
39×distribute-rgt-neg-in_binary64_9925 +-commutative_binary64_9897
35×distribute-rgt-in_binary64_9917
32×distribute-lft-neg-in_binary64_9924
29×associate-+l-_binary64_9902
24×distribute-lft-in_binary64_9916
23×div-sub_binary64_9972 *-lft-identity_binary64_9956 associate-+l+_binary64_9900
22×associate-+r-_binary64_9901
21×associate-+r+_binary64_9899
20×*-rgt-identity_binary64_9957
18×/-rgt-identity_binary64_9958
15×log-rec_binary64_10055
14×cube-unmult_binary64_10004 associate--l+_binary64_9904
12×unsub-neg_binary64_9961
11×pow-plus_binary64_10030 +-rgt-identity_binary64_9952
10×associate--l-_binary64_9905 associate--r+_binary64_9903
sub0-neg_binary64_9954 remove-double-div_binary64_9943
log-pow_binary64_10056 exp-sqrt_binary64_10020
pow-sqr_binary64_9940
unpow1/2_binary64_10031 rem-sqrt-square_binary64_9980 distribute-neg-in_binary64_9928 distribute-lft-neg-out_binary64_9926
unpow2_binary64_10032 unpow1_binary64_10025 prod-exp_binary64_10016 div0_binary64_9948 distribute-rgt1-in_binary64_9923
exp-diff_binary64_10015 exp-sum_binary64_10013 1-exp_binary64_10011 exp-1-e_binary64_10010 remove-double-neg_binary64_9955 mul0-rgt_binary64_9950 mul0-lft_binary64_9949 difference-of-sqr-1_binary64_9937 distribute-rgt-out--_binary64_9921 distribute-rgt-out_binary64_9920 associate--r-_binary64_9906
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_10230 erf-erfc_binary64_10229 erf-odd_binary64_10228 if-if-and-not_binary64_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 not-gte_binary64_10219 not-lte_binary64_10218 not-gt_binary64_10217 not-lt_binary64_10216 gte-same_binary64_10215 lte-same_binary64_10214 gt-same_binary64_10213 lt-same_binary64_10212 sinh---cosh_binary64_10159 sinh-+-cosh_binary64_10158 sinh-cosh_binary64_10157 tanh-def-c_binary64_10156 tanh-def-b_binary64_10155 tanh-def-a_binary64_10154 cosh-def_binary64_10153 sinh-def_binary64_10152 tan-neg_binary64_10099 cos-neg_binary64_10098 sin-neg_binary64_10097 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 hang-m-tan_binary64_10093 hang-p-tan_binary64_10092 hang-m0-tan_binary64_10091 hang-p0-tan_binary64_10090 hang-0m-tan_binary64_10089 hang-0p-tan_binary64_10088 tan-+PI/2_binary64_10087 tan-+PI_binary64_10086 tan-PI_binary64_10085 tan-PI/3_binary64_10084 tan-PI/4_binary64_10083 tan-PI/6_binary64_10082 cos-+PI/2_binary64_10081 cos-+PI_binary64_10080 cos-PI_binary64_10079 cos-PI/2_binary64_10078 cos-PI/3_binary64_10077 cos-PI/4_binary64_10076 cos-PI/6_binary64_10075 sin-+PI/2_binary64_10074 sin-+PI_binary64_10073 sin-PI_binary64_10072 sin-PI/2_binary64_10071 sin-PI/3_binary64_10070 sin-PI/4_binary64_10069 sin-PI/6_binary64_10068 sub-1-sin_binary64_10067 sub-1-cos_binary64_10066 -1-add-sin_binary64_10065 -1-add-cos_binary64_10064 1-sub-sin_binary64_10063 1-sub-cos_binary64_10062 cos-sin-sum_binary64_10061 log-E_binary64_10057 pow-base-0_binary64_10051 unpow1/3_binary64_10034 exp-to-pow_binary64_10029 pow-base-1_binary64_10027 unpow0_binary64_10026 unpow-1_binary64_10024 exp-lft-cube_binary64_10023 exp-lft-sqr_binary64_10022 exp-cbrt_binary64_10021 div-exp_binary64_10018 rec-exp_binary64_10017 exp-neg_binary64_10014 e-exp-1_binary64_10012 exp-0_binary64_10009 rem-log-exp_binary64_10008 rem-exp-log_binary64_10007 cube-neg_binary64_9994 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 sqr-neg_binary64_9981 rem-square-sqrt_binary64_9979 mul-1-neg_binary64_9959 --rgt-identity_binary64_9953 +-lft-identity_binary64_9951 *-inverses_binary64_9947 +-inverses_binary64_9946 lft-mult-inverse_binary64_9945 rgt-mult-inverse_binary64_9944 difference-of-sqr--1_binary64_9938 difference-of-squares_binary64_9936 cancel-sign-sub_binary64_9932 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-rgt-neg-out_binary64_9927 distribute-lft1-in_binary64_9922 distribute-lft-out--_binary64_9919 distribute-lft-out_binary64_9918 count-2_binary64_9915
Counts
104 → 86
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01401680
13301603
28791597
331301597
448091597
549131597

prune83.0ms (1.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New84286
Fresh000
Picked011
Done000
Total84387
Error
0b
Counts
87 → 3
Compiler

Compiled 1500 to 873 computations (41.8% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 1/2 (*.f64 x (*.f64 y y)))
0.0b
(-.f64 y (*.f64 1/2 (*.f64 x (*.f64 y y))))
6.3b
(*.f64 x (*.f64 y y))

rewrite65.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
17×pow1_binary64_10028 add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
pow-prod-down_binary64_10038 prod-exp_binary64_10016 cbrt-unprod_binary64_10000
add-sqr-sqrt_binary64_9989 associate-*l*_binary64_9908
add-log-exp_binary64_10006 add-cube-cbrt_binary64_10002 *-un-lft-identity_binary64_9967
associate-*r*_binary64_9907 *-commutative_binary64_9898
unswap-sqr_binary64_9935 diff-log_binary64_10059 flip3--_binary64_9971 sub-neg_binary64_9960 flip--_binary64_9942 cancel-sign-sub-inv_binary64_9933
Counts
3 → 52
Calls

3 calls:

8.0ms
(*.f64 1/2 (*.f64 x (*.f64 y y)))
6.0ms
(*.f64 x (*.f64 y y))
4.0ms
(-.f64 y (*.f64 1/2 (*.f64 x (*.f64 y y))))
Compiler

Compiled 929 to 395 computations (57.5% saved)

series347.0ms (7.9%)

Error
0b
Counts
3 → 24
Calls

3 calls:

142.0ms
(-.f64 y (*.f64 1/2 (*.f64 x (*.f64 y y))))
102.0ms
(*.f64 1/2 (*.f64 x (*.f64 y y)))
85.0ms
(*.f64 x (*.f64 y y))
Compiler

Compiled 678 to 515 computations (24% saved)

simplify76.0ms (1.7%)

Algorithm
egg-herbie
Rules
735×unswap-sqr_binary64_9935
455×distribute-rgt-neg-in_binary64_9925
448×distribute-lft-neg-in_binary64_9924
334×*-commutative_binary64_9898
265×distribute-rgt-in_binary64_9917
243×cancel-sign-sub-inv_binary64_9933
234×distribute-lft-in_binary64_9916
187×unsub-neg_binary64_9961
180×sqr-pow_binary64_9939
151×neg-mul-1_binary64_9963
148×neg-sub0_binary64_9962
129×sub-neg_binary64_9960
120×exp-prod_binary64_10019
113×associate-*r*_binary64_9907
99×associate-*l*_binary64_9908
85×distribute-rgt-out_binary64_9920
83×exp-sum_binary64_10013
79×mul0-rgt_binary64_9950 mul0-lft_binary64_9949
66×swap-sqr_binary64_9934
47×times-frac_binary64_9973 associate-+r+_binary64_9899
46×difference-of-squares_binary64_9936
45×pow-sqr_binary64_9940
44×associate-+l+_binary64_9900 +-commutative_binary64_9897
31×cube-prod_binary64_9995
30×log-prod_binary64_10053
18×exp-diff_binary64_10015 distribute-rgt-out--_binary64_9921
17×distribute-lft-neg-out_binary64_9926
15×distribute-rgt1-in_binary64_9923
14×distribute-rgt-neg-out_binary64_9927
13×unpow3_binary64_10033
12×sqr-neg_binary64_9981 associate-/r*_binary64_9911
11×pow-plus_binary64_10030 distribute-lft-out_binary64_9918 associate-/l*_binary64_9912
10×cube-mult_binary64_9997
cube-unmult_binary64_10004
unpow1/2_binary64_10031 associate-/l/_binary64_9914 associate-*r/_binary64_9909
rem-sqrt-square_binary64_9980 +-rgt-identity_binary64_9952 associate--l+_binary64_9904
div-sub_binary64_9972 sub0-neg_binary64_9954 associate-/r/_binary64_9913 associate-+l-_binary64_9902 associate-+r-_binary64_9901
log-pow_binary64_10056 distribute-neg-in_binary64_9928 associate--r+_binary64_9903
+-lft-identity_binary64_9951 count-2_binary64_9915
unpow2_binary64_10032 unpow1_binary64_10025 div-exp_binary64_10018 1-exp_binary64_10011 cube-neg_binary64_9994 *-rgt-identity_binary64_9957 *-lft-identity_binary64_9956 remove-double-neg_binary64_9955 --rgt-identity_binary64_9953 distribute-lft1-in_binary64_9922
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_10230 erf-erfc_binary64_10229 erf-odd_binary64_10228 if-if-and-not_binary64_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 not-gte_binary64_10219 not-lte_binary64_10218 not-gt_binary64_10217 not-lt_binary64_10216 gte-same_binary64_10215 lte-same_binary64_10214 gt-same_binary64_10213 lt-same_binary64_10212 sinh---cosh_binary64_10159 sinh-+-cosh_binary64_10158 sinh-cosh_binary64_10157 tanh-def-c_binary64_10156 tanh-def-b_binary64_10155 tanh-def-a_binary64_10154 cosh-def_binary64_10153 sinh-def_binary64_10152 tan-neg_binary64_10099 cos-neg_binary64_10098 sin-neg_binary64_10097 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 hang-m-tan_binary64_10093 hang-p-tan_binary64_10092 hang-m0-tan_binary64_10091 hang-p0-tan_binary64_10090 hang-0m-tan_binary64_10089 hang-0p-tan_binary64_10088 tan-+PI/2_binary64_10087 tan-+PI_binary64_10086 tan-PI_binary64_10085 tan-PI/3_binary64_10084 tan-PI/4_binary64_10083 tan-PI/6_binary64_10082 cos-+PI/2_binary64_10081 cos-+PI_binary64_10080 cos-PI_binary64_10079 cos-PI/2_binary64_10078 cos-PI/3_binary64_10077 cos-PI/4_binary64_10076 cos-PI/6_binary64_10075 sin-+PI/2_binary64_10074 sin-+PI_binary64_10073 sin-PI_binary64_10072 sin-PI/2_binary64_10071 sin-PI/3_binary64_10070 sin-PI/4_binary64_10069 sin-PI/6_binary64_10068 sub-1-sin_binary64_10067 sub-1-cos_binary64_10066 -1-add-sin_binary64_10065 -1-add-cos_binary64_10064 1-sub-sin_binary64_10063 1-sub-cos_binary64_10062 cos-sin-sum_binary64_10061 log-E_binary64_10057 log-rec_binary64_10055 log-div_binary64_10054 pow-base-0_binary64_10051 unpow1/3_binary64_10034 exp-to-pow_binary64_10029 pow-base-1_binary64_10027 unpow0_binary64_10026 unpow-1_binary64_10024 exp-lft-cube_binary64_10023 exp-lft-sqr_binary64_10022 exp-cbrt_binary64_10021 exp-sqrt_binary64_10020 rec-exp_binary64_10017 prod-exp_binary64_10016 exp-neg_binary64_10014 e-exp-1_binary64_10012 exp-1-e_binary64_10010 exp-0_binary64_10009 rem-log-exp_binary64_10008 rem-exp-log_binary64_10007 cube-div_binary64_9996 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 rem-square-sqrt_binary64_9979 mul-1-neg_binary64_9959 /-rgt-identity_binary64_9958 div0_binary64_9948 *-inverses_binary64_9947 +-inverses_binary64_9946 lft-mult-inverse_binary64_9945 rgt-mult-inverse_binary64_9944 remove-double-div_binary64_9943 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 cancel-sign-sub_binary64_9932 distribute-neg-frac_binary64_9931 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-lft-out--_binary64_9919 associate-*l/_binary64_9910 associate--r-_binary64_9906 associate--l-_binary64_9905
Counts
76 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
086938
1185872
2619871
31437868
43697868
55110868

prune46.0ms (1.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New58058
Fresh011
Picked011
Done011
Total58361
Error
0b
Counts
61 → 3
Compiler

Compiled 822 to 365 computations (55.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(-.f64 x (-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x)))))
0.0b
(-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x))))
0.2b
(/.f64 4 (*.f64 y (*.f64 x x)))
10.0b
(*.f64 y (*.f64 x x))

rewrite156.0ms (3.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×add-sqr-sqrt_binary64_9989
21×*-un-lft-identity_binary64_9967
20×cancel-sign-sub-inv_binary64_9933
18×add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
12×add-cube-cbrt_binary64_10002
11×add-log-exp_binary64_10006 times-frac_binary64_9973
pow1_binary64_10028
associate--r+_binary64_9903
prod-exp_binary64_10016 cbrt-unprod_binary64_10000
difference-of-squares_binary64_9936 distribute-lft-out--_binary64_9919
diff-log_binary64_10059
pow-prod-down_binary64_10038 associate-*l*_binary64_9908 div-exp_binary64_10018 cbrt-undiv_binary64_10001 div-inv_binary64_9964 associate-/l*_binary64_9912 sub-neg_binary64_9960
flip3--_binary64_9971 flip--_binary64_9942
unswap-sqr_binary64_9935 associate-*r*_binary64_9907 *-commutative_binary64_9898 frac-2neg_binary64_9978 clear-num_binary64_9966 associate-/r*_binary64_9911 frac-sub_binary64_9976 associate--r-_binary64_9906
Counts
4 → 94
Calls

4 calls:

17.0ms
(-.f64 x (-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x)))))
12.0ms
(-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x))))
7.0ms
(/.f64 4 (*.f64 y (*.f64 x x)))
6.0ms
(*.f64 y (*.f64 x x))
Compiler

Compiled 2035 to 1055 computations (48.2% saved)

series758.0ms (17.4%)

Error
0b
Counts
4 → 39
Calls

4 calls:

280.0ms
(-.f64 x (-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x)))))
237.0ms
(-.f64 (/.f64 2 x) (/.f64 4 (*.f64 y (*.f64 x x))))
122.0ms
(/.f64 4 (*.f64 y (*.f64 x x)))
88.0ms
(*.f64 y (*.f64 x x))
Compiler

Compiled 1274 to 1052 computations (17.4% saved)

simplify105.0ms (2.4%)

Algorithm
egg-herbie
Rules
583×associate-*l/_binary64_9910
349×associate-/r*_binary64_9911
335×times-frac_binary64_9973
280×associate-/l*_binary64_9912
262×distribute-rgt-in_binary64_9917
249×distribute-lft-in_binary64_9916
183×associate-/l/_binary64_9914
125×cancel-sign-sub-inv_binary64_9933
112×log-div_binary64_10054
97×distribute-neg-frac_binary64_9931 distribute-rgt-neg-in_binary64_9925
84×associate-*l*_binary64_9908
80×associate-*r*_binary64_9907
75×distribute-lft-neg-in_binary64_9924
71×*-commutative_binary64_9898
69×sub-neg_binary64_9960
56×neg-mul-1_binary64_9963
55×exp-prod_binary64_10019 neg-sub0_binary64_9962
52×associate-*r/_binary64_9909
49×associate-/r/_binary64_9913
48×distribute-lft-neg-out_binary64_9926
40×unswap-sqr_binary64_9935
36×distribute-rgt-neg-out_binary64_9927
35×+-commutative_binary64_9897
34×sqr-pow_binary64_9939
33×distribute-rgt-out_binary64_9920
25×cube-div_binary64_9996 distribute-neg-in_binary64_9928
24×log-prod_binary64_10053 cube-prod_binary64_9995
15×exp-sum_binary64_10013
14×swap-sqr_binary64_9934
10×unpow3_binary64_10033 distribute-lft-out_binary64_9918
exp-diff_binary64_10015 cube-mult_binary64_9997 distribute-frac-neg_binary64_9930 associate--r+_binary64_9903
difference-of-squares_binary64_9936 associate-+r-_binary64_9901
log-rec_binary64_10055 div-sub_binary64_9972 unsub-neg_binary64_9961 +-rgt-identity_binary64_9952 associate-+l+_binary64_9900
cube-unmult_binary64_10004 distribute-rgt-out--_binary64_9921 associate-+r+_binary64_9899
log-pow_binary64_10056
pow-plus_binary64_10030 div-exp_binary64_10018 rem-sqrt-square_binary64_9980 distribute-rgt1-in_binary64_9923
prod-exp_binary64_10016 rem-3cbrt-lft_binary64_9992 rem-square-sqrt_binary64_9979 pow-sqr_binary64_9940 associate--r-_binary64_9906 associate--l+_binary64_9904
unpow2_binary64_10032 unpow1/2_binary64_10031 unpow1_binary64_10025 exp-lft-sqr_binary64_10022 1-exp_binary64_10011 *-lft-identity_binary64_9956 remove-double-neg_binary64_9955 distribute-lft1-in_binary64_9922 distribute-lft-out--_binary64_9919 count-2_binary64_9915 associate-+l-_binary64_9902
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_10230 erf-erfc_binary64_10229 erf-odd_binary64_10228 if-if-and-not_binary64_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 not-gte_binary64_10219 not-lte_binary64_10218 not-gt_binary64_10217 not-lt_binary64_10216 gte-same_binary64_10215 lte-same_binary64_10214 gt-same_binary64_10213 lt-same_binary64_10212 sinh---cosh_binary64_10159 sinh-+-cosh_binary64_10158 sinh-cosh_binary64_10157 tanh-def-c_binary64_10156 tanh-def-b_binary64_10155 tanh-def-a_binary64_10154 cosh-def_binary64_10153 sinh-def_binary64_10152 tan-neg_binary64_10099 cos-neg_binary64_10098 sin-neg_binary64_10097 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 hang-m-tan_binary64_10093 hang-p-tan_binary64_10092 hang-m0-tan_binary64_10091 hang-p0-tan_binary64_10090 hang-0m-tan_binary64_10089 hang-0p-tan_binary64_10088 tan-+PI/2_binary64_10087 tan-+PI_binary64_10086 tan-PI_binary64_10085 tan-PI/3_binary64_10084 tan-PI/4_binary64_10083 tan-PI/6_binary64_10082 cos-+PI/2_binary64_10081 cos-+PI_binary64_10080 cos-PI_binary64_10079 cos-PI/2_binary64_10078 cos-PI/3_binary64_10077 cos-PI/4_binary64_10076 cos-PI/6_binary64_10075 sin-+PI/2_binary64_10074 sin-+PI_binary64_10073 sin-PI_binary64_10072 sin-PI/2_binary64_10071 sin-PI/3_binary64_10070 sin-PI/4_binary64_10069 sin-PI/6_binary64_10068 sub-1-sin_binary64_10067 sub-1-cos_binary64_10066 -1-add-sin_binary64_10065 -1-add-cos_binary64_10064 1-sub-sin_binary64_10063 1-sub-cos_binary64_10062 cos-sin-sum_binary64_10061 log-E_binary64_10057 pow-base-0_binary64_10051 unpow1/3_binary64_10034 exp-to-pow_binary64_10029 pow-base-1_binary64_10027 unpow0_binary64_10026 unpow-1_binary64_10024 exp-lft-cube_binary64_10023 exp-cbrt_binary64_10021 exp-sqrt_binary64_10020 rec-exp_binary64_10017 exp-neg_binary64_10014 e-exp-1_binary64_10012 exp-1-e_binary64_10010 exp-0_binary64_10009 rem-log-exp_binary64_10008 rem-exp-log_binary64_10007 cube-neg_binary64_9994 rem-3cbrt-rft_binary64_9993 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 sqr-neg_binary64_9981 mul-1-neg_binary64_9959 /-rgt-identity_binary64_9958 *-rgt-identity_binary64_9957 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-lft-identity_binary64_9951 mul0-rgt_binary64_9950 mul0-lft_binary64_9949 div0_binary64_9948 *-inverses_binary64_9947 +-inverses_binary64_9946 lft-mult-inverse_binary64_9945 rgt-mult-inverse_binary64_9944 remove-double-div_binary64_9943 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 cancel-sign-sub_binary64_9932 distribute-neg-out_binary64_9929 associate--l-_binary64_9905
Counts
133 → 106
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01642095
14032008
212711993
349451993
450291993

prune99.0ms (2.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1060106
Fresh000
Picked011
Done022
Total1063109
Error
0b
Counts
109 → 3
Compiler

Compiled 1773 to 908 computations (48.8% saved)

regimes132.0ms (3%)

Accuracy

Total 0.0b remaining (91.8%)

Threshold costs 0.0b (91.8%)

Compiler

Compiled 1079 to 815 computations (24.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_9897
sub-neg_binary64_9960 *-commutative_binary64_9898
neg-mul-1_binary64_9963 neg-sub0_binary64_9962
1-exp_binary64_10011 distribute-neg-frac_binary64_9931
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_10227 if-if-and_binary64_10226 if-if-or-not_binary64_10225 if-if-or_binary64_10224 if-not_binary64_10223 if-same_binary64_10222 if-false_binary64_10221 if-true_binary64_10220 tan-0_binary64_10096 cos-0_binary64_10095 sin-0_binary64_10094 unpow1_binary64_10025 e-exp-1_binary64_10012 exp-1-e_binary64_10010 exp-0_binary64_10009 sqr-abs_binary64_9982 sqr-neg_binary64_9981 unsub-neg_binary64_9961 mul-1-neg_binary64_9959 /-rgt-identity_binary64_9958 *-rgt-identity_binary64_9957 *-lft-identity_binary64_9956 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-lft-identity_binary64_9951 cancel-sign-sub-inv_binary64_9933 cancel-sign-sub_binary64_9932 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-neg-in_binary64_9928 distribute-rgt-neg-out_binary64_9927 distribute-lft-neg-out_binary64_9926 distribute-rgt-neg-in_binary64_9925 distribute-lft-neg-in_binary64_9924
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11616
22216
32616
42916
53016
62916

end0.0ms (0%)

sample990.0ms (22.7%)

Algorithm
intervals
Results
418.0ms7998×body128valid
0.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 374 to 284 computations (24.1% saved)

Profiling

Loading profile data...