Details

Time bar (total: 15.8s)

analyze360.0ms (2.3%)

Algorithm
search
egg-herbie
Rules
933×associate-/l/_binary64_9914
444×unswap-sqr_binary64_9935
423×*-commutative_binary64_9898
386×+-commutative_binary64_9897
378×distribute-rgt-in_binary64_9917
346×distribute-lft-in_binary64_9916
335×distribute-lft-out_binary64_9918
333×associate-/r*_binary64_9911
301×times-frac_binary64_9973
233×distribute-rgt-out_binary64_9920 associate-*r*_binary64_9907
230×associate-*l*_binary64_9908
207×associate-/r/_binary64_9913
188×associate-*l/_binary64_9910
166×associate-+r+_binary64_9899
159×associate-/l*_binary64_9912
146×associate-+l+_binary64_9900
137×sqr-pow_binary64_9939
116×associate-*r/_binary64_9909
109×cube-prod_binary64_9995
71×distribute-rgt1-in_binary64_9923
49×*-lft-identity_binary64_9956
45×unpow3_binary64_10033
44×remove-double-div_binary64_9943
43×/-rgt-identity_binary64_9958 pow-sqr_binary64_9940
41×*-rgt-identity_binary64_9957
37×cube-mult_binary64_9997
32×distribute-lft1-in_binary64_9922
25×cube-div_binary64_9996
23×rem-sqrt-square_binary64_9980
20×swap-sqr_binary64_9934
12×pow-plus_binary64_10030 cube-unmult_binary64_10004
unpow2_binary64_10032
unpow1_binary64_10025
unpow1/2_binary64_10031 lft-mult-inverse_binary64_9945
*-inverses_binary64_9947
1-exp_binary64_10011 swap-x-y
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 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 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-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 div-sub_binary64_9972 neg-mul-1_binary64_9963 neg-sub0_binary64_9962 unsub-neg_binary64_9961 sub-neg_binary64_9960 mul-1-neg_binary64_9959 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-lft-identity_binary64_9951 mul0-rgt_binary64_9950 mul0-lft_binary64_9949 div0_binary64_9948 +-inverses_binary64_9946 rgt-mult-inverse_binary64_9944 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 difference-of-squares_binary64_9936 cancel-sign-sub-inv_binary64_9933 cancel-sign-sub_binary64_9932 distribute-neg-frac_binary64_9931 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 distribute-rgt-out--_binary64_9921 distribute-lft-out--_binary64_9919 count-2_binary64_9915 associate--r-_binary64_9906 associate--l-_binary64_9905 associate--l+_binary64_9904 associate--r+_binary64_9903 associate-+l-_binary64_9902 associate-+r-_binary64_9901
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
15050
215650
347250
4145150
5215650
6263750
7262550
8270050
9275250
10283650
11363850
12486150
13473750
14495550
15497750
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
46.8%53.1%0.1%6
70.2%29.7%0.1%7
76.5%23.4%0.1%8
83.5%16.4%0.1%9
87%12.9%0.1%10
91.1%8.8%0.1%11
93.2%6.7%0.1%12
95.4%4.5%0.1%13
96.5%3.4%0.1%14
Symmetry

(sort x y)

Compiler

Compiled 18 to 10 computations (44.4% saved)

sample27.0ms (0.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
Compiler

Compiled 35 to 21 computations (40% saved)

simplify130.0ms (0.8%)

Algorithm
egg-herbie
Rules
985×associate-/l*_binary64_9912
739×distribute-lft-out_binary64_9918
711×*-commutative_binary64_9898
475×distribute-rgt-out_binary64_9920
391×+-commutative_binary64_9897
315×distribute-rgt-in_binary64_9917
304×associate-/l/_binary64_9914
285×distribute-lft-in_binary64_9916
275×times-frac_binary64_9973
251×associate-/r*_binary64_9911
205×sqr-pow_binary64_9939
192×associate-*l*_binary64_9908
178×associate-*r*_binary64_9907
168×unswap-sqr_binary64_9935
149×associate-+r+_binary64_9899
146×associate-/r/_binary64_9913
139×associate-+l+_binary64_9900
118×remove-double-div_binary64_9943 associate-*l/_binary64_9910
84×cube-prod_binary64_9995
77×associate-*r/_binary64_9909
61×pow-sqr_binary64_9940
44×cube-div_binary64_9996 distribute-rgt1-in_binary64_9923
38×unpow3_binary64_10033
34×/-rgt-identity_binary64_9958
32×cube-mult_binary64_9997
30×*-lft-identity_binary64_9956
27×*-rgt-identity_binary64_9957
26×swap-sqr_binary64_9934
21×distribute-lft1-in_binary64_9922
13×pow-plus_binary64_10030 rem-sqrt-square_binary64_9980
11×cube-unmult_binary64_10004
unpow2_binary64_10032
unpow1_binary64_10025
unpow1/2_binary64_10031
*-inverses_binary64_9947
1-exp_binary64_10011 lft-mult-inverse_binary64_9945
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 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 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-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 div-sub_binary64_9972 neg-mul-1_binary64_9963 neg-sub0_binary64_9962 unsub-neg_binary64_9961 sub-neg_binary64_9960 mul-1-neg_binary64_9959 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-lft-identity_binary64_9951 mul0-rgt_binary64_9950 mul0-lft_binary64_9949 div0_binary64_9948 +-inverses_binary64_9946 rgt-mult-inverse_binary64_9944 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 difference-of-squares_binary64_9936 cancel-sign-sub-inv_binary64_9933 cancel-sign-sub_binary64_9932 distribute-neg-frac_binary64_9931 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 distribute-rgt-out--_binary64_9921 distribute-lft-out--_binary64_9919 count-2_binary64_9915 associate--r-_binary64_9906 associate--l-_binary64_9905 associate--l+_binary64_9904 associate--r+_binary64_9903 associate-+l-_binary64_9902 associate-+r-_binary64_9901
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
13925
213125
344025
4127525
5186125
6232825
7230625
8235925
9241625
10250925
11369525
12382725
13424825
14468425
15495325

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 17 to 9 computations (47.1% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

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

rewrite261.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
5.5b
Rules
60×flip3-+_binary64_9970 frac-times_binary64_9977 flip-+_binary64_9941
31×add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
30×associate-*l/_binary64_9910
27×*-un-lft-identity_binary64_9967
26×associate-/r/_binary64_9913
18×associate-*r/_binary64_9909
15×pow1_binary64_10028
13×prod-exp_binary64_10016 cbrt-unprod_binary64_10000
11×add-sqr-sqrt_binary64_9989
associate-*r*_binary64_9907 distribute-lft-out_binary64_9918
add-cube-cbrt_binary64_10002
div-exp_binary64_10018 cbrt-undiv_binary64_10001 swap-sqr_binary64_9934
associate-*l*_binary64_9908
pow-prod-down_binary64_10038
add-log-exp_binary64_10006
unswap-sqr_binary64_9935 distribute-rgt-in_binary64_9917 distribute-lft-in_binary64_9916 *-commutative_binary64_9898
frac-2neg_binary64_9978 times-frac_binary64_9973 clear-num_binary64_9966 div-inv_binary64_9964 associate-/l*_binary64_9912 associate-/r*_binary64_9911 pow2_binary64_10048 pow-prod-up_binary64_10037 pow-plus_binary64_10030 pow-sqr_binary64_9940
Counts
3 → 140
Calls

3 calls:

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

Compiled 4751 to 1468 computations (69.1% saved)

series917.0ms (5.8%)

Error
3.9b
Counts
3 → 66
Calls

3 calls:

498.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
144.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
138.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 4878 to 3576 computations (26.7% saved)

simplify126.0ms (0.8%)

Algorithm
egg-herbie
Rules
650×times-frac_binary64_9973
439×associate-/r*_binary64_9911
368×distribute-rgt-in_binary64_9917
363×associate-/l*_binary64_9912
348×distribute-lft-in_binary64_9916
125×*-commutative_binary64_9898
99×+-commutative_binary64_9897
67×associate-+r+_binary64_9899
64×sub-neg_binary64_9960
60×unswap-sqr_binary64_9935
49×associate-*l*_binary64_9908
40×associate-*r/_binary64_9909
37×cancel-sign-sub-inv_binary64_9933
36×distribute-neg-in_binary64_9928
28×sqr-pow_binary64_9939
25×associate-/r/_binary64_9913
19×neg-mul-1_binary64_9963 neg-sub0_binary64_9962
17×associate-*r*_binary64_9907
15×distribute-rgt-out_binary64_9920
14×associate--r+_binary64_9903
12×*-rgt-identity_binary64_9957 distribute-rgt-neg-in_binary64_9925
11×associate--l+_binary64_9904
10×log-prod_binary64_10053 exp-prod_binary64_10019 *-lft-identity_binary64_9956
cube-unmult_binary64_10004 swap-sqr_binary64_9934 distribute-lft-neg-in_binary64_9924
associate-/l/_binary64_9914
unpow3_binary64_10033
unpow2_binary64_10032 unpow1_binary64_10025 exp-sum_binary64_10013 cube-mult_binary64_9997 distribute-rgt1-in_binary64_9923
log-div_binary64_10054 cube-prod_binary64_9995
rem-sqrt-square_binary64_9980 associate-+r-_binary64_9901 associate-+l+_binary64_9900
pow-plus_binary64_10030 1-exp_binary64_10011 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-square-sqrt_binary64_9979 pow-sqr_binary64_9940 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 difference-of-squares_binary64_9936 distribute-lft-neg-out_binary64_9926 distribute-lft1-in_binary64_9922 distribute-rgt-out--_binary64_9921 distribute-lft-out_binary64_9918 count-2_binary64_9915 associate-*l/_binary64_9910
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 pow-base-0_binary64_10051 unpow1/3_binary64_10034 unpow1/2_binary64_10031 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 div-exp_binary64_10018 rec-exp_binary64_10017 prod-exp_binary64_10016 exp-diff_binary64_10015 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 cube-neg_binary64_9994 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 sqr-neg_binary64_9981 div-sub_binary64_9972 unsub-neg_binary64_9961 mul-1-neg_binary64_9959 /-rgt-identity_binary64_9958 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-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 cancel-sign-sub_binary64_9932 distribute-neg-frac_binary64_9931 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-rgt-neg-out_binary64_9927 distribute-lft-out--_binary64_9919 associate--r-_binary64_9906 associate--l-_binary64_9905 associate-+l-_binary64_9902
Counts
206 → 183
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04387356
113996821
252906821

prune285.0ms (1.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1785183
Fresh000
Picked101
Done000
Total1795184
Error
3.4b
Counts
184 → 5
Compiler

Compiled 6061 to 2602 computations (57.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite263.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
80×*-un-lft-identity_binary64_9967
43×add-sqr-sqrt_binary64_9989
40×times-frac_binary64_9973
34×add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
31×add-cube-cbrt_binary64_10002
27×distribute-lft-out_binary64_9918
25×associate-*r*_binary64_9907
20×flip3-+_binary64_9970 associate-/r/_binary64_9913 flip-+_binary64_9941
19×associate-*l*_binary64_9908
13×pow1_binary64_10028 frac-times_binary64_9977
10×prod-exp_binary64_10016 div-exp_binary64_10018 cbrt-undiv_binary64_10001 cbrt-unprod_binary64_10000
associate-*l/_binary64_9910 associate-*r/_binary64_9909
associate-/l*_binary64_9912 associate-/r*_binary64_9911 swap-sqr_binary64_9934
unswap-sqr_binary64_9935
add-log-exp_binary64_10006 div-inv_binary64_9964
frac-2neg_binary64_9978 clear-num_binary64_9966 pow-prod-down_binary64_10038 *-commutative_binary64_9898
pow2_binary64_10048 pow-prod-up_binary64_10037 pow-plus_binary64_10030 pow-sqr_binary64_9940 distribute-rgt-in_binary64_9917 distribute-lft-in_binary64_9916
Counts
4 → 170
Calls

4 calls:

27.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 y (+.f64 x (+.f64 y 1))))
12.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
9.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
7.0ms
(/.f64 y (+.f64 x (+.f64 y 1)))
Compiler

Compiled 4663 to 1684 computations (63.9% saved)

series1.1s (7%)

Error
1.8b
Counts
4 → 90
Calls

4 calls:

492.0ms
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 x y))) (/.f64 y (+.f64 x (+.f64 y 1))))
175.0ms
(/.f64 y (+.f64 x (+.f64 y 1)))
143.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 x y)))
130.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
Compiler

Compiled 6654 to 4804 computations (27.8% saved)

simplify141.0ms (0.9%)

Algorithm
egg-herbie
Rules
385×times-frac_binary64_9973
382×associate-/r*_binary64_9911
287×associate-/l*_binary64_9912
279×associate-*r*_binary64_9907
252×associate-*l*_binary64_9908
242×associate-*r/_binary64_9909
224×associate-*l/_binary64_9910
145×distribute-rgt-in_binary64_9917
133×distribute-lft-in_binary64_9916
123×*-commutative_binary64_9898
109×sub-neg_binary64_9960
101×+-commutative_binary64_9897
60×associate-+r+_binary64_9899
54×distribute-neg-in_binary64_9928
51×cancel-sign-sub-inv_binary64_9933
37×associate-/l/_binary64_9914
35×unswap-sqr_binary64_9935
33×neg-mul-1_binary64_9963 neg-sub0_binary64_9962
26×sqr-pow_binary64_9939
24×associate-/r/_binary64_9913
23×associate--r+_binary64_9903
20×associate--l+_binary64_9904
13×distribute-rgt-neg-in_binary64_9925
distribute-lft-neg-in_binary64_9924
exp-prod_binary64_10019 cube-unmult_binary64_10004
log-div_binary64_10054 log-prod_binary64_10053 swap-sqr_binary64_9934
distribute-neg-frac_binary64_9931 distribute-rgt-out_binary64_9920
unpow3_binary64_10033 unpow2_binary64_10032 unpow1_binary64_10025 cube-mult_binary64_9997 *-rgt-identity_binary64_9957 associate-+l-_binary64_9902
exp-sum_binary64_10013 /-rgt-identity_binary64_9958 *-lft-identity_binary64_9956 distribute-lft-neg-out_binary64_9926 associate-+r-_binary64_9901
rem-sqrt-square_binary64_9980 difference-of-squares_binary64_9936
1-exp_binary64_10011 cube-div_binary64_9996 rem-3cbrt-rft_binary64_9993 rem-3cbrt-lft_binary64_9992 rem-square-sqrt_binary64_9979 unsub-neg_binary64_9961 distribute-lft1-in_binary64_9922 distribute-rgt-out--_binary64_9921 distribute-lft-out_binary64_9918 count-2_binary64_9915
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 pow-base-0_binary64_10051 unpow1/3_binary64_10034 unpow1/2_binary64_10031 pow-plus_binary64_10030 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 div-exp_binary64_10018 rec-exp_binary64_10017 prod-exp_binary64_10016 exp-diff_binary64_10015 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-prod_binary64_9995 cube-neg_binary64_9994 rem-cbrt-cube_binary64_9991 rem-cube-cbrt_binary64_9990 sqr-abs_binary64_9982 sqr-neg_binary64_9981 div-sub_binary64_9972 mul-1-neg_binary64_9959 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-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 pow-sqr_binary64_9940 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 cancel-sign-sub_binary64_9932 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-rgt-neg-out_binary64_9927 distribute-rgt1-in_binary64_9923 distribute-lft-out--_binary64_9919 associate--r-_binary64_9906 associate--l-_binary64_9905 associate-+l+_binary64_9900
Counts
260 → 178
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04917870
114417278
250227278

prune263.0ms (1.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1753178
Fresh044
Picked101
Done000
Total1767183
Error
0.0b
Counts
183 → 7
Compiler

Compiled 5488 to 2676 computations (51.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite1.7s (11%)

Algorithm
rewrite-expression-head
Error
0b
Rules
1492×times-frac_binary64_9973
1111×*-un-lft-identity_binary64_9967
647×add-sqr-sqrt_binary64_9989
594×add-cube-cbrt_binary64_10002
257×distribute-lft-out_binary64_9918
236×associate-*l*_binary64_9908
106×add-exp-log_binary64_10005
99×associate-/r*_binary64_9911
80×associate-/r/_binary64_9913
59×div-exp_binary64_10018
52×add-cbrt-cube_binary64_10003
45×div-inv_binary64_9964
36×flip3-+_binary64_9970 flip-+_binary64_9941
26×cbrt-undiv_binary64_10001
21×associate-*r*_binary64_9907
20×prod-exp_binary64_10016
14×unswap-sqr_binary64_9935
10×associate-/l*_binary64_9912
1-exp_binary64_10011 rec-exp_binary64_10017
cbrt-unprod_binary64_10000
pow1_binary64_10028
add-log-exp_binary64_10006
frac-2neg_binary64_9978 clear-num_binary64_9966
associate-/l/_binary64_9914
inv-pow_binary64_10052 pow-flip_binary64_10041 pow-prod-down_binary64_10038 frac-times_binary64_9977 associate-*l/_binary64_9910 associate-*r/_binary64_9909 *-commutative_binary64_9898
Counts
4 → 791
Calls

4 calls:

123.0ms
(*.f64 (/.f64 1 (/.f64 (+.f64 x y) (/.f64 x (+.f64 x y)))) (/.f64 y (+.f64 x (+.f64 y 1))))
24.0ms
(/.f64 1 (/.f64 (+.f64 x y) (/.f64 x (+.f64 x y))))
12.0ms
(/.f64 (+.f64 x y) (/.f64 x (+.f64 x y)))
5.0ms
(/.f64 x (+.f64 x y))
Compiler

Compiled 27587 to 10712 computations (61.2% saved)

series1.1s (7%)

Error
0.0b
Counts
4 → 90
Calls

4 calls:

479.0ms
(*.f64 (/.f64 1 (/.f64 (+.f64 x y) (/.f64 x (+.f64 x y)))) (/.f64 y (+.f64 x (+.f64 y 1))))
198.0ms
(/.f64 (+.f64 x y) (/.f64 x (+.f64 x y)))
145.0ms
(/.f64 1 (/.f64 (+.f64 x y) (/.f64 x (+.f64 x y))))
115.0ms
(/.f64 x (+.f64 x y))
Compiler

Compiled 6094 to 4550 computations (25.3% saved)

simplify715.0ms (4.5%)

Algorithm
egg-herbie
Rules
633×associate-/r/_binary64_9913
567×times-frac_binary64_9973
415×associate-/l/_binary64_9914
198×*-commutative_binary64_9898
164×associate-*r/_binary64_9909
137×distribute-rgt-in_binary64_9917
125×associate-*l/_binary64_9910
124×distribute-lft-in_binary64_9916
93×sub-neg_binary64_9960
82×+-commutative_binary64_9897
70×associate-/l*_binary64_9912
50×cancel-sign-sub-inv_binary64_9933
49×associate-/r*_binary64_9911
46×associate-+r+_binary64_9899
42×distribute-neg-in_binary64_9928
33×neg-mul-1_binary64_9963
32×neg-sub0_binary64_9962
31×log-div_binary64_10054
29×unswap-sqr_binary64_9935
25×sqr-pow_binary64_9939
17×*-lft-identity_binary64_9956
16×remove-double-div_binary64_9943 associate--l+_binary64_9904 associate--r+_binary64_9903
15×swap-sqr_binary64_9934
13×distribute-rgt-neg-in_binary64_9925
12×/-rgt-identity_binary64_9958 associate-+l-_binary64_9902
11×log-rec_binary64_10055 distribute-neg-frac_binary64_9931
10×log-prod_binary64_10053 associate-*l*_binary64_9908
exp-prod_binary64_10019 cube-unmult_binary64_10004 distribute-lft-neg-in_binary64_9924 associate-*r*_binary64_9907 associate-+r-_binary64_9901
unpow3_binary64_10033 unpow2_binary64_10032 unpow1_binary64_10025 cube-mult_binary64_9997 *-rgt-identity_binary64_9957 distribute-rgt-out_binary64_9920
cube-prod_binary64_9995 distribute-lft-neg-out_binary64_9926 associate--r-_binary64_9906
log-pow_binary64_10056 cube-div_binary64_9996 div-sub_binary64_9972 difference-of-squares_binary64_9936 distribute-lft-out--_binary64_9919
1-exp_binary64_10011 rem-square-sqrt_binary64_9979 unsub-neg_binary64_9961 sub0-neg_binary64_9954 distribute-rgt-out--_binary64_9921 distribute-lft-out_binary64_9918
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 unpow1/2_binary64_10031 pow-plus_binary64_10030 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 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-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-sqrt-square_binary64_9980 mul-1-neg_binary64_9959 remove-double-neg_binary64_9955 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-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 pow-sqr_binary64_9940 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 cancel-sign-sub_binary64_9932 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-rgt-neg-out_binary64_9927 distribute-rgt1-in_binary64_9923 distribute-lft1-in_binary64_9922 count-2_binary64_9915 associate--l-_binary64_9905 associate-+l+_binary64_9900
Counts
881 → 742
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
081827754
1233626344
2497926344
3499726344
4498026344

prune1.2s (7.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New7393742
Fresh426
Picked101
Done000
Total7445749
Error
0b
Counts
749 → 5
Compiler

Compiled 23399 to 8615 computations (63.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite497.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
313×*-un-lft-identity_binary64_9967
303×times-frac_binary64_9973
163×add-sqr-sqrt_binary64_9989
142×add-cube-cbrt_binary64_10002
89×distribute-lft-out_binary64_9918
78×associate-*l*_binary64_9908
34×add-exp-log_binary64_10005 add-cbrt-cube_binary64_10003
28×associate-/r/_binary64_9913
24×associate-/l*_binary64_9912
21×associate-*r*_binary64_9907
14×div-exp_binary64_10018 cbrt-undiv_binary64_10001 div-inv_binary64_9964 flip3-+_binary64_9970 flip-+_binary64_9941
13×associate-/r*_binary64_9911
pow1_binary64_10028 prod-exp_binary64_10016 cbrt-unprod_binary64_10000 unswap-sqr_binary64_9935
add-log-exp_binary64_10006
frac-2neg_binary64_9978 clear-num_binary64_9966
pow-prod-down_binary64_10038 frac-times_binary64_9977 associate-*l/_binary64_9910 associate-*r/_binary64_9909 *-commutative_binary64_9898 associate-/l/_binary64_9914
Counts
4 → 310
Calls

4 calls:

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

Compiled 9018 to 2926 computations (67.6% saved)

series1.1s (7%)

Error
0b
Counts
4 → 96
Calls

4 calls:

501.0ms
(*.f64 (/.f64 (/.f64 x (+.f64 x y)) (+.f64 x y)) (/.f64 y (+.f64 x (+.f64 y 1))))
174.0ms
(/.f64 y (+.f64 x (+.f64 y 1)))
142.0ms
(/.f64 (/.f64 x (+.f64 x y)) (+.f64 x y))
109.0ms
(/.f64 x (+.f64 x y))
Compiler

Compiled 7032 to 5003 computations (28.9% saved)

simplify210.0ms (1.3%)

Algorithm
egg-herbie
Rules
486×associate-*l/_binary64_9910
388×associate-/l*_binary64_9912
384×associate-*r/_binary64_9909
348×associate-/r*_binary64_9911
342×times-frac_binary64_9973
236×associate-/l/_binary64_9914
151×*-commutative_binary64_9898
123×sub-neg_binary64_9960
107×distribute-rgt-in_binary64_9917
101×+-commutative_binary64_9897
93×distribute-lft-in_binary64_9916
59×associate-+r+_binary64_9899
56×distribute-neg-in_binary64_9928
50×cancel-sign-sub-inv_binary64_9933 associate-/r/_binary64_9913
37×neg-mul-1_binary64_9963 neg-sub0_binary64_9962
26×unswap-sqr_binary64_9935
25×sqr-pow_binary64_9939
24×associate--l+_binary64_9904 associate--r+_binary64_9903
20×/-rgt-identity_binary64_9958
11×log-div_binary64_10054 distribute-neg-frac_binary64_9931
associate-*l*_binary64_9908
*-lft-identity_binary64_9956 distribute-rgt-neg-in_binary64_9925
div-sub_binary64_9972
cube-unmult_binary64_10004 *-rgt-identity_binary64_9957 swap-sqr_binary64_9934 associate-*r*_binary64_9907
distribute-lft-neg-in_binary64_9924
unpow3_binary64_10033 unpow2_binary64_10032 unpow1_binary64_10025 exp-prod_binary64_10019 cube-mult_binary64_9997 distribute-rgt-out_binary64_9920 associate-+l-_binary64_9902
log-prod_binary64_10053 distribute-lft-neg-out_binary64_9926 associate-+r-_binary64_9901
cube-div_binary64_9996 unsub-neg_binary64_9961 difference-of-squares_binary64_9936
1-exp_binary64_10011 rem-square-sqrt_binary64_9979 distribute-rgt-out--_binary64_9921 distribute-lft-out_binary64_9918 count-2_binary64_9915 associate--l-_binary64_9905
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 pow-base-0_binary64_10051 unpow1/3_binary64_10034 unpow1/2_binary64_10031 pow-plus_binary64_10030 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 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-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 sqr-neg_binary64_9981 rem-sqrt-square_binary64_9980 mul-1-neg_binary64_9959 remove-double-neg_binary64_9955 sub0-neg_binary64_9954 --rgt-identity_binary64_9953 +-rgt-identity_binary64_9952 +-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 pow-sqr_binary64_9940 difference-of-sqr--1_binary64_9938 difference-of-sqr-1_binary64_9937 cancel-sign-sub_binary64_9932 distribute-frac-neg_binary64_9930 distribute-neg-out_binary64_9929 distribute-rgt-neg-out_binary64_9927 distribute-rgt1-in_binary64_9923 distribute-lft1-in_binary64_9922 distribute-lft-out--_binary64_9919 associate--r-_binary64_9906 associate-+l+_binary64_9900
Counts
406 → 291
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
060912341
1180811602
2503611602

prune404.0ms (2.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2910291
Fresh044
Picked011
Done000
Total2915296
Error
0b
Counts
296 → 5
Compiler

Compiled 9125 to 3484 computations (61.8% saved)

regimes1.1s (6.8%)

Accuracy

Total 0.1b remaining (95.9%)

Threshold costs 0.1b (95.9%)

Compiler

Compiled 14151 to 8978 computations (36.6% saved)

bsearch0.0ms (0%)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_9897
*-commutative_binary64_9898
1-exp_binary64_10011 *-lft-identity_binary64_9956
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 neg-mul-1_binary64_9963 neg-sub0_binary64_9962 unsub-neg_binary64_9961 sub-neg_binary64_9960 mul-1-neg_binary64_9959 /-rgt-identity_binary64_9958 *-rgt-identity_binary64_9957 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-neg-frac_binary64_9931 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
01225
11925
21825
Compiler

Compiled 34 to 20 computations (41.2% saved)

end0.0ms (0%)

sample3.8s (24%)

Algorithm
intervals
Results
292.0ms8000×body128valid
Compiler

Compiled 4686 to 2986 computations (36.3% saved)

Profiling

Loading profile data...