Details

Time bar (total: 1.9s)

analyze204.0ms (10.5%)

Algorithm
search
egg-herbie
Rules
26×sub-neg_binary64_5186
24×cancel-sign-sub-inv_binary64_5159
16×associate--r+_binary64_5129
12×distribute-rgt-neg-in_binary64_5151 distribute-rgt-in_binary64_5143 associate-+l-_binary64_5128
10×+-commutative_binary64_5123
neg-mul-1_binary64_5189 neg-sub0_binary64_5188 unsub-neg_binary64_5187
distribute-rgt-neg-out_binary64_5153 distribute-lft-neg-out_binary64_5152 distribute-lft-neg-in_binary64_5150 distribute-lft-in_binary64_5142 associate-*r*_binary64_5133 *-commutative_binary64_5124
sub0-neg_binary64_5180 mul0-rgt_binary64_5176 mul0-lft_binary64_5175 swap-sqr_binary64_5160 associate-*l*_binary64_5134 associate--r-_binary64_5132 associate--l+_binary64_5130 associate-+r+_binary64_5125
sqr-neg_binary64_5207 *-lft-identity_binary64_5182 remove-double-neg_binary64_5181 +-rgt-identity_binary64_5178 +-lft-identity_binary64_5177 distribute-neg-in_binary64_5154 distribute-rgt-out--_binary64_5147 associate-+r-_binary64_5127 associate-+l+_binary64_5126
1-exp_binary64_5237
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_5456 erf-erfc_binary64_5455 erf-odd_binary64_5454 if-if-and-not_binary64_5453 if-if-and_binary64_5452 if-if-or-not_binary64_5451 if-if-or_binary64_5450 if-not_binary64_5449 if-same_binary64_5448 if-false_binary64_5447 if-true_binary64_5446 not-gte_binary64_5445 not-lte_binary64_5444 not-gt_binary64_5443 not-lt_binary64_5442 gte-same_binary64_5441 lte-same_binary64_5440 gt-same_binary64_5439 lt-same_binary64_5438 sinh---cosh_binary64_5385 sinh-+-cosh_binary64_5384 sinh-cosh_binary64_5383 tanh-def-c_binary64_5382 tanh-def-b_binary64_5381 tanh-def-a_binary64_5380 cosh-def_binary64_5379 sinh-def_binary64_5378 tan-neg_binary64_5325 cos-neg_binary64_5324 sin-neg_binary64_5323 tan-0_binary64_5322 cos-0_binary64_5321 sin-0_binary64_5320 hang-m-tan_binary64_5319 hang-p-tan_binary64_5318 hang-m0-tan_binary64_5317 hang-p0-tan_binary64_5316 hang-0m-tan_binary64_5315 hang-0p-tan_binary64_5314 tan-+PI/2_binary64_5313 tan-+PI_binary64_5312 tan-PI_binary64_5311 tan-PI/3_binary64_5310 tan-PI/4_binary64_5309 tan-PI/6_binary64_5308 cos-+PI/2_binary64_5307 cos-+PI_binary64_5306 cos-PI_binary64_5305 cos-PI/2_binary64_5304 cos-PI/3_binary64_5303 cos-PI/4_binary64_5302 cos-PI/6_binary64_5301 sin-+PI/2_binary64_5300 sin-+PI_binary64_5299 sin-PI_binary64_5298 sin-PI/2_binary64_5297 sin-PI/3_binary64_5296 sin-PI/4_binary64_5295 sin-PI/6_binary64_5294 sub-1-sin_binary64_5293 sub-1-cos_binary64_5292 -1-add-sin_binary64_5291 -1-add-cos_binary64_5290 1-sub-sin_binary64_5289 1-sub-cos_binary64_5288 cos-sin-sum_binary64_5287 log-E_binary64_5283 log-pow_binary64_5282 log-rec_binary64_5281 log-div_binary64_5280 log-prod_binary64_5279 pow-base-0_binary64_5277 unpow1/3_binary64_5260 unpow3_binary64_5259 unpow2_binary64_5258 unpow1/2_binary64_5257 pow-plus_binary64_5256 exp-to-pow_binary64_5255 pow-base-1_binary64_5253 unpow0_binary64_5252 unpow1_binary64_5251 unpow-1_binary64_5250 exp-lft-cube_binary64_5249 exp-lft-sqr_binary64_5248 exp-cbrt_binary64_5247 exp-sqrt_binary64_5246 exp-prod_binary64_5245 div-exp_binary64_5244 rec-exp_binary64_5243 prod-exp_binary64_5242 exp-diff_binary64_5241 exp-neg_binary64_5240 exp-sum_binary64_5239 e-exp-1_binary64_5238 exp-1-e_binary64_5236 exp-0_binary64_5235 rem-log-exp_binary64_5234 rem-exp-log_binary64_5233 cube-unmult_binary64_5230 cube-mult_binary64_5223 cube-div_binary64_5222 cube-prod_binary64_5221 cube-neg_binary64_5220 rem-3cbrt-rft_binary64_5219 rem-3cbrt-lft_binary64_5218 rem-cbrt-cube_binary64_5217 rem-cube-cbrt_binary64_5216 sqr-abs_binary64_5208 rem-sqrt-square_binary64_5206 rem-square-sqrt_binary64_5205 times-frac_binary64_5199 div-sub_binary64_5198 mul-1-neg_binary64_5185 /-rgt-identity_binary64_5184 *-rgt-identity_binary64_5183 --rgt-identity_binary64_5179 div0_binary64_5174 *-inverses_binary64_5173 +-inverses_binary64_5172 lft-mult-inverse_binary64_5171 rgt-mult-inverse_binary64_5170 remove-double-div_binary64_5169 pow-sqr_binary64_5166 sqr-pow_binary64_5165 difference-of-sqr--1_binary64_5164 difference-of-sqr-1_binary64_5163 difference-of-squares_binary64_5162 unswap-sqr_binary64_5161 cancel-sign-sub_binary64_5158 distribute-neg-frac_binary64_5157 distribute-frac-neg_binary64_5156 distribute-neg-out_binary64_5155 distribute-rgt1-in_binary64_5149 distribute-lft1-in_binary64_5148 distribute-rgt-out_binary64_5146 distribute-lft-out--_binary64_5145 distribute-lft-out_binary64_5144 count-2_binary64_5141 associate-/l/_binary64_5140 associate-/r/_binary64_5139 associate-/l*_binary64_5138 associate-/r*_binary64_5137 associate-*l/_binary64_5136 associate-*r/_binary64_5135 associate--l-_binary64_5131
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
11714
22914
34514
46414
510914
611714
716714
815914
916114
1013814
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
37.5%62.4%0.1%5
43.7%56.2%0.1%6
43.7%34.3%22%7
46.8%29.7%23.5%8
58.5%17.2%24.3%9
60.5%14.8%24.7%10
66.5%8.6%24.9%11
67.6%7.4%25%12
70.7%4.3%25%13
71.2%3.7%25%14
Compiler

Compiled 6 to 5 computations (16.7% saved)

sample13.0ms (0.7%)

Algorithm
intervals
Results
4.0ms256×body128valid
Compiler

Compiled 11 to 11 computations (0% saved)

simplify12.0ms (0.6%)

Algorithm
egg-herbie
Rules
21×cancel-sign-sub-inv_binary64_5159
18×sub-neg_binary64_5186
11×neg-mul-1_binary64_5189
10×distribute-rgt-in_binary64_5143
unsub-neg_binary64_5187 distribute-rgt-neg-in_binary64_5151 associate--r+_binary64_5129
neg-sub0_binary64_5188
distribute-lft-neg-out_binary64_5152
+-commutative_binary64_5123
sub0-neg_binary64_5180 distribute-lft-in_binary64_5142 associate-+l-_binary64_5128
*-lft-identity_binary64_5182 +-lft-identity_binary64_5177 distribute-rgt-neg-out_binary64_5153 *-commutative_binary64_5124
distribute-neg-in_binary64_5154 distribute-lft-neg-in_binary64_5150 associate-+l+_binary64_5126
*-rgt-identity_binary64_5183 remove-double-neg_binary64_5181 --rgt-identity_binary64_5179 mul0-rgt_binary64_5176 mul0-lft_binary64_5175 associate--r-_binary64_5132
1-exp_binary64_5237 sqr-neg_binary64_5207 +-rgt-identity_binary64_5178 cancel-sign-sub_binary64_5158 associate-*r*_binary64_5133 associate--l+_binary64_5130 associate-+r-_binary64_5127 associate-+r+_binary64_5125
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_5456 erf-erfc_binary64_5455 erf-odd_binary64_5454 if-if-and-not_binary64_5453 if-if-and_binary64_5452 if-if-or-not_binary64_5451 if-if-or_binary64_5450 if-not_binary64_5449 if-same_binary64_5448 if-false_binary64_5447 if-true_binary64_5446 not-gte_binary64_5445 not-lte_binary64_5444 not-gt_binary64_5443 not-lt_binary64_5442 gte-same_binary64_5441 lte-same_binary64_5440 gt-same_binary64_5439 lt-same_binary64_5438 sinh---cosh_binary64_5385 sinh-+-cosh_binary64_5384 sinh-cosh_binary64_5383 tanh-def-c_binary64_5382 tanh-def-b_binary64_5381 tanh-def-a_binary64_5380 cosh-def_binary64_5379 sinh-def_binary64_5378 tan-neg_binary64_5325 cos-neg_binary64_5324 sin-neg_binary64_5323 tan-0_binary64_5322 cos-0_binary64_5321 sin-0_binary64_5320 hang-m-tan_binary64_5319 hang-p-tan_binary64_5318 hang-m0-tan_binary64_5317 hang-p0-tan_binary64_5316 hang-0m-tan_binary64_5315 hang-0p-tan_binary64_5314 tan-+PI/2_binary64_5313 tan-+PI_binary64_5312 tan-PI_binary64_5311 tan-PI/3_binary64_5310 tan-PI/4_binary64_5309 tan-PI/6_binary64_5308 cos-+PI/2_binary64_5307 cos-+PI_binary64_5306 cos-PI_binary64_5305 cos-PI/2_binary64_5304 cos-PI/3_binary64_5303 cos-PI/4_binary64_5302 cos-PI/6_binary64_5301 sin-+PI/2_binary64_5300 sin-+PI_binary64_5299 sin-PI_binary64_5298 sin-PI/2_binary64_5297 sin-PI/3_binary64_5296 sin-PI/4_binary64_5295 sin-PI/6_binary64_5294 sub-1-sin_binary64_5293 sub-1-cos_binary64_5292 -1-add-sin_binary64_5291 -1-add-cos_binary64_5290 1-sub-sin_binary64_5289 1-sub-cos_binary64_5288 cos-sin-sum_binary64_5287 log-E_binary64_5283 log-pow_binary64_5282 log-rec_binary64_5281 log-div_binary64_5280 log-prod_binary64_5279 pow-base-0_binary64_5277 unpow1/3_binary64_5260 unpow3_binary64_5259 unpow2_binary64_5258 unpow1/2_binary64_5257 pow-plus_binary64_5256 exp-to-pow_binary64_5255 pow-base-1_binary64_5253 unpow0_binary64_5252 unpow1_binary64_5251 unpow-1_binary64_5250 exp-lft-cube_binary64_5249 exp-lft-sqr_binary64_5248 exp-cbrt_binary64_5247 exp-sqrt_binary64_5246 exp-prod_binary64_5245 div-exp_binary64_5244 rec-exp_binary64_5243 prod-exp_binary64_5242 exp-diff_binary64_5241 exp-neg_binary64_5240 exp-sum_binary64_5239 e-exp-1_binary64_5238 exp-1-e_binary64_5236 exp-0_binary64_5235 rem-log-exp_binary64_5234 rem-exp-log_binary64_5233 cube-unmult_binary64_5230 cube-mult_binary64_5223 cube-div_binary64_5222 cube-prod_binary64_5221 cube-neg_binary64_5220 rem-3cbrt-rft_binary64_5219 rem-3cbrt-lft_binary64_5218 rem-cbrt-cube_binary64_5217 rem-cube-cbrt_binary64_5216 sqr-abs_binary64_5208 rem-sqrt-square_binary64_5206 rem-square-sqrt_binary64_5205 times-frac_binary64_5199 div-sub_binary64_5198 mul-1-neg_binary64_5185 /-rgt-identity_binary64_5184 div0_binary64_5174 *-inverses_binary64_5173 +-inverses_binary64_5172 lft-mult-inverse_binary64_5171 rgt-mult-inverse_binary64_5170 remove-double-div_binary64_5169 pow-sqr_binary64_5166 sqr-pow_binary64_5165 difference-of-sqr--1_binary64_5164 difference-of-sqr-1_binary64_5163 difference-of-squares_binary64_5162 unswap-sqr_binary64_5161 swap-sqr_binary64_5160 distribute-neg-frac_binary64_5157 distribute-frac-neg_binary64_5156 distribute-neg-out_binary64_5155 distribute-rgt1-in_binary64_5149 distribute-lft1-in_binary64_5148 distribute-rgt-out--_binary64_5147 distribute-rgt-out_binary64_5146 distribute-lft-out--_binary64_5145 distribute-lft-out_binary64_5144 count-2_binary64_5141 associate-/l/_binary64_5140 associate-/r/_binary64_5139 associate-/l*_binary64_5138 associate-/r*_binary64_5137 associate-*l/_binary64_5136 associate-*r/_binary64_5135 associate-*l*_binary64_5134 associate--l-_binary64_5131
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1107
2177
3257
4367
5517
6747
7937
81117
91137
101097
11907

prune1.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 5 to 4 computations (20% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(-.f64 x (*.f64 y y))

rewrite16.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-log-exp_binary64_5232
add-sqr-sqrt_binary64_5215
diff-log_binary64_5285 pow1_binary64_5254 add-exp-log_binary64_5231 add-cbrt-cube_binary64_5229 add-cube-cbrt_binary64_5228 flip3--_binary64_5197 *-un-lft-identity_binary64_5193 sub-neg_binary64_5186 flip--_binary64_5168 difference-of-squares_binary64_5162 cancel-sign-sub-inv_binary64_5159
Counts
1 → 13
Calls

1 calls:

3.0ms
(-.f64 x (*.f64 y y))
Compiler

Compiled 152 to 47 computations (69.1% saved)

series104.0ms (5.3%)

Error
0.0b
Counts
1 → 12
Calls

1 calls:

98.0ms
(-.f64 x (*.f64 y y))
Compiler

Compiled 126 to 116 computations (7.9% saved)

simplify65.0ms (3.3%)

Algorithm
egg-herbie
Rules
843×unsub-neg_binary64_5187
485×unswap-sqr_binary64_5161
436×associate-*l*_binary64_5134
310×associate-*r*_binary64_5133
271×neg-sub0_binary64_5188
246×neg-mul-1_binary64_5189
212×cancel-sign-sub-inv_binary64_5159
182×associate-+l+_binary64_5126
159×distribute-rgt-in_binary64_5143
156×distribute-rgt-neg-in_binary64_5151
151×distribute-rgt-neg-out_binary64_5153
148×distribute-lft-neg-in_binary64_5150
140×distribute-lft-neg-out_binary64_5152
132×distribute-rgt-out_binary64_5146
128×distribute-lft-in_binary64_5142
119×exp-prod_binary64_5245
84×times-frac_binary64_5199
71×+-commutative_binary64_5123
68×cube-prod_binary64_5221 distribute-lft-out_binary64_5144
58×*-commutative_binary64_5124
54×sqr-pow_binary64_5165
47×distribute-neg-in_binary64_5154
46×sub-neg_binary64_5186
38×associate-+l-_binary64_5128
35×distribute-neg-out_binary64_5155
34×associate-/l*_binary64_5138
31×exp-sum_binary64_5239
28×associate-+r+_binary64_5125
25×pow-plus_binary64_5256
24×cube-unmult_binary64_5230 swap-sqr_binary64_5160
23×difference-of-squares_binary64_5162
22×associate--r+_binary64_5129
21×unpow3_binary64_5259 mul0-rgt_binary64_5176 mul0-lft_binary64_5175 associate-/r*_binary64_5137
20×exp-diff_binary64_5241
17×associate-+r-_binary64_5127
15×sqr-neg_binary64_5207
14×pow-sqr_binary64_5166
13×div-sub_binary64_5198 distribute-rgt-out--_binary64_5147 associate-/l/_binary64_5140
10×associate-*r/_binary64_5135
cube-mult_binary64_5223 sub0-neg_binary64_5180
mul-1-neg_binary64_5185
+-rgt-identity_binary64_5178 associate--l+_binary64_5130
exp-neg_binary64_5240 associate-/r/_binary64_5139 associate-*l/_binary64_5136
cube-neg_binary64_5220
--rgt-identity_binary64_5179 +-lft-identity_binary64_5177
log-prod_binary64_5279 unpow2_binary64_5258 unpow1/2_binary64_5257 unpow1_binary64_5251 div-exp_binary64_5244 1-exp_binary64_5237 rem-sqrt-square_binary64_5206 remove-double-neg_binary64_5181 cancel-sign-sub_binary64_5158 distribute-frac-neg_binary64_5156 distribute-lft-out--_binary64_5145 associate--r-_binary64_5132 associate--l-_binary64_5131
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_5456 erf-erfc_binary64_5455 erf-odd_binary64_5454 if-if-and-not_binary64_5453 if-if-and_binary64_5452 if-if-or-not_binary64_5451 if-if-or_binary64_5450 if-not_binary64_5449 if-same_binary64_5448 if-false_binary64_5447 if-true_binary64_5446 not-gte_binary64_5445 not-lte_binary64_5444 not-gt_binary64_5443 not-lt_binary64_5442 gte-same_binary64_5441 lte-same_binary64_5440 gt-same_binary64_5439 lt-same_binary64_5438 sinh---cosh_binary64_5385 sinh-+-cosh_binary64_5384 sinh-cosh_binary64_5383 tanh-def-c_binary64_5382 tanh-def-b_binary64_5381 tanh-def-a_binary64_5380 cosh-def_binary64_5379 sinh-def_binary64_5378 tan-neg_binary64_5325 cos-neg_binary64_5324 sin-neg_binary64_5323 tan-0_binary64_5322 cos-0_binary64_5321 sin-0_binary64_5320 hang-m-tan_binary64_5319 hang-p-tan_binary64_5318 hang-m0-tan_binary64_5317 hang-p0-tan_binary64_5316 hang-0m-tan_binary64_5315 hang-0p-tan_binary64_5314 tan-+PI/2_binary64_5313 tan-+PI_binary64_5312 tan-PI_binary64_5311 tan-PI/3_binary64_5310 tan-PI/4_binary64_5309 tan-PI/6_binary64_5308 cos-+PI/2_binary64_5307 cos-+PI_binary64_5306 cos-PI_binary64_5305 cos-PI/2_binary64_5304 cos-PI/3_binary64_5303 cos-PI/4_binary64_5302 cos-PI/6_binary64_5301 sin-+PI/2_binary64_5300 sin-+PI_binary64_5299 sin-PI_binary64_5298 sin-PI/2_binary64_5297 sin-PI/3_binary64_5296 sin-PI/4_binary64_5295 sin-PI/6_binary64_5294 sub-1-sin_binary64_5293 sub-1-cos_binary64_5292 -1-add-sin_binary64_5291 -1-add-cos_binary64_5290 1-sub-sin_binary64_5289 1-sub-cos_binary64_5288 cos-sin-sum_binary64_5287 log-E_binary64_5283 log-pow_binary64_5282 log-rec_binary64_5281 log-div_binary64_5280 pow-base-0_binary64_5277 unpow1/3_binary64_5260 exp-to-pow_binary64_5255 pow-base-1_binary64_5253 unpow0_binary64_5252 unpow-1_binary64_5250 exp-lft-cube_binary64_5249 exp-lft-sqr_binary64_5248 exp-cbrt_binary64_5247 exp-sqrt_binary64_5246 rec-exp_binary64_5243 prod-exp_binary64_5242 e-exp-1_binary64_5238 exp-1-e_binary64_5236 exp-0_binary64_5235 rem-log-exp_binary64_5234 rem-exp-log_binary64_5233 cube-div_binary64_5222 rem-3cbrt-rft_binary64_5219 rem-3cbrt-lft_binary64_5218 rem-cbrt-cube_binary64_5217 rem-cube-cbrt_binary64_5216 sqr-abs_binary64_5208 rem-square-sqrt_binary64_5205 /-rgt-identity_binary64_5184 *-rgt-identity_binary64_5183 *-lft-identity_binary64_5182 div0_binary64_5174 *-inverses_binary64_5173 +-inverses_binary64_5172 lft-mult-inverse_binary64_5171 rgt-mult-inverse_binary64_5170 remove-double-div_binary64_5169 difference-of-sqr--1_binary64_5164 difference-of-sqr-1_binary64_5163 distribute-neg-frac_binary64_5157 distribute-rgt1-in_binary64_5149 distribute-lft1-in_binary64_5148 count-2_binary64_5141
Counts
25 → 15
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037241
184217
2192214
3509214
41686214
54009214
65263214

prune11.0ms (0.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New14115
Fresh000
Picked011
Done000
Total14216
Error
0b
Counts
16 → 2
Compiler

Compiled 117 to 40 computations (65.8% saved)

localize8.0ms (0.4%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 y y) x)
2.5b
(-.f64 (*.f64 x x) (pow.f64 y 4))
28.9b
(/.f64 (-.f64 (*.f64 x x) (pow.f64 y 4)) (+.f64 (*.f64 y y) x))

rewrite297.0ms (15.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
26×add-sqr-sqrt_binary64_5215
18×times-frac_binary64_5199
16×add-cube-cbrt_binary64_5228 *-un-lft-identity_binary64_5193
15×difference-of-squares_binary64_5162
unpow-prod-down_binary64_5272
add-log-exp_binary64_5232 cancel-sign-sub-inv_binary64_5159
sqr-pow_binary64_5165 associate-/l*_binary64_5138
add-exp-log_binary64_5231 add-cbrt-cube_binary64_5229
pow1_binary64_5254 associate-/r*_binary64_5137
flip3--_binary64_5197 associate-/l/_binary64_5140 flip--_binary64_5168 flip3-+_binary64_5196 associate-/r/_binary64_5139 flip-+_binary64_5167
div-exp_binary64_5244 cbrt-undiv_binary64_5227 frac-2neg_binary64_5204 div-sub_binary64_5198 clear-num_binary64_5192 div-inv_binary64_5190 diff-log_binary64_5285 sub-neg_binary64_5186 sum-log_binary64_5284 +-commutative_binary64_5123
Counts
3 → 76
Calls

3 calls:

12.0ms
(/.f64 (-.f64 (*.f64 x x) (pow.f64 y 4)) (+.f64 (*.f64 y y) x))
6.0ms
(-.f64 (*.f64 x x) (pow.f64 y 4))
4.0ms
(+.f64 (*.f64 y y) x)
Compiler

Compiled 1829 to 727 computations (60.3% saved)

series561.0ms (28.8%)

Error
0b
Counts
3 → 36
Calls

3 calls:

258.0ms
(/.f64 (-.f64 (*.f64 x x) (pow.f64 y 4)) (+.f64 (*.f64 y y) x))
190.0ms
(-.f64 (*.f64 x x) (pow.f64 y 4))
93.0ms
(+.f64 (*.f64 y y) x)
Compiler

Compiled 834 to 587 computations (29.6% saved)

simplify104.0ms (5.4%)

Algorithm
egg-herbie
Rules
576×associate-*l*_binary64_5134
450×associate-*r*_binary64_5133
437×div-sub_binary64_5198
245×associate-/l*_binary64_5138
170×distribute-rgt-in_binary64_5143
156×distribute-lft-in_binary64_5142
154×exp-prod_binary64_5245
153×associate-*l/_binary64_5136
135×*-commutative_binary64_5124
114×associate-/r*_binary64_5137
110×associate-/l/_binary64_5140
105×times-frac_binary64_5199
93×cancel-sign-sub-inv_binary64_5159
89×associate-*r/_binary64_5135
81×associate-/r/_binary64_5139
80×cube-prod_binary64_5221 unswap-sqr_binary64_5161
68×distribute-rgt-neg-in_binary64_5151
58×sub-neg_binary64_5186
54×distribute-lft-neg-in_binary64_5150
49×distribute-neg-frac_binary64_5157
47×+-commutative_binary64_5123
44×sqr-pow_binary64_5165
41×neg-mul-1_binary64_5189
38×neg-sub0_binary64_5188
34×exp-sum_binary64_5239
33×associate-+l+_binary64_5126
32×associate-+r+_binary64_5125
29×cube-div_binary64_5222
26×pow-plus_binary64_5256
22×distribute-lft-neg-out_binary64_5152
20×cube-unmult_binary64_5230 distribute-rgt-out_binary64_5146
16×unpow3_binary64_5259
15×exp-diff_binary64_5241 difference-of-squares_binary64_5162 associate-+r-_binary64_5127
14×associate-+l-_binary64_5128
13×log-prod_binary64_5279 *-rgt-identity_binary64_5183
11×distribute-rgt-neg-out_binary64_5153
10×cube-mult_binary64_5223
/-rgt-identity_binary64_5184 pow-sqr_binary64_5166 distribute-rgt-out--_binary64_5147
rem-sqrt-square_binary64_5206 swap-sqr_binary64_5160
log-div_binary64_5280
unpow2_binary64_5258 unpow1/2_binary64_5257 unpow1_binary64_5251 distribute-lft-out_binary64_5144
distribute-frac-neg_binary64_5156 distribute-neg-in_binary64_5154 associate--r-_binary64_5132
associate--l-_binary64_5131 associate--r+_binary64_5129
rem-square-sqrt_binary64_5205 unsub-neg_binary64_5187 +-rgt-identity_binary64_5178
div-exp_binary64_5244 prod-exp_binary64_5242 1-exp_binary64_5237 cube-neg_binary64_5220 rem-3cbrt-rft_binary64_5219 rem-3cbrt-lft_binary64_5218 sqr-neg_binary64_5207 mul-1-neg_binary64_5185 *-lft-identity_binary64_5182 remove-double-neg_binary64_5181 sub0-neg_binary64_5180 associate--l+_binary64_5130
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_5456 erf-erfc_binary64_5455 erf-odd_binary64_5454 if-if-and-not_binary64_5453 if-if-and_binary64_5452 if-if-or-not_binary64_5451 if-if-or_binary64_5450 if-not_binary64_5449 if-same_binary64_5448 if-false_binary64_5447 if-true_binary64_5446 not-gte_binary64_5445 not-lte_binary64_5444 not-gt_binary64_5443 not-lt_binary64_5442 gte-same_binary64_5441 lte-same_binary64_5440 gt-same_binary64_5439 lt-same_binary64_5438 sinh---cosh_binary64_5385 sinh-+-cosh_binary64_5384 sinh-cosh_binary64_5383 tanh-def-c_binary64_5382 tanh-def-b_binary64_5381 tanh-def-a_binary64_5380 cosh-def_binary64_5379 sinh-def_binary64_5378 tan-neg_binary64_5325 cos-neg_binary64_5324 sin-neg_binary64_5323 tan-0_binary64_5322 cos-0_binary64_5321 sin-0_binary64_5320 hang-m-tan_binary64_5319 hang-p-tan_binary64_5318 hang-m0-tan_binary64_5317 hang-p0-tan_binary64_5316 hang-0m-tan_binary64_5315 hang-0p-tan_binary64_5314 tan-+PI/2_binary64_5313 tan-+PI_binary64_5312 tan-PI_binary64_5311 tan-PI/3_binary64_5310 tan-PI/4_binary64_5309 tan-PI/6_binary64_5308 cos-+PI/2_binary64_5307 cos-+PI_binary64_5306 cos-PI_binary64_5305 cos-PI/2_binary64_5304 cos-PI/3_binary64_5303 cos-PI/4_binary64_5302 cos-PI/6_binary64_5301 sin-+PI/2_binary64_5300 sin-+PI_binary64_5299 sin-PI_binary64_5298 sin-PI/2_binary64_5297 sin-PI/3_binary64_5296 sin-PI/4_binary64_5295 sin-PI/6_binary64_5294 sub-1-sin_binary64_5293 sub-1-cos_binary64_5292 -1-add-sin_binary64_5291 -1-add-cos_binary64_5290 1-sub-sin_binary64_5289 1-sub-cos_binary64_5288 cos-sin-sum_binary64_5287 log-E_binary64_5283 log-pow_binary64_5282 log-rec_binary64_5281 pow-base-0_binary64_5277 unpow1/3_binary64_5260 exp-to-pow_binary64_5255 pow-base-1_binary64_5253 unpow0_binary64_5252 unpow-1_binary64_5250 exp-lft-cube_binary64_5249 exp-lft-sqr_binary64_5248 exp-cbrt_binary64_5247 exp-sqrt_binary64_5246 rec-exp_binary64_5243 exp-neg_binary64_5240 e-exp-1_binary64_5238 exp-1-e_binary64_5236 exp-0_binary64_5235 rem-log-exp_binary64_5234 rem-exp-log_binary64_5233 rem-cbrt-cube_binary64_5217 rem-cube-cbrt_binary64_5216 sqr-abs_binary64_5208 --rgt-identity_binary64_5179 +-lft-identity_binary64_5177 mul0-rgt_binary64_5176 mul0-lft_binary64_5175 div0_binary64_5174 *-inverses_binary64_5173 +-inverses_binary64_5172 lft-mult-inverse_binary64_5171 rgt-mult-inverse_binary64_5170 remove-double-div_binary64_5169 difference-of-sqr--1_binary64_5164 difference-of-sqr-1_binary64_5163 cancel-sign-sub_binary64_5158 distribute-neg-out_binary64_5155 distribute-rgt1-in_binary64_5149 distribute-lft1-in_binary64_5148 distribute-lft-out--_binary64_5145 count-2_binary64_5141
Counts
112 → 68
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01472054
13711918
210371891
339351891
450751891

prune53.0ms (2.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New68068
Fresh000
Picked011
Done011
Total68270
Error
0b
Counts
70 → 2
Compiler

Compiled 1044 to 337 computations (67.7% saved)

regimes48.0ms (2.5%)

Accuracy

Total 0.0b remaining (21.3%)

Threshold costs 0.0b (21.3%)

Compiler

Compiled 184 to 138 computations (25% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_5186 +-commutative_binary64_5123
neg-mul-1_binary64_5189 neg-sub0_binary64_5188 *-commutative_binary64_5124
cancel-sign-sub-inv_binary64_5159 distribute-lft-neg-out_binary64_5152 distribute-rgt-neg-in_binary64_5151
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_5453 if-if-and_binary64_5452 if-if-or-not_binary64_5451 if-if-or_binary64_5450 if-not_binary64_5449 if-same_binary64_5448 if-false_binary64_5447 if-true_binary64_5446 tan-0_binary64_5322 cos-0_binary64_5321 sin-0_binary64_5320 unpow1_binary64_5251 e-exp-1_binary64_5238 1-exp_binary64_5237 exp-1-e_binary64_5236 exp-0_binary64_5235 sqr-abs_binary64_5208 sqr-neg_binary64_5207 unsub-neg_binary64_5187 mul-1-neg_binary64_5185 /-rgt-identity_binary64_5184 *-rgt-identity_binary64_5183 *-lft-identity_binary64_5182 remove-double-neg_binary64_5181 sub0-neg_binary64_5180 --rgt-identity_binary64_5179 +-rgt-identity_binary64_5178 +-lft-identity_binary64_5177 cancel-sign-sub_binary64_5158 distribute-neg-frac_binary64_5157 distribute-frac-neg_binary64_5156 distribute-neg-out_binary64_5155 distribute-neg-in_binary64_5154 distribute-rgt-neg-out_binary64_5153 distribute-lft-neg-in_binary64_5150
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1107
2177
3217
4237
5237

end0.0ms (0%)

sample440.0ms (22.7%)

Algorithm
intervals
Results
146.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 52 to 40 computations (23.1% saved)

Profiling

Loading profile data...