Details

Time bar (total: 7.3s)

analyze170.0ms (2.3%)

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
0%99.9%0.1%5
25%74.9%0.1%6
34.3%40.6%25.1%7
35.9%39%25.1%8
42.1%32.8%25.1%9
42.9%19.5%37.6%10
43.3%19.1%37.6%11
45%17.5%37.6%12
45.1%10.3%44.6%13
45.2%10.2%44.6%14
Compiler

Compiled 11 to 11 computations (0% saved)

sample24.0ms (0.3%)

Algorithm
intervals
Results
10.0ms256×body128valid
1.0ms35×body128nan
1.0ms18×body128invalid
Compiler

Compiled 21 to 24 computations (-14.3% saved)

simplify795.0ms (10.9%)

Algorithm
egg-herbie
Rules
811×pow-plus_binary64_11053
549×exp-prod_binary64_11042
507×exp-sum_binary64_11036
484×sqr-pow_binary64_10962
387×pow-sqr_binary64_10963
372×distribute-rgt-in_binary64_10940
267×*-commutative_binary64_10921
225×distribute-rgt1-in_binary64_10946
197×distribute-lft-in_binary64_10939
177×distribute-rgt-out_binary64_10943
156×associate-*l*_binary64_10931
153×associate-*r*_binary64_10930
145×times-frac_binary64_10996
131×+-commutative_binary64_10920
130×associate-+l+_binary64_10923
129×pow-base-1_binary64_11050
120×associate-/l*_binary64_10935
98×distribute-lft-out_binary64_10941
81×swap-sqr_binary64_10957
60×associate-+r+_binary64_10922
44×associate-*l/_binary64_10933
38×associate-*r/_binary64_10932
34×associate-/r*_binary64_10934
27×count-2_binary64_10938
25×cube-unmult_binary64_11027
19×*-lft-identity_binary64_10979 distribute-lft1-in_binary64_10945
18×associate-/l/_binary64_10937
17×*-rgt-identity_binary64_10980
16×cube-prod_binary64_11018
14×unswap-sqr_binary64_10958
13×exp-lft-sqr_binary64_11045
11×associate-/r/_binary64_10936
/-rgt-identity_binary64_10981
cube-div_binary64_11019
prod-exp_binary64_11039
unpow3_binary64_11056
unpow1_binary64_11048 exp-sqrt_binary64_11043
rem-sqrt-square_binary64_11003
1-exp_binary64_11034 exp-1-e_binary64_11033 +-rgt-identity_binary64_10975 div0_binary64_10971 *-inverses_binary64_10970 rgt-mult-inverse_binary64_10967
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_11253 erf-erfc_binary64_11252 erf-odd_binary64_11251 if-if-and-not_binary64_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 not-gte_binary64_11242 not-lte_binary64_11241 not-gt_binary64_11240 not-lt_binary64_11239 gte-same_binary64_11238 lte-same_binary64_11237 gt-same_binary64_11236 lt-same_binary64_11235 sinh---cosh_binary64_11182 sinh-+-cosh_binary64_11181 sinh-cosh_binary64_11180 tanh-def-c_binary64_11179 tanh-def-b_binary64_11178 tanh-def-a_binary64_11177 cosh-def_binary64_11176 sinh-def_binary64_11175 tan-neg_binary64_11122 cos-neg_binary64_11121 sin-neg_binary64_11120 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 hang-m-tan_binary64_11116 hang-p-tan_binary64_11115 hang-m0-tan_binary64_11114 hang-p0-tan_binary64_11113 hang-0m-tan_binary64_11112 hang-0p-tan_binary64_11111 tan-+PI/2_binary64_11110 tan-+PI_binary64_11109 tan-PI_binary64_11108 tan-PI/3_binary64_11107 tan-PI/4_binary64_11106 tan-PI/6_binary64_11105 cos-+PI/2_binary64_11104 cos-+PI_binary64_11103 cos-PI_binary64_11102 cos-PI/2_binary64_11101 cos-PI/3_binary64_11100 cos-PI/4_binary64_11099 cos-PI/6_binary64_11098 sin-+PI/2_binary64_11097 sin-+PI_binary64_11096 sin-PI_binary64_11095 sin-PI/2_binary64_11094 sin-PI/3_binary64_11093 sin-PI/4_binary64_11092 sin-PI/6_binary64_11091 sub-1-sin_binary64_11090 sub-1-cos_binary64_11089 -1-add-sin_binary64_11088 -1-add-cos_binary64_11087 1-sub-sin_binary64_11086 1-sub-cos_binary64_11085 cos-sin-sum_binary64_11084 log-E_binary64_11080 log-pow_binary64_11079 log-rec_binary64_11078 log-div_binary64_11077 log-prod_binary64_11076 pow-base-0_binary64_11074 unpow1/3_binary64_11057 unpow2_binary64_11055 unpow1/2_binary64_11054 exp-to-pow_binary64_11052 unpow0_binary64_11049 unpow-1_binary64_11047 exp-lft-cube_binary64_11046 exp-cbrt_binary64_11044 div-exp_binary64_11041 rec-exp_binary64_11040 exp-diff_binary64_11038 exp-neg_binary64_11037 e-exp-1_binary64_11035 exp-0_binary64_11032 rem-log-exp_binary64_11031 rem-exp-log_binary64_11030 cube-mult_binary64_11020 cube-neg_binary64_11017 rem-3cbrt-rft_binary64_11016 rem-3cbrt-lft_binary64_11015 rem-cbrt-cube_binary64_11014 rem-cube-cbrt_binary64_11013 sqr-abs_binary64_11005 sqr-neg_binary64_11004 rem-square-sqrt_binary64_11002 div-sub_binary64_10995 neg-mul-1_binary64_10986 neg-sub0_binary64_10985 unsub-neg_binary64_10984 sub-neg_binary64_10983 mul-1-neg_binary64_10982 remove-double-neg_binary64_10978 sub0-neg_binary64_10977 --rgt-identity_binary64_10976 +-lft-identity_binary64_10974 mul0-rgt_binary64_10973 mul0-lft_binary64_10972 +-inverses_binary64_10969 lft-mult-inverse_binary64_10968 remove-double-div_binary64_10966 difference-of-sqr--1_binary64_10961 difference-of-sqr-1_binary64_10960 difference-of-squares_binary64_10959 cancel-sign-sub-inv_binary64_10956 cancel-sign-sub_binary64_10955 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-neg-out_binary64_10952 distribute-neg-in_binary64_10951 distribute-rgt-neg-out_binary64_10950 distribute-lft-neg-out_binary64_10949 distribute-rgt-neg-in_binary64_10948 distribute-lft-neg-in_binary64_10947 distribute-rgt-out--_binary64_10944 distribute-lft-out--_binary64_10942 associate--r-_binary64_10929 associate--l-_binary64_10928 associate--l+_binary64_10927 associate--r+_binary64_10926 associate-+l-_binary64_10925 associate-+r-_binary64_10924
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01115
12412
24912
37412
47812
58412
610112
718312
898012
9145512
10254712
11491612

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 16 to 16 computations (0% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (*.f64 y (sqrt.f64 z)))
0.3b
(*.f64 y (sqrt.f64 z))

rewrite48.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_11012
associate-*r*_binary64_10930
add-cube-cbrt_binary64_11025 *-un-lft-identity_binary64_10990
pow1_binary64_11051 add-exp-log_binary64_11028 add-log-exp_binary64_11029 add-cbrt-cube_binary64_11026 sqrt-prod_binary64_11006
associate-*l*_binary64_10931
unswap-sqr_binary64_10958
pow-prod-down_binary64_11061 prod-exp_binary64_11039 cbrt-unprod_binary64_11023 *-commutative_binary64_10921 sum-log_binary64_11081 flip3-+_binary64_10993 flip-+_binary64_10964 +-commutative_binary64_10920
Counts
2 → 33
Calls

2 calls:

6.0ms
(*.f64 y (sqrt.f64 z))
3.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
Compiler

Compiled 473 to 185 computations (60.9% saved)

series223.0ms (3%)

Error
0.1b
Counts
2 → 21
Calls

2 calls:

140.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
71.0ms
(*.f64 y (sqrt.f64 z))
Compiler

Compiled 438 to 359 computations (18% saved)

simplify343.0ms (4.7%)

Algorithm
egg-herbie
Rules
571×distribute-rgt-in_binary64_10940
480×distribute-lft-in_binary64_10939
349×distribute-rgt-out--_binary64_10944
214×unswap-sqr_binary64_10958
200×*-commutative_binary64_10921
193×distribute-rgt-out_binary64_10943
186×associate-*l*_binary64_10931
180×associate-*l/_binary64_10933
157×unsub-neg_binary64_10984
156×associate-*r/_binary64_10932
153×sub-neg_binary64_10983
147×associate-+l-_binary64_10925
142×associate-*r*_binary64_10930
139×distribute-lft-out--_binary64_10942
113×sqr-pow_binary64_10962
110×distribute-rgt-neg-in_binary64_10948 +-commutative_binary64_10920
109×cancel-sign-sub-inv_binary64_10956
82×*-rgt-identity_binary64_10980 associate-+l+_binary64_10923
77×associate-+r+_binary64_10922
75×*-lft-identity_binary64_10979 associate-/l/_binary64_10937
74×associate-/l*_binary64_10935
72×pow-sqr_binary64_10963
63×distribute-rgt-neg-out_binary64_10950 associate-+r-_binary64_10924
62×distribute-lft-neg-in_binary64_10947
59×distribute-lft-out_binary64_10941
58×distribute-lft-neg-out_binary64_10949
48×associate--r+_binary64_10926
47×distribute-neg-in_binary64_10951
45×associate--l-_binary64_10928
44×log-pow_binary64_11079 times-frac_binary64_10996
43×neg-mul-1_binary64_10986
37×neg-sub0_binary64_10985 distribute-rgt1-in_binary64_10946
36×exp-prod_binary64_11042
35×associate-/r/_binary64_10936
32×mul0-lft_binary64_10972 swap-sqr_binary64_10957 associate--r-_binary64_10929
31×mul0-rgt_binary64_10973
28×cancel-sign-sub_binary64_10955
25×sub0-neg_binary64_10977
20×log-prod_binary64_11076 associate-/r*_binary64_10934
19×distribute-neg-out_binary64_10952 count-2_binary64_10938
18×pow-plus_binary64_11053
17×cube-prod_binary64_11018
15×exp-to-pow_binary64_11052
13×remove-double-neg_binary64_10978
11×+-rgt-identity_binary64_10975
10×exp-sum_binary64_11036 associate--l+_binary64_10927
cube-unmult_binary64_11027
unpow3_binary64_11056 pow-base-1_binary64_11050
--rgt-identity_binary64_10976
exp-diff_binary64_11038 cube-mult_binary64_11020 cube-div_binary64_11019 rem-sqrt-square_binary64_11003 div-sub_binary64_10995 /-rgt-identity_binary64_10981 difference-of-squares_binary64_10959
log-div_binary64_11077 exp-sqrt_binary64_11043 prod-exp_binary64_11039
exp-lft-sqr_binary64_11045 1-exp_binary64_11034 exp-1-e_binary64_11033 rem-log-exp_binary64_11031 cube-neg_binary64_11017 sqr-neg_binary64_11004 rem-square-sqrt_binary64_11002 +-lft-identity_binary64_10974 *-inverses_binary64_10970 +-inverses_binary64_10969 rgt-mult-inverse_binary64_10967 difference-of-sqr--1_binary64_10961 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-lft1-in_binary64_10945
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_11253 erf-erfc_binary64_11252 erf-odd_binary64_11251 if-if-and-not_binary64_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 not-gte_binary64_11242 not-lte_binary64_11241 not-gt_binary64_11240 not-lt_binary64_11239 gte-same_binary64_11238 lte-same_binary64_11237 gt-same_binary64_11236 lt-same_binary64_11235 sinh---cosh_binary64_11182 sinh-+-cosh_binary64_11181 sinh-cosh_binary64_11180 tanh-def-c_binary64_11179 tanh-def-b_binary64_11178 tanh-def-a_binary64_11177 cosh-def_binary64_11176 sinh-def_binary64_11175 tan-neg_binary64_11122 cos-neg_binary64_11121 sin-neg_binary64_11120 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 hang-m-tan_binary64_11116 hang-p-tan_binary64_11115 hang-m0-tan_binary64_11114 hang-p0-tan_binary64_11113 hang-0m-tan_binary64_11112 hang-0p-tan_binary64_11111 tan-+PI/2_binary64_11110 tan-+PI_binary64_11109 tan-PI_binary64_11108 tan-PI/3_binary64_11107 tan-PI/4_binary64_11106 tan-PI/6_binary64_11105 cos-+PI/2_binary64_11104 cos-+PI_binary64_11103 cos-PI_binary64_11102 cos-PI/2_binary64_11101 cos-PI/3_binary64_11100 cos-PI/4_binary64_11099 cos-PI/6_binary64_11098 sin-+PI/2_binary64_11097 sin-+PI_binary64_11096 sin-PI_binary64_11095 sin-PI/2_binary64_11094 sin-PI/3_binary64_11093 sin-PI/4_binary64_11092 sin-PI/6_binary64_11091 sub-1-sin_binary64_11090 sub-1-cos_binary64_11089 -1-add-sin_binary64_11088 -1-add-cos_binary64_11087 1-sub-sin_binary64_11086 1-sub-cos_binary64_11085 cos-sin-sum_binary64_11084 log-E_binary64_11080 log-rec_binary64_11078 pow-base-0_binary64_11074 unpow1/3_binary64_11057 unpow2_binary64_11055 unpow1/2_binary64_11054 unpow0_binary64_11049 unpow1_binary64_11048 unpow-1_binary64_11047 exp-lft-cube_binary64_11046 exp-cbrt_binary64_11044 div-exp_binary64_11041 rec-exp_binary64_11040 exp-neg_binary64_11037 e-exp-1_binary64_11035 exp-0_binary64_11032 rem-exp-log_binary64_11030 rem-3cbrt-rft_binary64_11016 rem-3cbrt-lft_binary64_11015 rem-cbrt-cube_binary64_11014 rem-cube-cbrt_binary64_11013 sqr-abs_binary64_11005 mul-1-neg_binary64_10982 div0_binary64_10971 lft-mult-inverse_binary64_10968 remove-double-div_binary64_10966 difference-of-sqr-1_binary64_10960
Counts
54 → 45
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
066507
1154488
2408486
3862486
41585486
52980486
64972486

prune54.0ms (0.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New38745
Fresh000
Picked011
Done000
Total38846
Error
0.0b
Counts
46 → 8
Compiler

Compiled 826 to 324 computations (60.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 y (fabs.f64 (cbrt.f64 z)))
0.3b
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 z))) (sqrt.f64 (cbrt.f64 z)))
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 z)

rewrite87.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
13×add-sqr-sqrt_binary64_11012
12×associate-*r*_binary64_10930
11×pow1_binary64_11051 add-exp-log_binary64_11028 add-cbrt-cube_binary64_11026 add-cube-cbrt_binary64_11025 *-un-lft-identity_binary64_10990
cbrt-prod_binary64_11021
sqrt-prod_binary64_11006
add-log-exp_binary64_11029 pow-prod-down_binary64_11061 prod-exp_binary64_11039 cbrt-unprod_binary64_11023 associate-*l*_binary64_10931
pow1/3_binary64_11072 *-commutative_binary64_10921
unswap-sqr_binary64_10958
Counts
4 → 64
Calls

4 calls:

8.0ms
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 z))) (sqrt.f64 (cbrt.f64 z)))
4.0ms
(*.f64 y (fabs.f64 (cbrt.f64 z)))
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1202 to 418 computations (65.2% saved)

series653.0ms (8.9%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

314.0ms
(*.f64 (*.f64 y (fabs.f64 (cbrt.f64 z))) (sqrt.f64 (cbrt.f64 z)))
123.0ms
(cbrt.f64 z)
115.0ms
(cbrt.f64 z)
83.0ms
(*.f64 y (fabs.f64 (cbrt.f64 z)))
Compiler

Compiled 834 to 706 computations (15.3% saved)

simplify208.0ms (2.8%)

Algorithm
egg-herbie
Rules
654×distribute-rgt-in_binary64_10940
636×distribute-lft-in_binary64_10939
479×associate-+l+_binary64_10923
255×*-commutative_binary64_10921
248×unswap-sqr_binary64_10958
172×associate-*l*_binary64_10931
161×sqr-pow_binary64_10962
135×log-prod_binary64_11076
127×associate-*r*_binary64_10930
111×distribute-rgt-neg-in_binary64_10948 distribute-lft-neg-in_binary64_10947
97×associate-*l/_binary64_10933
93×pow-sqr_binary64_10963
86×associate-*r/_binary64_10932
77×associate-/l*_binary64_10935
70×distribute-rgt-out_binary64_10943
66×associate-/l/_binary64_10937
55×associate-/r/_binary64_10936
44×exp-prod_binary64_11042
41×*-lft-identity_binary64_10979
39×cancel-sign-sub-inv_binary64_10956 count-2_binary64_10938
33×distribute-lft-out_binary64_10941
32×*-rgt-identity_binary64_10980
26×cube-prod_binary64_11018
24×log-pow_binary64_11079 neg-sub0_binary64_10985
23×rem-sqrt-square_binary64_11003 neg-mul-1_binary64_10986
19×swap-sqr_binary64_10957
15×associate-+r+_binary64_10922
14×sub-neg_binary64_10983
10×cube-unmult_binary64_11027 associate-/r*_binary64_10934
pow-plus_binary64_11053 times-frac_binary64_10996
+-commutative_binary64_10920
distribute-rgt1-in_binary64_10946
unpow3_binary64_11056
unpow1/3_binary64_11057 cube-mult_binary64_11020
pow-base-1_binary64_11050 prod-exp_binary64_11039 1-exp_binary64_11034 exp-1-e_binary64_11033 rem-log-exp_binary64_11031 rem-3cbrt-lft_binary64_11015 rem-cbrt-cube_binary64_11014 sqr-abs_binary64_11005 rem-square-sqrt_binary64_11002 mul-1-neg_binary64_10982 /-rgt-identity_binary64_10981 +-rgt-identity_binary64_10975 +-lft-identity_binary64_10974 *-inverses_binary64_10970 rgt-mult-inverse_binary64_10967 associate-+l-_binary64_10925
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_11253 erf-erfc_binary64_11252 erf-odd_binary64_11251 if-if-and-not_binary64_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 not-gte_binary64_11242 not-lte_binary64_11241 not-gt_binary64_11240 not-lt_binary64_11239 gte-same_binary64_11238 lte-same_binary64_11237 gt-same_binary64_11236 lt-same_binary64_11235 sinh---cosh_binary64_11182 sinh-+-cosh_binary64_11181 sinh-cosh_binary64_11180 tanh-def-c_binary64_11179 tanh-def-b_binary64_11178 tanh-def-a_binary64_11177 cosh-def_binary64_11176 sinh-def_binary64_11175 tan-neg_binary64_11122 cos-neg_binary64_11121 sin-neg_binary64_11120 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 hang-m-tan_binary64_11116 hang-p-tan_binary64_11115 hang-m0-tan_binary64_11114 hang-p0-tan_binary64_11113 hang-0m-tan_binary64_11112 hang-0p-tan_binary64_11111 tan-+PI/2_binary64_11110 tan-+PI_binary64_11109 tan-PI_binary64_11108 tan-PI/3_binary64_11107 tan-PI/4_binary64_11106 tan-PI/6_binary64_11105 cos-+PI/2_binary64_11104 cos-+PI_binary64_11103 cos-PI_binary64_11102 cos-PI/2_binary64_11101 cos-PI/3_binary64_11100 cos-PI/4_binary64_11099 cos-PI/6_binary64_11098 sin-+PI/2_binary64_11097 sin-+PI_binary64_11096 sin-PI_binary64_11095 sin-PI/2_binary64_11094 sin-PI/3_binary64_11093 sin-PI/4_binary64_11092 sin-PI/6_binary64_11091 sub-1-sin_binary64_11090 sub-1-cos_binary64_11089 -1-add-sin_binary64_11088 -1-add-cos_binary64_11087 1-sub-sin_binary64_11086 1-sub-cos_binary64_11085 cos-sin-sum_binary64_11084 log-E_binary64_11080 log-rec_binary64_11078 log-div_binary64_11077 pow-base-0_binary64_11074 unpow2_binary64_11055 unpow1/2_binary64_11054 exp-to-pow_binary64_11052 unpow0_binary64_11049 unpow1_binary64_11048 unpow-1_binary64_11047 exp-lft-cube_binary64_11046 exp-lft-sqr_binary64_11045 exp-cbrt_binary64_11044 exp-sqrt_binary64_11043 div-exp_binary64_11041 rec-exp_binary64_11040 exp-diff_binary64_11038 exp-neg_binary64_11037 exp-sum_binary64_11036 e-exp-1_binary64_11035 exp-0_binary64_11032 rem-exp-log_binary64_11030 cube-div_binary64_11019 cube-neg_binary64_11017 rem-3cbrt-rft_binary64_11016 rem-cube-cbrt_binary64_11013 sqr-neg_binary64_11004 div-sub_binary64_10995 unsub-neg_binary64_10984 remove-double-neg_binary64_10978 sub0-neg_binary64_10977 --rgt-identity_binary64_10976 mul0-rgt_binary64_10973 mul0-lft_binary64_10972 div0_binary64_10971 +-inverses_binary64_10969 lft-mult-inverse_binary64_10968 remove-double-div_binary64_10966 difference-of-sqr--1_binary64_10961 difference-of-sqr-1_binary64_10960 difference-of-squares_binary64_10959 cancel-sign-sub_binary64_10955 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-neg-out_binary64_10952 distribute-neg-in_binary64_10951 distribute-rgt-neg-out_binary64_10950 distribute-lft-neg-out_binary64_10949 distribute-lft1-in_binary64_10945 distribute-rgt-out--_binary64_10944 distribute-lft-out--_binary64_10942 associate--r-_binary64_10929 associate--l-_binary64_10928 associate--l+_binary64_10927 associate--r+_binary64_10926 associate-+r-_binary64_10924
Counts
82 → 106
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0941004
1200921
2703921
31053921
41840913

prune125.0ms (1.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1024106
Fresh246
Picked101
Done011
Total1059114
Error
0.0b
Counts
114 → 9
Compiler

Compiled 2252 to 738 computations (67.2% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 y (sqrt.f64 (cbrt.f64 z)))
0.3b
(*.f64 (fabs.f64 (cbrt.f64 z)) (*.f64 y (sqrt.f64 (cbrt.f64 z))))
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 z)

rewrite95.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
17×add-sqr-sqrt_binary64_11012
11×pow1_binary64_11051 add-exp-log_binary64_11028 add-cbrt-cube_binary64_11026 add-cube-cbrt_binary64_11025 *-un-lft-identity_binary64_10990
10×cbrt-prod_binary64_11021 associate-*r*_binary64_10930
sqrt-prod_binary64_11006
associate-*l*_binary64_10931
add-log-exp_binary64_11029 pow-prod-down_binary64_11061 prod-exp_binary64_11039 cbrt-unprod_binary64_11023
unswap-sqr_binary64_10958
pow1/3_binary64_11072 *-commutative_binary64_10921
Counts
4 → 66
Calls

4 calls:

7.0ms
(*.f64 (fabs.f64 (cbrt.f64 z)) (*.f64 y (sqrt.f64 (cbrt.f64 z))))
7.0ms
(*.f64 y (sqrt.f64 (cbrt.f64 z)))
1.0ms
(cbrt.f64 z)
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1380 to 564 computations (59.1% saved)

series869.0ms (11.9%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

336.0ms
(*.f64 (fabs.f64 (cbrt.f64 z)) (*.f64 y (sqrt.f64 (cbrt.f64 z))))
272.0ms
(*.f64 y (sqrt.f64 (cbrt.f64 z)))
120.0ms
(cbrt.f64 z)
119.0ms
(cbrt.f64 z)
Compiler

Compiled 927 to 799 computations (13.8% saved)

simplify180.0ms (2.5%)

Algorithm
egg-herbie
Rules
605×distribute-rgt-in_binary64_10940
587×distribute-lft-in_binary64_10939
453×associate-+l+_binary64_10923
437×associate-+r+_binary64_10922
236×*-commutative_binary64_10921
213×unswap-sqr_binary64_10958
156×sqr-pow_binary64_10962
132×associate-*l*_binary64_10931 associate-*r*_binary64_10930
131×log-prod_binary64_11076
110×distribute-rgt-neg-in_binary64_10948 distribute-lft-neg-in_binary64_10947
101×associate-*l/_binary64_10933
91×pow-sqr_binary64_10963
87×associate-*r/_binary64_10932
73×associate-/l*_binary64_10935
70×distribute-rgt-out_binary64_10943
64×associate-/l/_binary64_10937
55×associate-/r/_binary64_10936
44×count-2_binary64_10938
40×exp-prod_binary64_11042 cancel-sign-sub-inv_binary64_10956
29×distribute-lft-out_binary64_10941
27×*-rgt-identity_binary64_10980
24×log-pow_binary64_11079 rem-sqrt-square_binary64_11003 neg-sub0_binary64_10985
23×neg-mul-1_binary64_10986 *-lft-identity_binary64_10979
21×cube-prod_binary64_11018
20×swap-sqr_binary64_10957
14×sub-neg_binary64_10983
10×cube-unmult_binary64_11027 times-frac_binary64_10996
pow-plus_binary64_11053
associate-/r*_binary64_10934 +-commutative_binary64_10920
distribute-rgt1-in_binary64_10946
unpow3_binary64_11056
unpow1/3_binary64_11057 cube-mult_binary64_11020
pow-base-1_binary64_11050 prod-exp_binary64_11039 1-exp_binary64_11034 exp-1-e_binary64_11033 rem-log-exp_binary64_11031 rem-3cbrt-lft_binary64_11015 rem-cbrt-cube_binary64_11014 sqr-abs_binary64_11005 rem-square-sqrt_binary64_11002 mul-1-neg_binary64_10982 /-rgt-identity_binary64_10981 +-rgt-identity_binary64_10975 +-lft-identity_binary64_10974 *-inverses_binary64_10970 rgt-mult-inverse_binary64_10967 associate-+l-_binary64_10925
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_11253 erf-erfc_binary64_11252 erf-odd_binary64_11251 if-if-and-not_binary64_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 not-gte_binary64_11242 not-lte_binary64_11241 not-gt_binary64_11240 not-lt_binary64_11239 gte-same_binary64_11238 lte-same_binary64_11237 gt-same_binary64_11236 lt-same_binary64_11235 sinh---cosh_binary64_11182 sinh-+-cosh_binary64_11181 sinh-cosh_binary64_11180 tanh-def-c_binary64_11179 tanh-def-b_binary64_11178 tanh-def-a_binary64_11177 cosh-def_binary64_11176 sinh-def_binary64_11175 tan-neg_binary64_11122 cos-neg_binary64_11121 sin-neg_binary64_11120 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 hang-m-tan_binary64_11116 hang-p-tan_binary64_11115 hang-m0-tan_binary64_11114 hang-p0-tan_binary64_11113 hang-0m-tan_binary64_11112 hang-0p-tan_binary64_11111 tan-+PI/2_binary64_11110 tan-+PI_binary64_11109 tan-PI_binary64_11108 tan-PI/3_binary64_11107 tan-PI/4_binary64_11106 tan-PI/6_binary64_11105 cos-+PI/2_binary64_11104 cos-+PI_binary64_11103 cos-PI_binary64_11102 cos-PI/2_binary64_11101 cos-PI/3_binary64_11100 cos-PI/4_binary64_11099 cos-PI/6_binary64_11098 sin-+PI/2_binary64_11097 sin-+PI_binary64_11096 sin-PI_binary64_11095 sin-PI/2_binary64_11094 sin-PI/3_binary64_11093 sin-PI/4_binary64_11092 sin-PI/6_binary64_11091 sub-1-sin_binary64_11090 sub-1-cos_binary64_11089 -1-add-sin_binary64_11088 -1-add-cos_binary64_11087 1-sub-sin_binary64_11086 1-sub-cos_binary64_11085 cos-sin-sum_binary64_11084 log-E_binary64_11080 log-rec_binary64_11078 log-div_binary64_11077 pow-base-0_binary64_11074 unpow2_binary64_11055 unpow1/2_binary64_11054 exp-to-pow_binary64_11052 unpow0_binary64_11049 unpow1_binary64_11048 unpow-1_binary64_11047 exp-lft-cube_binary64_11046 exp-lft-sqr_binary64_11045 exp-cbrt_binary64_11044 exp-sqrt_binary64_11043 div-exp_binary64_11041 rec-exp_binary64_11040 exp-diff_binary64_11038 exp-neg_binary64_11037 exp-sum_binary64_11036 e-exp-1_binary64_11035 exp-0_binary64_11032 rem-exp-log_binary64_11030 cube-div_binary64_11019 cube-neg_binary64_11017 rem-3cbrt-rft_binary64_11016 rem-cube-cbrt_binary64_11013 sqr-neg_binary64_11004 div-sub_binary64_10995 unsub-neg_binary64_10984 remove-double-neg_binary64_10978 sub0-neg_binary64_10977 --rgt-identity_binary64_10976 mul0-rgt_binary64_10973 mul0-lft_binary64_10972 div0_binary64_10971 +-inverses_binary64_10969 lft-mult-inverse_binary64_10968 remove-double-div_binary64_10966 difference-of-sqr--1_binary64_10961 difference-of-sqr-1_binary64_10960 difference-of-squares_binary64_10959 cancel-sign-sub_binary64_10955 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-neg-out_binary64_10952 distribute-neg-in_binary64_10951 distribute-rgt-neg-out_binary64_10950 distribute-lft-neg-out_binary64_10949 distribute-lft1-in_binary64_10945 distribute-rgt-out--_binary64_10944 distribute-lft-out--_binary64_10942 associate--r-_binary64_10929 associate--l-_binary64_10928 associate--l+_binary64_10927 associate--r+_binary64_10926 associate-+r-_binary64_10924
Counts
84 → 63
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
096990
1192917
2635917
3973917
41701909

prune82.0ms (1.1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New63063
Fresh077
Picked011
Done011
Total63972
Error
0.0b
Counts
72 → 9
Compiler

Compiled 1330 to 677 computations (49.1% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 z)) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))
0.6b
(cbrt.f64 z)
0.6b
(cbrt.f64 (sqrt.f64 z))
0.6b
(cbrt.f64 (sqrt.f64 z))

rewrite118.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
21×cbrt-prod_binary64_11021
18×sqrt-prod_binary64_11006
13×pow1_binary64_11051 add-exp-log_binary64_11028 add-cbrt-cube_binary64_11026 add-cube-cbrt_binary64_11025 add-sqr-sqrt_binary64_11012 *-un-lft-identity_binary64_10990
12×associate-*r*_binary64_10930
pow-prod-down_binary64_11061 prod-exp_binary64_11039 cbrt-unprod_binary64_11023
add-log-exp_binary64_11029
pow1/3_binary64_11072
associate-*l*_binary64_10931 *-commutative_binary64_10921
Counts
4 → 69
Calls

4 calls:

17.0ms
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 z)) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))
2.0ms
(cbrt.f64 (sqrt.f64 z))
2.0ms
(cbrt.f64 (sqrt.f64 z))
1.0ms
(cbrt.f64 z)
Compiler

Compiled 1802 to 493 computations (72.6% saved)

series604.0ms (8.2%)

Error
0.0b
Counts
4 → 15
Calls

4 calls:

291.0ms
(*.f64 (*.f64 y (*.f64 (fabs.f64 (cbrt.f64 z)) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))) (sqrt.f64 (cbrt.f64 (sqrt.f64 z))))
121.0ms
(cbrt.f64 z)
92.0ms
(cbrt.f64 (sqrt.f64 z))
83.0ms
(cbrt.f64 (sqrt.f64 z))
Compiler

Compiled 850 to 670 computations (21.2% saved)

simplify333.0ms (4.5%)

Algorithm
egg-herbie
Rules
386×distribute-rgt-in_binary64_10940
377×distribute-lft-in_binary64_10939
370×*-commutative_binary64_10921
294×associate-+l+_binary64_10923
278×associate-+r+_binary64_10922
242×associate-*l*_binary64_10931
198×times-frac_binary64_10996
188×sqr-pow_binary64_10962
169×associate-*r*_binary64_10930
135×unswap-sqr_binary64_10958
134×log-prod_binary64_11076
105×associate-/l*_binary64_10935
101×pow-sqr_binary64_10963
79×associate-*r/_binary64_10932
68×exp-prod_binary64_11042
62×distribute-rgt-neg-in_binary64_10948 distribute-lft-neg-in_binary64_10947
60×associate-/l/_binary64_10937
53×distribute-rgt-out_binary64_10943
48×associate-*l/_binary64_10933
42×cube-prod_binary64_11018
40×swap-sqr_binary64_10957
35×log-pow_binary64_11079
30×rem-sqrt-square_binary64_11003
28×count-2_binary64_10938 associate-/r/_binary64_10936
25×cancel-sign-sub-inv_binary64_10956
21×*-rgt-identity_binary64_10980 associate-/r*_binary64_10934
20×*-lft-identity_binary64_10979
18×pow-plus_binary64_11053
17×neg-sub0_binary64_10985
16×neg-mul-1_binary64_10986 distribute-lft-out_binary64_10941
12×cube-unmult_binary64_11027
11×+-commutative_binary64_10920
sub-neg_binary64_10983
unpow3_binary64_11056
unpow1/3_binary64_11057 cube-mult_binary64_11020 cube-div_binary64_11019 distribute-rgt1-in_binary64_10946
log-div_binary64_11077 pow-base-1_binary64_11050 exp-sqrt_binary64_11043 rem-3cbrt-lft_binary64_11015 +-rgt-identity_binary64_10975 +-lft-identity_binary64_10974
exp-to-pow_binary64_11052 prod-exp_binary64_11039 exp-sum_binary64_11036 1-exp_binary64_11034 exp-1-e_binary64_11033 rem-log-exp_binary64_11031 rem-cbrt-cube_binary64_11014 sqr-abs_binary64_11005 rem-square-sqrt_binary64_11002 mul-1-neg_binary64_10982 /-rgt-identity_binary64_10981 *-inverses_binary64_10970 rgt-mult-inverse_binary64_10967 associate-+l-_binary64_10925
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_11253 erf-erfc_binary64_11252 erf-odd_binary64_11251 if-if-and-not_binary64_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 not-gte_binary64_11242 not-lte_binary64_11241 not-gt_binary64_11240 not-lt_binary64_11239 gte-same_binary64_11238 lte-same_binary64_11237 gt-same_binary64_11236 lt-same_binary64_11235 sinh---cosh_binary64_11182 sinh-+-cosh_binary64_11181 sinh-cosh_binary64_11180 tanh-def-c_binary64_11179 tanh-def-b_binary64_11178 tanh-def-a_binary64_11177 cosh-def_binary64_11176 sinh-def_binary64_11175 tan-neg_binary64_11122 cos-neg_binary64_11121 sin-neg_binary64_11120 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 hang-m-tan_binary64_11116 hang-p-tan_binary64_11115 hang-m0-tan_binary64_11114 hang-p0-tan_binary64_11113 hang-0m-tan_binary64_11112 hang-0p-tan_binary64_11111 tan-+PI/2_binary64_11110 tan-+PI_binary64_11109 tan-PI_binary64_11108 tan-PI/3_binary64_11107 tan-PI/4_binary64_11106 tan-PI/6_binary64_11105 cos-+PI/2_binary64_11104 cos-+PI_binary64_11103 cos-PI_binary64_11102 cos-PI/2_binary64_11101 cos-PI/3_binary64_11100 cos-PI/4_binary64_11099 cos-PI/6_binary64_11098 sin-+PI/2_binary64_11097 sin-+PI_binary64_11096 sin-PI_binary64_11095 sin-PI/2_binary64_11094 sin-PI/3_binary64_11093 sin-PI/4_binary64_11092 sin-PI/6_binary64_11091 sub-1-sin_binary64_11090 sub-1-cos_binary64_11089 -1-add-sin_binary64_11088 -1-add-cos_binary64_11087 1-sub-sin_binary64_11086 1-sub-cos_binary64_11085 cos-sin-sum_binary64_11084 log-E_binary64_11080 log-rec_binary64_11078 pow-base-0_binary64_11074 unpow2_binary64_11055 unpow1/2_binary64_11054 unpow0_binary64_11049 unpow1_binary64_11048 unpow-1_binary64_11047 exp-lft-cube_binary64_11046 exp-lft-sqr_binary64_11045 exp-cbrt_binary64_11044 div-exp_binary64_11041 rec-exp_binary64_11040 exp-diff_binary64_11038 exp-neg_binary64_11037 e-exp-1_binary64_11035 exp-0_binary64_11032 rem-exp-log_binary64_11030 cube-neg_binary64_11017 rem-3cbrt-rft_binary64_11016 rem-cube-cbrt_binary64_11013 sqr-neg_binary64_11004 div-sub_binary64_10995 unsub-neg_binary64_10984 remove-double-neg_binary64_10978 sub0-neg_binary64_10977 --rgt-identity_binary64_10976 mul0-rgt_binary64_10973 mul0-lft_binary64_10972 div0_binary64_10971 +-inverses_binary64_10969 lft-mult-inverse_binary64_10968 remove-double-div_binary64_10966 difference-of-sqr--1_binary64_10961 difference-of-sqr-1_binary64_10960 difference-of-squares_binary64_10959 cancel-sign-sub_binary64_10955 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-neg-out_binary64_10952 distribute-neg-in_binary64_10951 distribute-rgt-neg-out_binary64_10950 distribute-lft-neg-out_binary64_10949 distribute-lft1-in_binary64_10945 distribute-rgt-out--_binary64_10944 distribute-lft-out--_binary64_10942 associate--r-_binary64_10929 associate--l-_binary64_10928 associate--l+_binary64_10927 associate--r+_binary64_10926 associate-+r-_binary64_10924
Counts
84 → 93
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01061212
12351103
28691095
313221095
419731085
548831085

prune101.0ms (1.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New92193
Fresh246
Picked011
Done022
Total948102
Error
0b
Counts
102 → 8
Compiler

Compiled 2066 to 586 computations (71.6% saved)

regimes690.0ms (9.4%)

Accuracy

Total 0.1b remaining (80.4%)

Threshold costs 0.1b (80.4%)

Compiler

Compiled 6525 to 4471 computations (31.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_10921
1-exp_binary64_11034 +-commutative_binary64_10920
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_11250 if-if-and_binary64_11249 if-if-or-not_binary64_11248 if-if-or_binary64_11247 if-not_binary64_11246 if-same_binary64_11245 if-false_binary64_11244 if-true_binary64_11243 tan-0_binary64_11119 cos-0_binary64_11118 sin-0_binary64_11117 unpow1_binary64_11048 e-exp-1_binary64_11035 exp-1-e_binary64_11033 exp-0_binary64_11032 sqr-abs_binary64_11005 sqr-neg_binary64_11004 neg-mul-1_binary64_10986 neg-sub0_binary64_10985 unsub-neg_binary64_10984 sub-neg_binary64_10983 mul-1-neg_binary64_10982 /-rgt-identity_binary64_10981 *-rgt-identity_binary64_10980 *-lft-identity_binary64_10979 remove-double-neg_binary64_10978 sub0-neg_binary64_10977 --rgt-identity_binary64_10976 +-rgt-identity_binary64_10975 +-lft-identity_binary64_10974 cancel-sign-sub-inv_binary64_10956 cancel-sign-sub_binary64_10955 distribute-neg-frac_binary64_10954 distribute-frac-neg_binary64_10953 distribute-neg-out_binary64_10952 distribute-neg-in_binary64_10951 distribute-rgt-neg-out_binary64_10950 distribute-lft-neg-out_binary64_10949 distribute-rgt-neg-in_binary64_10948 distribute-lft-neg-in_binary64_10947
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
11615
Proof
(* f64 (/ f64 1 2) (+ f64 h0 (* f64 h1 (sqrt f64 h2))))

end0.0ms (0%)

sample1.5s (20.1%)

Algorithm
intervals
Results
311.0ms8000×body128valid
36.0ms1081×body128nan
15.0ms409×body128invalid
Compiler

Compiled 946 to 653 computations (31% saved)

Profiling

Loading profile data...