Details

Time bar (total: 3.7s)

analyze151.0ms (4.1%)

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)

sample14.0ms (0.4%)

Algorithm
intervals
Results
6.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
31.9b
Counts
2 → 1
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
17.3b
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:

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

Compiled 161 to 50 computations (68.9% saved)

series42.0ms (1.1%)

Error
0.3b
Counts
1 → 3
Calls

1 calls:

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

Compiled 42 to 40 computations (4.8% saved)

simplify80.0ms (2.2%)

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

prune9.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New336
Fresh000
Picked011
Done000
Total347
Error
14.8b
Counts
7 → 4
Compiler

Compiled 65 to 47 computations (27.7% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite26.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
14.7b
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)

series49.0ms (1.3%)

Error
14.8b
Counts
1 → 3
Calls

1 calls:

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

Compiled 45 to 43 computations (4.4% saved)

simplify56.0ms (1.5%)

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

prune12.0ms (0.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New538
Fresh112
Picked011
Done011
Total6612
Error
14.7b
Counts
12 → 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 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite85.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
14.7b
Rules
25×cbrt-prod_binary64_109
23×add-sqr-sqrt_binary64_100
15×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
11×pow1_binary64_139
pow1/3_binary64_160
add-exp-log_binary64_116 swap-sqr_binary64_45 associate-*l*_binary64_19 associate-*r*_binary64_18
add-log-exp_binary64_117 add-cbrt-cube_binary64_114 unswap-sqr_binary64_46
pow-prod-down_binary64_149 pow-prod-up_binary64_148 pow-sqr_binary64_51
pow2_binary64_159 pow-plus_binary64_141 prod-exp_binary64_127 cbrt-unprod_binary64_111 *-commutative_binary64_9
Counts
4 → 73
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1232 to 524 computations (57.5% saved)

series503.0ms (13.6%)

Error
14.7b
Counts
4 → 12
Calls

4 calls:

138.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
128.0ms
(cbrt.f64 x)
117.0ms
(cbrt.f64 x)
108.0ms
(cbrt.f64 x)
Compiler

Compiled 519 to 405 computations (22% saved)

simplify104.0ms (2.8%)

Algorithm
egg-herbie
Rules
586×log-prod_binary64_164
416×sqr-pow_binary64_50
335×associate-*l*_binary64_19
309×*-commutative_binary64_9
277×distribute-rgt-neg-in_binary64_36
257×distribute-lft-neg-in_binary64_35
227×associate-*r*_binary64_18
188×exp-prod_binary64_130
161×log-pow_binary64_167
149×cube-prod_binary64_106
128×pow-sqr_binary64_51
124×unswap-sqr_binary64_46
111×swap-sqr_binary64_45
104×associate-/l*_binary64_23
81×cancel-sign-sub-inv_binary64_44
75×associate-+l+_binary64_11
69×associate-+r+_binary64_10
61×distribute-rgt-in_binary64_28
60×distribute-lft-out_binary64_29
57×distribute-lft-in_binary64_27
54×neg-sub0_binary64_73
53×neg-mul-1_binary64_74
48×distribute-rgt-out_binary64_31
45×+-commutative_binary64_8
43×pow-plus_binary64_141 rem-sqrt-square_binary64_91
41×times-frac_binary64_84 sub-neg_binary64_71
37×associate-/r/_binary64_24
35×associate-*r/_binary64_20
32×unpow3_binary64_144
31×*-rgt-identity_binary64_68 *-lft-identity_binary64_67 associate-/l/_binary64_25
29×count-2_binary64_26
27×cube-mult_binary64_108
24×associate-/r*_binary64_22
17×log-div_binary64_165 cube-div_binary64_107 distribute-neg-frac_binary64_42
13×cube-unmult_binary64_115 distribute-rgt1-in_binary64_34
11×distribute-rgt-neg-out_binary64_38
10×unpow1/2_binary64_142
distribute-lft-neg-out_binary64_37 distribute-lft1-in_binary64_33
unpow2_binary64_143 associate-*l/_binary64_21
unpow1_binary64_136
unpow1/3_binary64_145
exp-sqrt_binary64_131 rem-3cbrt-lft_binary64_103 rem-cbrt-cube_binary64_102 mul-1-neg_binary64_70
exp-lft-sqr_binary64_133 1-exp_binary64_122 exp-1-e_binary64_121 rem-3cbrt-rft_binary64_104 rem-square-sqrt_binary64_90 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 log-rec_binary64_166 pow-base-0_binary64_162 exp-to-pow_binary64_140 pow-base-1_binary64_138 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 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-neg_binary64_105 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 div-sub_binary64_83 unsub-neg_binary64_72 /-rgt-identity_binary64_69 remove-double-neg_binary64_66 +-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 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 difference-of-squares_binary64_47 cancel-sign-sub_binary64_43 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
85 → 50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
056718
197666
2308646
31135632
42034548
53257548
64939548
74873548

prune58.0ms (1.6%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New46450
Fresh123
Picked011
Done022
Total47956
Error
14.7b
Counts
56 → 9
Compiler

Compiled 775 to 458 computations (40.9% saved)

localize13.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.9b
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)

rewrite82.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
14.7b
Rules
18×cbrt-prod_binary64_109
11×add-cube-cbrt_binary64_113 add-sqr-sqrt_binary64_100 *-un-lft-identity_binary64_78
unpow-prod-down_binary64_157
pow1_binary64_139 add-exp-log_binary64_116
pow1/3_binary64_160 add-log-exp_binary64_117 add-cbrt-cube_binary64_114
pow-unpow_binary64_155
pow-pow_binary64_150
pow-to-exp_binary64_147 pow-exp_binary64_146 sqr-pow_binary64_50
Counts
4 → 57
Calls

4 calls:

4.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1370 to 631 computations (53.9% saved)

series586.0ms (15.9%)

Error
14.7b
Counts
4 → 12
Calls

4 calls:

222.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)
118.0ms
(cbrt.f64 x)
117.0ms
(cbrt.f64 x)
113.0ms
(cbrt.f64 x)
Compiler

Compiled 777 to 554 computations (28.7% saved)

simplify62.0ms (1.7%)

Algorithm
egg-herbie
Rules
363×associate-+l+_binary64_11
312×associate-+r+_binary64_10
308×distribute-rgt-in_binary64_28
304×unswap-sqr_binary64_46
288×distribute-lft-in_binary64_27
209×log-prod_binary64_164
194×*-commutative_binary64_9
182×sqr-pow_binary64_50
164×distribute-rgt-neg-in_binary64_36
163×distribute-lft-neg-in_binary64_35
113×cube-prod_binary64_106
105×exp-prod_binary64_130 associate-*l*_binary64_19
93×associate-/l*_binary64_23
86×associate-*r*_binary64_18
73×swap-sqr_binary64_45
55×pow-sqr_binary64_51
54×pow-plus_binary64_141
50×cancel-sign-sub-inv_binary64_44
44×cube-unmult_binary64_115 distribute-rgt-out_binary64_31
39×log-pow_binary64_167
30×rem-sqrt-square_binary64_91 associate-/l/_binary64_25
29×distribute-lft-out_binary64_29
28×associate-/r*_binary64_22
25×neg-sub0_binary64_73
24×neg-mul-1_binary64_74
20×associate-*r/_binary64_20
18×count-2_binary64_26
15×associate-/r/_binary64_24
12×unpow2_binary64_143 unpow1/2_binary64_142 unpow1_binary64_136
unpow3_binary64_144 rem-3cbrt-rft_binary64_104
cube-mult_binary64_108 sub-neg_binary64_71
*-rgt-identity_binary64_68
times-frac_binary64_84 associate-*l/_binary64_21
unpow1/3_binary64_145 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
rem-cbrt-cube_binary64_102 mul-1-neg_binary64_70 *-lft-identity_binary64_67 distribute-rgt1-in_binary64_34
1-exp_binary64_122 rem-3cbrt-lft_binary64_103 /-rgt-identity_binary64_69 associate-+l-_binary64_13 +-commutative_binary64_8
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-rec_binary64_166 log-div_binary64_165 pow-base-0_binary64_162 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-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-1-e_binary64_121 exp-0_binary64_120 rem-log-exp_binary64_119 rem-exp-log_binary64_118 cube-div_binary64_107 cube-neg_binary64_105 rem-cube-cbrt_binary64_101 sqr-abs_binary64_93 sqr-neg_binary64_92 rem-square-sqrt_binary64_90 div-sub_binary64_83 unsub-neg_binary64_72 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 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-lft1-in_binary64_33 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
69 → 38
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
068637
1125590
2265576
3686548
41603535
54961535

prune47.0ms (1.3%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New37138
Fresh055
Picked011
Done033
Total371047
Error
14.7b
Counts
47 → 10
Compiler

Compiled 839 to 419 computations (50.1% saved)

regimes452.0ms (12.2%)

Accuracy

Total 0.3b remaining (85.6%)

Threshold costs 0.3b (85.6%)

Compiler

Compiled 2902 to 1956 computations (32.6% saved)

bsearch23.0ms (0.6%)

Steps
ItersRangePoint
9
-1.1577033692749783e-305
1.7974908015462501e-304
-2.93892139534335e-310
Compiler

Compiled 1 to 1 computations (0% saved)

simplify5.0ms (0.1%)

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.2s (32.2%)

Algorithm
intervals
Results
195.0ms8000×body128valid
Compiler

Compiled 750 to 511 computations (31.9% saved)

Profiling

Loading profile data...