Details

Time bar (total: 4.0s)

analyze144.0ms (3.6%)

Algorithm
search
egg-herbie
Rules
count-2_binary64_26 associate-*r*_binary64_18 *-commutative_binary64_9
distribute-rgt-out_binary64_31 associate-*l*_binary64_19
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow2_binary64_143 unpow1/2_binary64_142 pow-plus_binary64_141 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-prod_binary64_130 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 1-exp_binary64_122 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-unmult_binary64_115 cube-mult_binary64_108 cube-div_binary64_107 cube-prod_binary64_106 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 pow-sqr_binary64_51 sqr-pow_binary64_50 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 unswap-sqr_binary64_46 swap-sqr_binary64_45 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12 associate-+l+_binary64_11 associate-+r+_binary64_10 +-commutative_binary64_8
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 9 to 5 computations (44.4% saved)

sample13.0ms (0.3%)

Algorithm
intervals
Results
5.0ms256×body128valid
Compiler

Compiled 17 to 10 computations (41.2% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
count-2_binary64_26 associate-*r*_binary64_18 *-commutative_binary64_9
distribute-rgt-out_binary64_31 associate-*l*_binary64_19
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 log-prod_binary64_164 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow3_binary64_144 unpow2_binary64_143 unpow1/2_binary64_142 pow-plus_binary64_141 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 exp-prod_binary64_130 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 1-exp_binary64_122 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-unmult_binary64_115 cube-mult_binary64_108 cube-div_binary64_107 cube-prod_binary64_106 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-sqrt-square_binary64_91 rem-square-sqrt_binary64_90 times-frac_binary64_84 div-sub_binary64_83 neg-mul-1_binary64_74 neg-sub0_binary64_73 unsub-neg_binary64_72 sub-neg_binary64_71 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 pow-sqr_binary64_51 sqr-pow_binary64_50 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 unswap-sqr_binary64_46 swap-sqr_binary64_45 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12 associate-+l+_binary64_11 associate-+r+_binary64_10 +-commutative_binary64_8
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
199
2129
3139
4139

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

31.1b
(sqrt.f64 (*.f64 x (+.f64 x x)))

rewrite23.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
15.8b
Rules
pow1_binary64_139
sqrt-pow1_binary64_96 associate-*r/_binary64_20 sqrt-div_binary64_95
pow1/2_binary64_158 add-log-exp_binary64_117 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 add-cube-cbrt_binary64_113 add-sqr-sqrt_binary64_100 pow-prod-down_binary64_149 flip3-+_binary64_81 flip-+_binary64_52 sqrt-prod_binary64_94 *-un-lft-identity_binary64_78
Counts
1 → 13
Calls

1 calls:

9.0ms
(sqrt.f64 (*.f64 x (+.f64 x x)))
Compiler

Compiled 161 to 50 computations (68.9% saved)

series46.0ms (1.2%)

Error
0.3b
Counts
1 → 3
Calls

1 calls:

42.0ms
(sqrt.f64 (*.f64 x (+.f64 x x)))
Compiler

Compiled 42 to 40 computations (4.8% saved)

simplify76.0ms (1.9%)

Algorithm
egg-herbie
Rules
594×distribute-rgt-neg-in_binary64_36
533×unsub-neg_binary64_72
481×distribute-lft-neg-in_binary64_35
403×neg-sub0_binary64_73
401×neg-mul-1_binary64_74
312×sub-neg_binary64_71
293×distribute-lft-out_binary64_29
274×distribute-rgt-out_binary64_31
246×distribute-lft-neg-out_binary64_37
240×cancel-sign-sub-inv_binary64_44
237×distribute-neg-in_binary64_39
235×*-commutative_binary64_9
213×associate-*l*_binary64_19
188×distribute-rgt-neg-out_binary64_38
184×associate-*r*_binary64_18
150×distribute-rgt-in_binary64_28
130×associate--r+_binary64_14
123×distribute-lft-out--_binary64_30
106×unswap-sqr_binary64_46
103×distribute-lft-in_binary64_27
92×associate--l+_binary64_15
84×swap-sqr_binary64_45
78×associate-+r-_binary64_12
68×distribute-rgt-out--_binary64_32
66×+-commutative_binary64_8
65×associate-+l-_binary64_13
61×associate--r-_binary64_17
52×distribute-neg-out_binary64_40
40×associate--l-_binary64_16
34×distribute-rgt1-in_binary64_34
31×remove-double-neg_binary64_66
27×sqr-pow_binary64_50
24×count-2_binary64_26
21×associate-+l+_binary64_11
20×difference-of-squares_binary64_47
17×associate-+r+_binary64_10
15×cube-prod_binary64_106
12×mul0-lft_binary64_60
11×pow-plus_binary64_141 sub0-neg_binary64_65 mul0-rgt_binary64_61 +-inverses_binary64_57
cube-unmult_binary64_115 rem-sqrt-square_binary64_91 +-rgt-identity_binary64_63
distribute-lft1-in_binary64_33
--rgt-identity_binary64_64
*-lft-identity_binary64_67
sqr-neg_binary64_92
log-prod_binary64_164 exp-prod_binary64_130
unpow3_binary64_144
unpow2_binary64_143 exp-diff_binary64_126 exp-sum_binary64_124 *-rgt-identity_binary64_68
unpow1/2_binary64_142 unpow1_binary64_136 1-exp_binary64_122 exp-1-e_binary64_121 cube-mult_binary64_108 cube-neg_binary64_105 rem-square-sqrt_binary64_90 mul-1-neg_binary64_70 pow-sqr_binary64_51 cancel-sign-sub_binary64_43
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 log-pow_binary64_167 log-rec_binary64_166 log-div_binary64_165 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 times-frac_binary64_84 div-sub_binary64_83 /-rgt-identity_binary64_69 +-lft-identity_binary64_62 div0_binary64_59 *-inverses_binary64_58 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 associate-/l/_binary64_25 associate-/r/_binary64_24 associate-/l*_binary64_23 associate-/r*_binary64_22 associate-*l/_binary64_21 associate-*r/_binary64_20
Counts
16 → 6
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035155
167143
2126140
3336140
41155140
52396140
64359140
75009140

prune8.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New426
Fresh000
Picked011
Done000
Total437
Error
16.6b
Counts
7 → 3
Compiler

Compiled 56 to 40 computations (28.6% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.5b
(*.f64 x (sqrt.f64 2))

rewrite29.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
16.5b
Rules
add-sqr-sqrt_binary64_100
associate-*r*_binary64_18
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78 sqrt-prod_binary64_94
pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 associate-*l*_binary64_19
unswap-sqr_binary64_46
pow-prod-down_binary64_149 prod-exp_binary64_127 add-log-exp_binary64_117 cbrt-unprod_binary64_111 *-commutative_binary64_9
Counts
1 → 22
Calls

1 calls:

5.0ms
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 228 to 188 computations (17.5% saved)

series47.0ms (1.2%)

Error
16.6b
Counts
1 → 3
Calls

1 calls:

45.0ms
(*.f64 x (sqrt.f64 2))
Compiler

Compiled 45 to 43 computations (4.4% saved)

simplify54.0ms (1.4%)

Algorithm
egg-herbie
Rules
860×unswap-sqr_binary64_46
330×associate-*l*_binary64_19
278×associate-*l/_binary64_21
249×*-commutative_binary64_9
228×cube-div_binary64_107
224×log-div_binary64_165
222×associate-*r*_binary64_18
213×associate-*r/_binary64_20
192×associate-+l+_binary64_11
173×associate-/l/_binary64_25
154×associate-/l*_binary64_23
133×sqr-pow_binary64_50
131×cube-prod_binary64_106
122×log-prod_binary64_164
102×associate-/r/_binary64_24
72×associate-+r+_binary64_10
66×associate-/r*_binary64_22
64×exp-prod_binary64_130
45×pow-sqr_binary64_51
29×unsub-neg_binary64_72
28×cube-unmult_binary64_115 *-lft-identity_binary64_67
23×distribute-lft-out_binary64_29
22×pow-plus_binary64_141
21×times-frac_binary64_84 *-rgt-identity_binary64_68 distribute-rgt-out_binary64_31
18×unpow3_binary64_144 cube-mult_binary64_108
17×log-rec_binary64_166
16×rem-sqrt-square_binary64_91
12×exp-sqrt_binary64_131
11×swap-sqr_binary64_45 +-commutative_binary64_8
sub-neg_binary64_71
exp-lft-sqr_binary64_133 distribute-rgt1-in_binary64_34
distribute-lft1-in_binary64_33
log-pow_binary64_167 unpow1/2_binary64_142
prod-exp_binary64_127 neg-mul-1_binary64_74 neg-sub0_binary64_73 /-rgt-identity_binary64_69 remove-double-div_binary64_54 distribute-rgt-in_binary64_28 count-2_binary64_26
unpow2_binary64_143 1-exp_binary64_122 exp-1-e_binary64_121 rem-square-sqrt_binary64_90
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 unpow1/3_binary64_145 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 div-exp_binary64_129 rec-exp_binary64_128 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 div-sub_binary64_83 mul-1-neg_binary64_70 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub-inv_binary64_44 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 distribute-lft-in_binary64_27 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+l-_binary64_13 associate-+r-_binary64_12
Counts
25 → 8
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037223
168211
2166211
3210211
4310211
5542211
61169211
72780211
85010211

prune13.0ms (0.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New538
Fresh011
Picked011
Done011
Total5611
Error
16.6b
Counts
11 → 6
Compiler

Compiled 101 to 81 computations (19.8% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (sqrt.f64 2) (cbrt.f64 x))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite72.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
16.6b
Rules
19×add-sqr-sqrt_binary64_100
14×cbrt-prod_binary64_109
11×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
pow1_binary64_139 add-exp-log_binary64_116 associate-*l*_binary64_19 associate-*r*_binary64_18
add-cbrt-cube_binary64_114 sqrt-prod_binary64_94
add-log-exp_binary64_117 unswap-sqr_binary64_46
pow1/3_binary64_160
pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111 *-commutative_binary64_9
Counts
4 → 60
Calls

4 calls:

7.0ms
(*.f64 (sqrt.f64 2) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1017 to 478 computations (53% saved)

series468.0ms (11.8%)

Error
16.6b
Counts
4 → 12
Calls

4 calls:

139.0ms
(*.f64 (sqrt.f64 2) (cbrt.f64 x))
109.0ms
(cbrt.f64 x)
104.0ms
(cbrt.f64 x)
104.0ms
(cbrt.f64 x)
Compiler

Compiled 528 to 393 computations (25.6% saved)

simplify91.0ms (2.3%)

Algorithm
egg-herbie
Rules
764×unswap-sqr_binary64_46
435×log-prod_binary64_164
316×associate-+l+_binary64_11
272×associate-+r+_binary64_10
267×*-commutative_binary64_9
235×associate-*l*_binary64_19
178×distribute-rgt-in_binary64_28
176×associate-*r*_binary64_18
174×distribute-lft-in_binary64_27
154×distribute-lft-out_binary64_29
138×sqr-pow_binary64_50
136×distribute-rgt-out_binary64_31
123×associate-/l/_binary64_25
116×distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35
50×exp-prod_binary64_130
49×pow-sqr_binary64_51
48×associate-/l*_binary64_23
46×count-2_binary64_26
45×cancel-sign-sub-inv_binary64_44
35×log-pow_binary64_167 cube-prod_binary64_106
27×times-frac_binary64_84
24×rem-sqrt-square_binary64_91
23×neg-sub0_binary64_73
22×neg-mul-1_binary64_74 distribute-rgt1-in_binary64_34
17×*-lft-identity_binary64_67 distribute-lft1-in_binary64_33
15×log-div_binary64_165 sub-neg_binary64_71 *-rgt-identity_binary64_68
12×unsub-neg_binary64_72 associate-/r*_binary64_22
11×associate-*r/_binary64_20
10×pow-plus_binary64_141 cube-unmult_binary64_115 associate-/r/_binary64_24
swap-sqr_binary64_45
unpow3_binary64_144
unpow1/2_binary64_142 cube-mult_binary64_108 mul0-rgt_binary64_61 mul0-lft_binary64_60 +-commutative_binary64_8
/-rgt-identity_binary64_69 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
unpow1/3_binary64_145 associate-*l/_binary64_21
log-rec_binary64_166 unpow2_binary64_143 1-exp_binary64_122 exp-1-e_binary64_121 rem-3cbrt-lft_binary64_103 rem-square-sqrt_binary64_90 mul-1-neg_binary64_70 sub0-neg_binary64_65 --rgt-identity_binary64_64 associate-+l-_binary64_13
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-lft-sqr_binary64_133 exp-cbrt_binary64_132 exp-sqrt_binary64_131 div-exp_binary64_129 rec-exp_binary64_128 prod-exp_binary64_127 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 div-sub_binary64_83 remove-double-neg_binary64_66 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate--r-_binary64_17 associate--l-_binary64_16 associate--l+_binary64_15 associate--r+_binary64_14 associate-+r-_binary64_12
Counts
72 → 38
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055633
199597
2297593
3708593
41019593
52591593
64759593
75124593

prune50.0ms (1.3%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New31738
Fresh123
Picked101
Done022
Total331144
Error
16.6b
Counts
44 → 11
Compiler

Compiled 747 to 428 computations (42.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 x (*.f64 2 (sqrt.f64 2)))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 (*.f64 x (*.f64 2 (sqrt.f64 2))))

rewrite82.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
16.6b
Rules
pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114
add-cube-cbrt_binary64_113 cbrt-prod_binary64_109 add-sqr-sqrt_binary64_100 *-un-lft-identity_binary64_78
add-log-exp_binary64_117
pow1/3_binary64_160 pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111 associate-*l*_binary64_19
associate-*r*_binary64_18 *-commutative_binary64_9
Counts
4 → 49
Calls

4 calls:

7.0ms
(cbrt.f64 (*.f64 x (*.f64 2 (sqrt.f64 2))))
7.0ms
(*.f64 x (*.f64 2 (sqrt.f64 2)))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 937 to 583 computations (37.8% saved)

series486.0ms (12.3%)

Error
16.6b
Counts
4 → 12
Calls

4 calls:

198.0ms
(cbrt.f64 (*.f64 x (*.f64 2 (sqrt.f64 2))))
111.0ms
(cbrt.f64 x)
101.0ms
(cbrt.f64 x)
62.0ms
(*.f64 x (*.f64 2 (sqrt.f64 2)))
Compiler

Compiled 609 to 492 computations (19.2% saved)

simplify113.0ms (2.9%)

Algorithm
egg-herbie
Rules
797×associate-*r*_binary64_18
275×exp-prod_binary64_130
262×log-prod_binary64_164
232×associate-+r+_binary64_10
198×unswap-sqr_binary64_46
184×log-div_binary64_165
138×associate--r+_binary64_14
135×associate-+l+_binary64_11
126×*-commutative_binary64_9
119×distribute-rgt-in_binary64_28
112×distribute-lft-in_binary64_27
109×swap-sqr_binary64_45
97×sqr-pow_binary64_50
90×associate-/r*_binary64_22
85×cube-prod_binary64_106
77×associate-*l*_binary64_19
67×exp-sum_binary64_124
56×associate--r-_binary64_17
50×log-pow_binary64_167
48×unsub-neg_binary64_72
46×sub-neg_binary64_71
44×unpow3_binary64_144
40×associate-+r-_binary64_12
36×distribute-rgt-neg-in_binary64_36
34×pow-plus_binary64_141
33×exp-to-pow_binary64_140 cancel-sign-sub-inv_binary64_44
32×associate-/l*_binary64_23
29×exp-diff_binary64_126 distribute-lft-neg-in_binary64_35
27×associate--l+_binary64_15
26×pow-sqr_binary64_51 associate-+l-_binary64_13
25×div-sub_binary64_83 distribute-neg-in_binary64_39 distribute-rgt-out_binary64_31
19×associate--l-_binary64_16
17×neg-sub0_binary64_73 associate-/l/_binary64_25
16×log-rec_binary64_166 neg-mul-1_binary64_74
13×+-commutative_binary64_8
12×unpow1/3_binary64_145
10×cube-unmult_binary64_115
exp-lft-sqr_binary64_133 distribute-rgt-neg-out_binary64_38 distribute-lft-out_binary64_29
distribute-lft-neg-out_binary64_37
count-2_binary64_26
exp-neg_binary64_125 rem-sqrt-square_binary64_91 associate-*r/_binary64_20
prod-exp_binary64_127 rem-exp-log_binary64_118 cube-mult_binary64_108 sub0-neg_binary64_65 +-rgt-identity_binary64_63
unpow1_binary64_136 remove-double-neg_binary64_66 --rgt-identity_binary64_64
unpow2_binary64_143 unpow-1_binary64_135 exp-sqrt_binary64_131 rem-3cbrt-lft_binary64_103
unpow1/2_binary64_142 rec-exp_binary64_128 1-exp_binary64_122 rem-square-sqrt_binary64_90 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 associate-/r/_binary64_24
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_341 erf-erfc_binary64_340 erf-odd_binary64_339 if-if-and-not_binary64_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 not-gte_binary64_330 not-lte_binary64_329 not-gt_binary64_328 not-lt_binary64_327 gte-same_binary64_326 lte-same_binary64_325 gt-same_binary64_324 lt-same_binary64_323 sinh---cosh_binary64_270 sinh-+-cosh_binary64_269 sinh-cosh_binary64_268 tanh-def-c_binary64_267 tanh-def-b_binary64_266 tanh-def-a_binary64_265 cosh-def_binary64_264 sinh-def_binary64_263 tan-neg_binary64_210 cos-neg_binary64_209 sin-neg_binary64_208 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 hang-m-tan_binary64_204 hang-p-tan_binary64_203 hang-m0-tan_binary64_202 hang-p0-tan_binary64_201 hang-0m-tan_binary64_200 hang-0p-tan_binary64_199 tan-+PI/2_binary64_198 tan-+PI_binary64_197 tan-PI_binary64_196 tan-PI/3_binary64_195 tan-PI/4_binary64_194 tan-PI/6_binary64_193 cos-+PI/2_binary64_192 cos-+PI_binary64_191 cos-PI_binary64_190 cos-PI/2_binary64_189 cos-PI/3_binary64_188 cos-PI/4_binary64_187 cos-PI/6_binary64_186 sin-+PI/2_binary64_185 sin-+PI_binary64_184 sin-PI_binary64_183 sin-PI/2_binary64_182 sin-PI/3_binary64_181 sin-PI/4_binary64_180 sin-PI/6_binary64_179 sub-1-sin_binary64_178 sub-1-cos_binary64_177 -1-add-sin_binary64_176 -1-add-cos_binary64_175 1-sub-sin_binary64_174 1-sub-cos_binary64_173 cos-sin-sum_binary64_172 log-E_binary64_168 pow-base-0_binary64_162 pow-base-1_binary64_138 unpow0_binary64_137 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 div-exp_binary64_129 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 cube-div_binary64_107 cube-neg_binary64_105 rem-3cbrt-rft_binary64_104 rem-cbrt-cube_binary64_102 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 times-frac_binary64_84 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 *-inverses_binary64_58 +-inverses_binary64_57 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 remove-double-div_binary64_54 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-rgt1-in_binary64_34 distribute-lft1-in_binary64_33 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30 associate-*l/_binary64_21
Counts
61 → 35
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
084581
1160555
2475546
31905534
44700534
54844523
64870523
74982523

prune39.0ms (1%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New32335
Fresh268
Picked011
Done022
Total341246
Error
16.6b
Counts
46 → 12
Compiler

Compiled 594 to 380 computations (36% saved)

regimes599.0ms (15.1%)

Accuracy

Total 0.3b remaining (87.2%)

Threshold costs 0.3b (87.2%)

Compiler

Compiled 4202 to 3104 computations (26.1% saved)

bsearch22.0ms (0.6%)

Steps
ItersRangePoint
9
-2.789466341386948e-303
3.2461052710891493e-308
4.9109703020164e-311
Compiler

Compiled 1 to 1 computations (0% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
neg-mul-1_binary64_74 neg-sub0_binary64_73 sub-neg_binary64_71 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 +-commutative_binary64_8
cancel-sign-sub-inv_binary64_44
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_338 if-if-and_binary64_337 if-if-or-not_binary64_336 if-if-or_binary64_335 if-not_binary64_334 if-same_binary64_333 if-false_binary64_332 if-true_binary64_331 tan-0_binary64_207 cos-0_binary64_206 sin-0_binary64_205 unpow1_binary64_136 e-exp-1_binary64_123 1-exp_binary64_122 exp-1-e_binary64_121 exp-0_binary64_120 sqr-abs_binary64_93 sqr-neg_binary64_92 unsub-neg_binary64_72 mul-1-neg_binary64_70 /-rgt-identity_binary64_69 *-rgt-identity_binary64_68 *-lft-identity_binary64_67 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 cancel-sign-sub_binary64_43 distribute-neg-frac_binary64_42 distribute-frac-neg_binary64_41 distribute-neg-out_binary64_40 distribute-neg-in_binary64_39 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01741
12841
24241
35341
45941
56141
66141

end0.0ms (0%)

sample1.4s (36.4%)

Algorithm
intervals
Results
175.0ms8000×body128valid
Compiler

Compiled 1075 to 798 computations (25.8% saved)

Profiling

Loading profile data...