Details

Time bar (total: 4.0s)

analyze5.0ms (0.1%)

Algorithm
search
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 7 to 6 computations (14.3% saved)

sample12.0ms (0.3%)

Algorithm
intervals
Results
5.0ms256×body128valid
Compiler

Compiled 13 to 12 computations (7.7% saved)

simplify148.0ms (3.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
associate-*l*_binary64_19 associate-*r*_binary64_18
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-rgt-out_binary64_31 distribute-lft-out--_binary64_30 distribute-lft-out_binary64_29 distribute-rgt-in_binary64_28 distribute-lft-in_binary64_27 count-2_binary64_26 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 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
199
2119

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 6 to 5 computations (16.7% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 2 (*.f64 x x))
28.9b
(sqrt.f64 (*.f64 2 (*.f64 x x)))

rewrite50.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
30.0b
Rules
13×pow1_binary64_139
add-exp-log_binary64_116 add-cbrt-cube_binary64_114
pow-prod-down_binary64_149
add-sqr-sqrt_binary64_100
add-cube-cbrt_binary64_113 sqrt-pow1_binary64_96 *-un-lft-identity_binary64_78 prod-exp_binary64_127 cbrt-unprod_binary64_111 associate-*l*_binary64_19
add-log-exp_binary64_117
pow1/2_binary64_158 sqrt-prod_binary64_94 unswap-sqr_binary64_46 associate-*r*_binary64_18 *-commutative_binary64_9
Counts
2 → 31
Calls

2 calls:

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

Compiled 344 to 213 computations (38.1% saved)

series87.0ms (2.1%)

Error
0.2b
Counts
2 → 6
Calls

2 calls:

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

Compiled 96 to 91 computations (5.2% saved)

simplify173.0ms (4.3%)

Algorithm
egg-herbie
Rules
430×associate-/l*_binary64_23
310×distribute-rgt-out_binary64_31
270×associate-*l/_binary64_21
264×associate-*l*_binary64_19
222×*-commutative_binary64_9
218×associate-+l+_binary64_11
217×associate-*r/_binary64_20
191×unswap-sqr_binary64_46
157×associate-/r/_binary64_24 associate-*r*_binary64_18
151×associate-+r+_binary64_10
150×sqr-pow_binary64_50
146×log-div_binary64_165
140×cube-div_binary64_107
109×exp-prod_binary64_130
105×log-prod_binary64_164
104×associate-/r*_binary64_22
91×cube-prod_binary64_106
88×associate-/l/_binary64_25
83×pow-sqr_binary64_51
78×swap-sqr_binary64_45
77×distribute-rgt-in_binary64_28
52×distribute-lft-in_binary64_27 associate-+l-_binary64_13
48×*-lft-identity_binary64_67
47×distribute-lft-out_binary64_29
38×exp-sqrt_binary64_131
36×pow-plus_binary64_141
34×associate-+r-_binary64_12
29×cancel-sign-sub-inv_binary64_44
27×/-rgt-identity_binary64_69 associate--l+_binary64_15
21×associate--l-_binary64_16
20×distribute-rgt1-in_binary64_34
19×sub-neg_binary64_71
18×exp-lft-sqr_binary64_133 times-frac_binary64_84
17×count-2_binary64_26
16×*-rgt-identity_binary64_68 distribute-rgt-neg-in_binary64_36 distribute-lft-neg-in_binary64_35 associate--r+_binary64_14
14×log-pow_binary64_167
12×unpow3_binary64_144 exp-sum_binary64_124 distribute-neg-frac_binary64_42
10×cube-mult_binary64_108
+-commutative_binary64_8
cube-unmult_binary64_115 distribute-lft1-in_binary64_33
unsub-neg_binary64_72
neg-mul-1_binary64_74 neg-sub0_binary64_73
rem-sqrt-square_binary64_91 distribute-neg-out_binary64_40
log-rec_binary64_166 associate--r-_binary64_17
unpow1_binary64_136 prod-exp_binary64_127 +-lft-identity_binary64_62
exp-diff_binary64_126 div-sub_binary64_83 mul-1-neg_binary64_70 mul0-rgt_binary64_61 mul0-lft_binary64_60
unpow2_binary64_143 pow-base-1_binary64_138 div-exp_binary64_129 rec-exp_binary64_128 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 rem-square-sqrt_binary64_90 sub0-neg_binary64_65 --rgt-identity_binary64_64 *-inverses_binary64_58 lft-mult-inverse_binary64_56 rgt-mult-inverse_binary64_55 distribute-neg-in_binary64_39 distribute-rgt-out--_binary64_32 distribute-lft-out--_binary64_30
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 unpow1/2_binary64_142 exp-to-pow_binary64_140 unpow0_binary64_137 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 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 remove-double-neg_binary64_66 +-rgt-identity_binary64_63 div0_binary64_59 +-inverses_binary64_57 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-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
Counts
37 → 85
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047369
193318
2284318
3583318
41176318
53043318

prune77.0ms (1.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New81485
Fresh000
Picked101
Done000
Total82486
Error
0.2b
Counts
86 → 4
Compiler

Compiled 1086 to 570 computations (47.5% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite25.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_100
associate-*l*_binary64_19
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-*r*_binary64_18
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 (sqrt.f64 2) (fabs.f64 x))
Compiler

Compiled 240 to 167 computations (30.4% saved)

series51.0ms (1.3%)

Error
0.2b
Counts
1 → 3
Calls

1 calls:

49.0ms
(*.f64 (sqrt.f64 2) (fabs.f64 x))
Compiler

Compiled 45 to 41 computations (8.9% saved)

simplify371.0ms (9.2%)

Algorithm
egg-herbie
Rules
470×distribute-lft-out--_binary64_30
329×associate-/l/_binary64_25
317×log-prod_binary64_164
291×log-div_binary64_165
253×associate-/r*_binary64_22
248×distribute-rgt-out_binary64_31
220×distribute-rgt-out--_binary64_32
208×*-commutative_binary64_9
207×associate-*l*_binary64_19
206×times-frac_binary64_84
201×unswap-sqr_binary64_46
169×associate-/r/_binary64_24
137×cube-div_binary64_107
133×cancel-sign-sub-inv_binary64_44
119×exp-prod_binary64_130
112×cube-prod_binary64_106
108×sqr-pow_binary64_50 associate-*r*_binary64_18
81×swap-sqr_binary64_45
73×log-pow_binary64_167
69×pow-sqr_binary64_51
67×distribute-rgt-in_binary64_28
59×associate-/l*_binary64_23
53×distribute-rgt-neg-in_binary64_36
52×pow-plus_binary64_141 distribute-lft-in_binary64_27
41×distribute-lft-neg-in_binary64_35
38×associate-*l/_binary64_21
32×unpow3_binary64_144
31×log-rec_binary64_166
28×exp-to-pow_binary64_140 *-lft-identity_binary64_67
27×*-rgt-identity_binary64_68
23×distribute-neg-frac_binary64_42 distribute-rgt1-in_binary64_34
20×associate--l+_binary64_15
16×exp-sqrt_binary64_131 /-rgt-identity_binary64_69
15×associate-*r/_binary64_20 associate--r+_binary64_14 associate-+l+_binary64_11
14×sub-neg_binary64_71
13×exp-lft-sqr_binary64_133
11×associate-+r+_binary64_10
cube-unmult_binary64_115 cube-mult_binary64_108 neg-mul-1_binary64_74 remove-double-div_binary64_54 distribute-neg-in_binary64_39 distribute-lft1-in_binary64_33 associate--r-_binary64_17 associate--l-_binary64_16
+-commutative_binary64_8
exp-sum_binary64_124 associate-+r-_binary64_12
prod-exp_binary64_127 associate-+l-_binary64_13
pow-base-1_binary64_138 neg-sub0_binary64_73 +-inverses_binary64_57
div-sub_binary64_83 difference-of-squares_binary64_47 distribute-lft-out_binary64_29 count-2_binary64_26
exp-diff_binary64_126 rem-log-exp_binary64_119 rem-sqrt-square_binary64_91
log-E_binary64_168 div-exp_binary64_129 rec-exp_binary64_128 1-exp_binary64_122 exp-1-e_binary64_121 sqr-abs_binary64_93 rem-square-sqrt_binary64_90 sub0-neg_binary64_65 div0_binary64_59 *-inverses_binary64_58 rgt-mult-inverse_binary64_55 distribute-neg-out_binary64_40
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 pow-base-0_binary64_162 unpow1/3_binary64_145 unpow2_binary64_143 unpow1/2_binary64_142 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-lft-cube_binary64_134 exp-cbrt_binary64_132 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 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-neg_binary64_92 unsub-neg_binary64_72 mul-1-neg_binary64_70 remove-double-neg_binary64_66 --rgt-identity_binary64_64 +-rgt-identity_binary64_63 +-lft-identity_binary64_62 mul0-rgt_binary64_61 mul0-lft_binary64_60 lft-mult-inverse_binary64_56 difference-of-sqr--1_binary64_49 difference-of-sqr-1_binary64_48 cancel-sign-sub_binary64_43 distribute-frac-neg_binary64_41 distribute-rgt-neg-out_binary64_38 distribute-lft-neg-out_binary64_37
Counts
25 → 12
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
036282
167270
2178270
3310270
4489270
5790270
61726270
74557270

prune18.0ms (0.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh213
Picked011
Done000
Total10616
Error
0.0b
Counts
16 → 6
Compiler

Compiled 176 to 134 computations (23.9% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2))))

rewrite92.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×pow1_binary64_139 add-exp-log_binary64_116
12×add-sqr-sqrt_binary64_100
10×associate-*r*_binary64_18
pow-prod-down_binary64_149 prod-exp_binary64_127 add-cbrt-cube_binary64_114 cbrt-unprod_binary64_111
cbrt-prod_binary64_109
add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
associate-*l*_binary64_19 sqrt-prod_binary64_94
unswap-sqr_binary64_46
add-log-exp_binary64_117 *-commutative_binary64_9
Counts
2 → 48
Calls

2 calls:

11.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2))))
6.0ms
(*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2)))
Compiler

Compiled 1021 to 860 computations (15.8% saved)

series184.0ms (4.6%)

Error
0.0b
Counts
2 → 6
Calls

2 calls:

132.0ms
(*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2)))
48.0ms
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (fabs.f64 x) (cbrt.f64 (sqrt.f64 2))))
Compiler

Compiled 180 to 170 computations (5.6% saved)

simplify356.0ms (8.8%)

Algorithm
egg-herbie
Rules
529×distribute-rgt-in_binary64_28
511×associate-/r*_binary64_22
488×distribute-lft-in_binary64_27
444×unswap-sqr_binary64_46
251×associate-/l*_binary64_23
206×*-commutative_binary64_9
176×sqr-pow_binary64_50
148×associate-/l/_binary64_25
121×associate-*l*_binary64_19
105×associate-*r*_binary64_18
95×pow-sqr_binary64_51
88×log-prod_binary64_164
87×distribute-rgt-out_binary64_31
86×exp-prod_binary64_130
85×associate-*r/_binary64_20
80×distribute-lft-out_binary64_29
73×associate-+l+_binary64_11
61×cube-prod_binary64_106
60×associate-*l/_binary64_21
54×times-frac_binary64_84
53×associate-+r+_binary64_10
43×swap-sqr_binary64_45
31×rem-sqrt-square_binary64_91
30×*-rgt-identity_binary64_68
29×pow-plus_binary64_141
27×*-lft-identity_binary64_67
18×log-pow_binary64_167
17×/-rgt-identity_binary64_69 distribute-rgt1-in_binary64_34
14×cube-unmult_binary64_115
log-div_binary64_165 unpow3_binary64_144 count-2_binary64_26 +-commutative_binary64_8
cube-div_binary64_107
distribute-lft1-in_binary64_33 associate-/r/_binary64_24
cube-mult_binary64_108
*-inverses_binary64_58
+-rgt-identity_binary64_63 +-lft-identity_binary64_62
rem-cbrt-cube_binary64_102 rgt-mult-inverse_binary64_55
log-rec_binary64_166 unpow1/3_binary64_145 pow-base-1_binary64_138 prod-exp_binary64_127 1-exp_binary64_122 exp-1-e_binary64_121 rem-log-exp_binary64_119 rem-3cbrt-rft_binary64_104 rem-3cbrt-lft_binary64_103 sqr-abs_binary64_93 rem-square-sqrt_binary64_90 lft-mult-inverse_binary64_56
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 unpow2_binary64_143 unpow1/2_binary64_142 exp-to-pow_binary64_140 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 exp-diff_binary64_126 exp-neg_binary64_125 exp-sum_binary64_124 e-exp-1_binary64_123 exp-0_binary64_120 rem-exp-log_binary64_118 cube-neg_binary64_105 rem-cube-cbrt_binary64_101 sqr-neg_binary64_92 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 remove-double-neg_binary64_66 sub0-neg_binary64_65 --rgt-identity_binary64_64 mul0-rgt_binary64_61 mul0-lft_binary64_60 div0_binary64_59 +-inverses_binary64_57 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-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 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
54 → 67
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0771158
1157640
2496622
3992622
43290612

prune102.0ms (2.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New66167
Fresh134
Picked011
Done011
Total67673
Error
0.0b
Counts
73 → 6
Compiler

Compiled 1359 to 1144 computations (15.8% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2))))

rewrite82.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
21×sqrt-prod_binary64_94
15×add-sqr-sqrt_binary64_100
12×associate-*l*_binary64_19
10×associate-*r*_binary64_18
pow1_binary64_139 add-exp-log_binary64_116 add-cbrt-cube_binary64_114 add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
pow-prod-down_binary64_149 prod-exp_binary64_127 cbrt-unprod_binary64_111
unswap-sqr_binary64_46
add-log-exp_binary64_117 *-commutative_binary64_9
Counts
2 → 50
Calls

2 calls:

10.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2))))
7.0ms
(*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2)))
Compiler

Compiled 858 to 704 computations (17.9% saved)

series112.0ms (2.8%)

Error
0.0b
Counts
2 → 6
Calls

2 calls:

62.0ms
(*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2)))
46.0ms
(*.f64 (sqrt.f64 (sqrt.f64 2)) (*.f64 (fabs.f64 x) (sqrt.f64 (sqrt.f64 2))))
Compiler

Compiled 135 to 125 computations (7.4% saved)

simplify203.0ms (5%)

Algorithm
egg-herbie
Rules
347×associate-/r/_binary64_24
316×log-prod_binary64_164
314×unswap-sqr_binary64_46
311×associate-*l*_binary64_19
296×cube-prod_binary64_106
230×distribute-rgt-out_binary64_31
216×sqr-pow_binary64_50
213×exp-prod_binary64_130
207×times-frac_binary64_84
200×associate-*r*_binary64_18
165×swap-sqr_binary64_45
145×*-commutative_binary64_9
135×pow-sqr_binary64_51
134×distribute-lft-out_binary64_29
111×log-div_binary64_165
107×cube-div_binary64_107
95×associate-/r*_binary64_22
93×*-rgt-identity_binary64_68
91×*-lft-identity_binary64_67 distribute-lft-out--_binary64_30
74×associate-/l*_binary64_23
73×distribute-rgt-out--_binary64_32
32×distribute-rgt-in_binary64_28
31×unpow3_binary64_144
28×cube-mult_binary64_108
27×pow-plus_binary64_141
26×log-pow_binary64_167
23×distribute-rgt1-in_binary64_34 associate-/l/_binary64_25
22×associate-*l/_binary64_21
20×cancel-sign-sub-inv_binary64_44
17×exp-lft-sqr_binary64_133
15×exp-to-pow_binary64_140 rem-sqrt-square_binary64_91 sub-neg_binary64_71
14×distribute-rgt-neg-in_binary64_36
13×associate-*r/_binary64_20
11×log-rec_binary64_166
10×distribute-lft1-in_binary64_33
exp-sqrt_binary64_131 cube-unmult_binary64_115 /-rgt-identity_binary64_69 distribute-lft-neg-in_binary64_35
exp-sum_binary64_124 remove-double-div_binary64_54 associate-+l+_binary64_11
associate-+r+_binary64_10
pow-base-1_binary64_138 prod-exp_binary64_127 +-commutative_binary64_8
div-sub_binary64_83 count-2_binary64_26
rem-log-exp_binary64_119 rem-square-sqrt_binary64_90 neg-mul-1_binary64_74 mul0-lft_binary64_60 *-inverses_binary64_58 rgt-mult-inverse_binary64_55
exp-lft-cube_binary64_134 exp-diff_binary64_126 1-exp_binary64_122 exp-1-e_binary64_121 sqr-abs_binary64_93 unsub-neg_binary64_72 div0_binary64_59 lft-mult-inverse_binary64_56
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 unpow2_binary64_143 unpow1/2_binary64_142 unpow0_binary64_137 unpow1_binary64_136 unpow-1_binary64_135 exp-cbrt_binary64_132 div-exp_binary64_129 rec-exp_binary64_128 exp-neg_binary64_125 e-exp-1_binary64_123 exp-0_binary64_120 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-neg_binary64_92 neg-sub0_binary64_73 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 +-inverses_binary64_57 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-neg-out_binary64_38 distribute-lft-neg-out_binary64_37 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
56 → 63
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068860
1133697
2360697
3691697
4861697
51559697
62526697

prune71.0ms (1.8%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New62163
Fresh213
Picked011
Done022
Total64569
Error
0.0b
Counts
69 → 5
Compiler

Compiled 971 to 769 computations (20.8% saved)

regimes420.0ms (10.4%)

Accuracy

Total 0.4b remaining (99.7%)

Threshold costs 0.4b (99.7%)

Compiler

Compiled 3786 to 3153 computations (16.7% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_9
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 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 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 +-commutative_binary64_8
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
11421
Proof
(* f64 (cbrt f64 (sqrt f64 2)) (* f64 (fabs f64 h0) (pow f64 (sqrt f64 2) (* f64 2 1/3))))

end0.0ms (0%)

sample1.4s (34%)

Algorithm
intervals
Results
182.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 869 to 738 computations (15.1% saved)

Profiling

Loading profile data...