Details

Time bar (total: 1.9s)

analyze249.0ms (13.3%)

Algorithm
search
egg-herbie
Rules
59×cancel-sign-sub-inv_binary64_8228
46×sub-neg_binary64_8255
36×associate--r+_binary64_8198
30×distribute-rgt-in_binary64_8212
25×unsub-neg_binary64_8256
24×associate-+l-_binary64_8197
21×associate-*l*_binary64_8203 +-commutative_binary64_8192
19×associate-*r*_binary64_8202
16×distribute-lft-in_binary64_8211
15×neg-mul-1_binary64_8258
14×distribute-lft-neg-out_binary64_8221 associate--l+_binary64_8199 *-commutative_binary64_8193
13×distribute-rgt-neg-out_binary64_8222 distribute-rgt-neg-in_binary64_8220
12×neg-sub0_binary64_8257
11×associate-+r+_binary64_8194
mul0-rgt_binary64_8245 mul0-lft_binary64_8244 associate--r-_binary64_8201
*-lft-identity_binary64_8251 distribute-neg-in_binary64_8223 associate-+l+_binary64_8195
*-rgt-identity_binary64_8252 sub0-neg_binary64_8249
distribute-lft-neg-in_binary64_8219 distribute-rgt-out--_binary64_8216
distribute-rgt1-in_binary64_8218 distribute-rgt-out_binary64_8215 associate--l-_binary64_8200
remove-double-neg_binary64_8250 +-rgt-identity_binary64_8247 +-lft-identity_binary64_8246 associate-+r-_binary64_8196
1-exp_binary64_8306 swap-x-y
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_8525 erf-erfc_binary64_8524 erf-odd_binary64_8523 if-if-and-not_binary64_8522 if-if-and_binary64_8521 if-if-or-not_binary64_8520 if-if-or_binary64_8519 if-not_binary64_8518 if-same_binary64_8517 if-false_binary64_8516 if-true_binary64_8515 not-gte_binary64_8514 not-lte_binary64_8513 not-gt_binary64_8512 not-lt_binary64_8511 gte-same_binary64_8510 lte-same_binary64_8509 gt-same_binary64_8508 lt-same_binary64_8507 sinh---cosh_binary64_8454 sinh-+-cosh_binary64_8453 sinh-cosh_binary64_8452 tanh-def-c_binary64_8451 tanh-def-b_binary64_8450 tanh-def-a_binary64_8449 cosh-def_binary64_8448 sinh-def_binary64_8447 tan-neg_binary64_8394 cos-neg_binary64_8393 sin-neg_binary64_8392 tan-0_binary64_8391 cos-0_binary64_8390 sin-0_binary64_8389 hang-m-tan_binary64_8388 hang-p-tan_binary64_8387 hang-m0-tan_binary64_8386 hang-p0-tan_binary64_8385 hang-0m-tan_binary64_8384 hang-0p-tan_binary64_8383 tan-+PI/2_binary64_8382 tan-+PI_binary64_8381 tan-PI_binary64_8380 tan-PI/3_binary64_8379 tan-PI/4_binary64_8378 tan-PI/6_binary64_8377 cos-+PI/2_binary64_8376 cos-+PI_binary64_8375 cos-PI_binary64_8374 cos-PI/2_binary64_8373 cos-PI/3_binary64_8372 cos-PI/4_binary64_8371 cos-PI/6_binary64_8370 sin-+PI/2_binary64_8369 sin-+PI_binary64_8368 sin-PI_binary64_8367 sin-PI/2_binary64_8366 sin-PI/3_binary64_8365 sin-PI/4_binary64_8364 sin-PI/6_binary64_8363 sub-1-sin_binary64_8362 sub-1-cos_binary64_8361 -1-add-sin_binary64_8360 -1-add-cos_binary64_8359 1-sub-sin_binary64_8358 1-sub-cos_binary64_8357 cos-sin-sum_binary64_8356 log-E_binary64_8352 log-pow_binary64_8351 log-rec_binary64_8350 log-div_binary64_8349 log-prod_binary64_8348 pow-base-0_binary64_8346 unpow1/3_binary64_8329 unpow3_binary64_8328 unpow2_binary64_8327 unpow1/2_binary64_8326 pow-plus_binary64_8325 exp-to-pow_binary64_8324 pow-base-1_binary64_8322 unpow0_binary64_8321 unpow1_binary64_8320 unpow-1_binary64_8319 exp-lft-cube_binary64_8318 exp-lft-sqr_binary64_8317 exp-cbrt_binary64_8316 exp-sqrt_binary64_8315 exp-prod_binary64_8314 div-exp_binary64_8313 rec-exp_binary64_8312 prod-exp_binary64_8311 exp-diff_binary64_8310 exp-neg_binary64_8309 exp-sum_binary64_8308 e-exp-1_binary64_8307 exp-1-e_binary64_8305 exp-0_binary64_8304 rem-log-exp_binary64_8303 rem-exp-log_binary64_8302 cube-unmult_binary64_8299 cube-mult_binary64_8292 cube-div_binary64_8291 cube-prod_binary64_8290 cube-neg_binary64_8289 rem-3cbrt-rft_binary64_8288 rem-3cbrt-lft_binary64_8287 rem-cbrt-cube_binary64_8286 rem-cube-cbrt_binary64_8285 sqr-abs_binary64_8277 sqr-neg_binary64_8276 rem-sqrt-square_binary64_8275 rem-square-sqrt_binary64_8274 times-frac_binary64_8268 div-sub_binary64_8267 mul-1-neg_binary64_8254 /-rgt-identity_binary64_8253 --rgt-identity_binary64_8248 div0_binary64_8243 *-inverses_binary64_8242 +-inverses_binary64_8241 lft-mult-inverse_binary64_8240 rgt-mult-inverse_binary64_8239 remove-double-div_binary64_8238 pow-sqr_binary64_8235 sqr-pow_binary64_8234 difference-of-sqr--1_binary64_8233 difference-of-sqr-1_binary64_8232 difference-of-squares_binary64_8231 unswap-sqr_binary64_8230 swap-sqr_binary64_8229 cancel-sign-sub_binary64_8227 distribute-neg-frac_binary64_8226 distribute-frac-neg_binary64_8225 distribute-neg-out_binary64_8224 distribute-lft1-in_binary64_8217 distribute-lft-out--_binary64_8214 distribute-lft-out_binary64_8213 count-2_binary64_8210 associate-/l/_binary64_8209 associate-/r/_binary64_8208 associate-/l*_binary64_8207 associate-/r*_binary64_8206 associate-*l/_binary64_8205 associate-*r/_binary64_8204
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
12120
23520
36020
49720
519820
623920
731620
829420
929520
1025620
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
25%74.9%0.1%5
40.6%59.3%0.1%6
53.1%45.3%1.7%7
62.4%32.8%4.8%8
69.5%22.6%7.9%9
74.5%16.4%9.1%10
78.2%11.1%10.6%11
80.9%8.2%10.9%12
82.8%5.5%11.7%13
84.1%4.1%11.8%14
Symmetry

(sort x y)

Compiler

Compiled 8 to 6 computations (25% saved)

sample22.0ms (1.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 15 to 13 computations (13.3% saved)

simplify18.0ms (1%)

Algorithm
egg-herbie
Rules
55×cancel-sign-sub-inv_binary64_8228
50×sub-neg_binary64_8255
38×associate--r+_binary64_8198
36×distribute-rgt-in_binary64_8212
29×unsub-neg_binary64_8256
26×associate-+l-_binary64_8197
20×associate-*l*_binary64_8203 +-commutative_binary64_8192
18×distribute-lft-in_binary64_8211 associate-*r*_binary64_8202
15×neg-mul-1_binary64_8258 distribute-lft-neg-out_binary64_8221
13×*-commutative_binary64_8193
12×distribute-rgt-neg-out_binary64_8222 distribute-rgt-neg-in_binary64_8220
11×neg-sub0_binary64_8257 distribute-neg-in_binary64_8223 associate--l+_binary64_8199
10×associate-+r+_binary64_8194
associate-+l+_binary64_8195
sub0-neg_binary64_8249 mul0-rgt_binary64_8245 mul0-lft_binary64_8244
*-lft-identity_binary64_8251
*-rgt-identity_binary64_8252 distribute-lft-neg-in_binary64_8219 distribute-rgt-out--_binary64_8216 associate--r-_binary64_8201
distribute-rgt1-in_binary64_8218
remove-double-neg_binary64_8250
+-rgt-identity_binary64_8247 distribute-rgt-out_binary64_8215 associate-+r-_binary64_8196
+-lft-identity_binary64_8246 distribute-neg-out_binary64_8224 associate--l-_binary64_8200
1-exp_binary64_8306
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_8525 erf-erfc_binary64_8524 erf-odd_binary64_8523 if-if-and-not_binary64_8522 if-if-and_binary64_8521 if-if-or-not_binary64_8520 if-if-or_binary64_8519 if-not_binary64_8518 if-same_binary64_8517 if-false_binary64_8516 if-true_binary64_8515 not-gte_binary64_8514 not-lte_binary64_8513 not-gt_binary64_8512 not-lt_binary64_8511 gte-same_binary64_8510 lte-same_binary64_8509 gt-same_binary64_8508 lt-same_binary64_8507 sinh---cosh_binary64_8454 sinh-+-cosh_binary64_8453 sinh-cosh_binary64_8452 tanh-def-c_binary64_8451 tanh-def-b_binary64_8450 tanh-def-a_binary64_8449 cosh-def_binary64_8448 sinh-def_binary64_8447 tan-neg_binary64_8394 cos-neg_binary64_8393 sin-neg_binary64_8392 tan-0_binary64_8391 cos-0_binary64_8390 sin-0_binary64_8389 hang-m-tan_binary64_8388 hang-p-tan_binary64_8387 hang-m0-tan_binary64_8386 hang-p0-tan_binary64_8385 hang-0m-tan_binary64_8384 hang-0p-tan_binary64_8383 tan-+PI/2_binary64_8382 tan-+PI_binary64_8381 tan-PI_binary64_8380 tan-PI/3_binary64_8379 tan-PI/4_binary64_8378 tan-PI/6_binary64_8377 cos-+PI/2_binary64_8376 cos-+PI_binary64_8375 cos-PI_binary64_8374 cos-PI/2_binary64_8373 cos-PI/3_binary64_8372 cos-PI/4_binary64_8371 cos-PI/6_binary64_8370 sin-+PI/2_binary64_8369 sin-+PI_binary64_8368 sin-PI_binary64_8367 sin-PI/2_binary64_8366 sin-PI/3_binary64_8365 sin-PI/4_binary64_8364 sin-PI/6_binary64_8363 sub-1-sin_binary64_8362 sub-1-cos_binary64_8361 -1-add-sin_binary64_8360 -1-add-cos_binary64_8359 1-sub-sin_binary64_8358 1-sub-cos_binary64_8357 cos-sin-sum_binary64_8356 log-E_binary64_8352 log-pow_binary64_8351 log-rec_binary64_8350 log-div_binary64_8349 log-prod_binary64_8348 pow-base-0_binary64_8346 unpow1/3_binary64_8329 unpow3_binary64_8328 unpow2_binary64_8327 unpow1/2_binary64_8326 pow-plus_binary64_8325 exp-to-pow_binary64_8324 pow-base-1_binary64_8322 unpow0_binary64_8321 unpow1_binary64_8320 unpow-1_binary64_8319 exp-lft-cube_binary64_8318 exp-lft-sqr_binary64_8317 exp-cbrt_binary64_8316 exp-sqrt_binary64_8315 exp-prod_binary64_8314 div-exp_binary64_8313 rec-exp_binary64_8312 prod-exp_binary64_8311 exp-diff_binary64_8310 exp-neg_binary64_8309 exp-sum_binary64_8308 e-exp-1_binary64_8307 exp-1-e_binary64_8305 exp-0_binary64_8304 rem-log-exp_binary64_8303 rem-exp-log_binary64_8302 cube-unmult_binary64_8299 cube-mult_binary64_8292 cube-div_binary64_8291 cube-prod_binary64_8290 cube-neg_binary64_8289 rem-3cbrt-rft_binary64_8288 rem-3cbrt-lft_binary64_8287 rem-cbrt-cube_binary64_8286 rem-cube-cbrt_binary64_8285 sqr-abs_binary64_8277 sqr-neg_binary64_8276 rem-sqrt-square_binary64_8275 rem-square-sqrt_binary64_8274 times-frac_binary64_8268 div-sub_binary64_8267 mul-1-neg_binary64_8254 /-rgt-identity_binary64_8253 --rgt-identity_binary64_8248 div0_binary64_8243 *-inverses_binary64_8242 +-inverses_binary64_8241 lft-mult-inverse_binary64_8240 rgt-mult-inverse_binary64_8239 remove-double-div_binary64_8238 pow-sqr_binary64_8235 sqr-pow_binary64_8234 difference-of-sqr--1_binary64_8233 difference-of-sqr-1_binary64_8232 difference-of-squares_binary64_8231 unswap-sqr_binary64_8230 swap-sqr_binary64_8229 cancel-sign-sub_binary64_8227 distribute-neg-frac_binary64_8226 distribute-frac-neg_binary64_8225 distribute-lft1-in_binary64_8217 distribute-lft-out--_binary64_8214 distribute-lft-out_binary64_8213 count-2_binary64_8210 associate-/l/_binary64_8209 associate-/r/_binary64_8208 associate-/l*_binary64_8207 associate-/r*_binary64_8206 associate-*l/_binary64_8205 associate-*r/_binary64_8204
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11510
23110
35610
48810
519110
624410
730410
829410
929510
1025610

prune2.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 7 to 5 computations (28.6% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

rewrite18.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-log-exp_binary64_8301
diff-log_binary64_8354
sum-log_binary64_8353 pow1_binary64_8323 add-exp-log_binary64_8300 add-cbrt-cube_binary64_8298 add-cube-cbrt_binary64_8297 add-sqr-sqrt_binary64_8284 flip3--_binary64_8266 *-un-lft-identity_binary64_8262 sub-neg_binary64_8255 flip--_binary64_8237 cancel-sign-sub-inv_binary64_8228 associate--l+_binary64_8199
Counts
1 → 14
Calls

1 calls:

6.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 205 to 51 computations (75.1% saved)

series110.0ms (5.9%)

Error
0b
Counts
1 → 12
Calls

1 calls:

103.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 178 to 111 computations (37.6% saved)

simplify72.0ms (3.8%)

Algorithm
egg-herbie
Rules
881×times-frac_binary64_8268
744×associate-+l+_binary64_8195
469×distribute-rgt-neg-out_binary64_8222
261×neg-sub0_binary64_8257
250×neg-mul-1_binary64_8258
211×*-commutative_binary64_8193
210×distribute-rgt-in_binary64_8212
208×cancel-sign-sub-inv_binary64_8228
184×distribute-lft-in_binary64_8211
171×distribute-neg-in_binary64_8223
158×distribute-lft-neg-out_binary64_8221
152×+-commutative_binary64_8192
145×associate-*l*_binary64_8203
137×sub-neg_binary64_8255
120×associate-*r*_binary64_8202
91×exp-sum_binary64_8308
90×distribute-rgt-out_binary64_8215
81×sqr-pow_binary64_8234
77×distribute-rgt-neg-in_binary64_8220
75×distribute-lft-neg-in_binary64_8219
73×unsub-neg_binary64_8256
59×exp-prod_binary64_8314
57×exp-diff_binary64_8310
46×unswap-sqr_binary64_8230
44×associate--l+_binary64_8199
42×associate-+r+_binary64_8194
35×remove-double-neg_binary64_8250 difference-of-squares_binary64_8231
30×associate--r+_binary64_8198
28×swap-sqr_binary64_8229
26×associate-+l-_binary64_8197
25×cube-prod_binary64_8290 associate-+r-_binary64_8196
21×+-rgt-identity_binary64_8247
20×distribute-rgt1-in_binary64_8218
18×div-sub_binary64_8267
17×sub0-neg_binary64_8249 pow-sqr_binary64_8235
15×sqr-neg_binary64_8276
14×associate-/l*_binary64_8207
13×associate-/r*_binary64_8206
10×pow-plus_binary64_8325 distribute-rgt-out--_binary64_8216 distribute-lft-out_binary64_8213
unpow3_binary64_8328 distribute-frac-neg_binary64_8225
exp-neg_binary64_8309 cube-unmult_binary64_8299 distribute-lft1-in_binary64_8217
mul-1-neg_binary64_8254 mul0-rgt_binary64_8245 mul0-lft_binary64_8244
div-exp_binary64_8313
cube-mult_binary64_8292 cube-neg_binary64_8289 cancel-sign-sub_binary64_8227
log-prod_binary64_8348 associate-/r/_binary64_8208 associate-*r/_binary64_8204
associate-*l/_binary64_8205
unpow1/2_binary64_8326 *-rgt-identity_binary64_8252 *-lft-identity_binary64_8251 +-lft-identity_binary64_8246 associate--r-_binary64_8201
unpow-1_binary64_8319 prod-exp_binary64_8311 1-exp_binary64_8306 exp-1-e_binary64_8305 distribute-neg-out_binary64_8224 associate-/l/_binary64_8209 associate--l-_binary64_8200
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_8525 erf-erfc_binary64_8524 erf-odd_binary64_8523 if-if-and-not_binary64_8522 if-if-and_binary64_8521 if-if-or-not_binary64_8520 if-if-or_binary64_8519 if-not_binary64_8518 if-same_binary64_8517 if-false_binary64_8516 if-true_binary64_8515 not-gte_binary64_8514 not-lte_binary64_8513 not-gt_binary64_8512 not-lt_binary64_8511 gte-same_binary64_8510 lte-same_binary64_8509 gt-same_binary64_8508 lt-same_binary64_8507 sinh---cosh_binary64_8454 sinh-+-cosh_binary64_8453 sinh-cosh_binary64_8452 tanh-def-c_binary64_8451 tanh-def-b_binary64_8450 tanh-def-a_binary64_8449 cosh-def_binary64_8448 sinh-def_binary64_8447 tan-neg_binary64_8394 cos-neg_binary64_8393 sin-neg_binary64_8392 tan-0_binary64_8391 cos-0_binary64_8390 sin-0_binary64_8389 hang-m-tan_binary64_8388 hang-p-tan_binary64_8387 hang-m0-tan_binary64_8386 hang-p0-tan_binary64_8385 hang-0m-tan_binary64_8384 hang-0p-tan_binary64_8383 tan-+PI/2_binary64_8382 tan-+PI_binary64_8381 tan-PI_binary64_8380 tan-PI/3_binary64_8379 tan-PI/4_binary64_8378 tan-PI/6_binary64_8377 cos-+PI/2_binary64_8376 cos-+PI_binary64_8375 cos-PI_binary64_8374 cos-PI/2_binary64_8373 cos-PI/3_binary64_8372 cos-PI/4_binary64_8371 cos-PI/6_binary64_8370 sin-+PI/2_binary64_8369 sin-+PI_binary64_8368 sin-PI_binary64_8367 sin-PI/2_binary64_8366 sin-PI/3_binary64_8365 sin-PI/4_binary64_8364 sin-PI/6_binary64_8363 sub-1-sin_binary64_8362 sub-1-cos_binary64_8361 -1-add-sin_binary64_8360 -1-add-cos_binary64_8359 1-sub-sin_binary64_8358 1-sub-cos_binary64_8357 cos-sin-sum_binary64_8356 log-E_binary64_8352 log-pow_binary64_8351 log-rec_binary64_8350 log-div_binary64_8349 pow-base-0_binary64_8346 unpow1/3_binary64_8329 unpow2_binary64_8327 exp-to-pow_binary64_8324 pow-base-1_binary64_8322 unpow0_binary64_8321 unpow1_binary64_8320 exp-lft-cube_binary64_8318 exp-lft-sqr_binary64_8317 exp-cbrt_binary64_8316 exp-sqrt_binary64_8315 rec-exp_binary64_8312 e-exp-1_binary64_8307 exp-0_binary64_8304 rem-log-exp_binary64_8303 rem-exp-log_binary64_8302 cube-div_binary64_8291 rem-3cbrt-rft_binary64_8288 rem-3cbrt-lft_binary64_8287 rem-cbrt-cube_binary64_8286 rem-cube-cbrt_binary64_8285 sqr-abs_binary64_8277 rem-sqrt-square_binary64_8275 rem-square-sqrt_binary64_8274 /-rgt-identity_binary64_8253 --rgt-identity_binary64_8248 div0_binary64_8243 *-inverses_binary64_8242 +-inverses_binary64_8241 lft-mult-inverse_binary64_8240 rgt-mult-inverse_binary64_8239 remove-double-div_binary64_8238 difference-of-sqr--1_binary64_8233 difference-of-sqr-1_binary64_8232 distribute-neg-frac_binary64_8226 distribute-lft-out--_binary64_8214 count-2_binary64_8210
Counts
26 → 22
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049329
1127308
2397308
31365308
43097308
54724308
66203308

prune15.0ms (0.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New21122
Fresh000
Picked011
Done000
Total21223
Error
0b
Counts
23 → 2
Compiler

Compiled 245 to 44 computations (82% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (+.f64 y x) (*.f64 y x))
0.0b
(-.f64 (+.f64 y x) (*.f64 y x))
0.2b
(*.f64 (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))) (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))))

rewrite124.0ms (6.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×add-sqr-sqrt_binary64_8284
18×pow1_binary64_8323 sqrt-prod_binary64_8278
13×add-log-exp_binary64_8301
12×sqrt-div_binary64_8279
11×add-cube-cbrt_binary64_8297 *-un-lft-identity_binary64_8262
pow1/2_binary64_8342 sqrt-pow1_binary64_8280 flip3--_binary64_8266 flip--_binary64_8237 swap-sqr_binary64_8229
associate-*l*_binary64_8203 associate-*r*_binary64_8202
pow-prod-up_binary64_8332 add-exp-log_binary64_8300 add-cbrt-cube_binary64_8298
frac-times_binary64_8272 unswap-sqr_binary64_8230 diff-log_binary64_8354
pow-prod-down_binary64_8333 pow-sqr_binary64_8235
rem-sqrt-square_binary64_8275 associate-*l/_binary64_8205 associate-*r/_binary64_8204 sum-log_binary64_8353 sub-neg_binary64_8255 cancel-sign-sub-inv_binary64_8228 associate--l+_binary64_8199
pow2_binary64_8343 pow-plus_binary64_8325 prod-exp_binary64_8311 cbrt-unprod_binary64_8295 sqrt-unprod_binary64_8282 sqr-abs_binary64_8277 rem-square-sqrt_binary64_8274 *-commutative_binary64_8193
Counts
3 → 86
Calls

3 calls:

20.0ms
(*.f64 (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))) (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))))
7.0ms
(-.f64 (+.f64 y x) (*.f64 y x))
6.0ms
(-.f64 (+.f64 y x) (*.f64 y x))
Compiler

Compiled 2445 to 289 computations (88.2% saved)

series360.0ms (19.2%)

Error
0b
Counts
3 → 36
Calls

3 calls:

117.0ms
(-.f64 (+.f64 y x) (*.f64 y x))
116.0ms
(-.f64 (+.f64 y x) (*.f64 y x))
104.0ms
(*.f64 (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))) (sqrt.f64 (-.f64 (+.f64 y x) (*.f64 y x))))
Compiler

Compiled 1134 to 554 computations (51.1% saved)

simplify138.0ms (7.4%)

Algorithm
egg-herbie
Rules
412×associate-*l*_binary64_8203
357×associate-*r*_binary64_8202
337×distribute-rgt-in_binary64_8212
313×distribute-lft-in_binary64_8211
263×distribute-rgt-neg-out_binary64_8222
261×distribute-lft-neg-out_binary64_8221
231×+-commutative_binary64_8192
193×distribute-rgt-out_binary64_8215
121×exp-prod_binary64_8314
115×cancel-sign-sub-inv_binary64_8228
107×*-commutative_binary64_8193
104×distribute-lft-out_binary64_8213
87×unsub-neg_binary64_8256
83×times-frac_binary64_8268
81×unswap-sqr_binary64_8230
79×distribute-rgt-neg-in_binary64_8220
76×exp-sum_binary64_8308
75×distribute-lft-neg-in_binary64_8219
70×log-prod_binary64_8348
59×cube-prod_binary64_8290
58×sqr-pow_binary64_8234
55×associate-+l+_binary64_8195
47×exp-diff_binary64_8310 swap-sqr_binary64_8229
45×associate-+r+_binary64_8194
42×associate--l+_binary64_8199
40×sub-neg_binary64_8255
34×neg-sub0_binary64_8257
29×associate--r+_binary64_8198
27×associate-/l*_binary64_8207
26×associate-+l-_binary64_8197
25×neg-mul-1_binary64_8258
24×associate-+r-_binary64_8196
22×rem-sqrt-square_binary64_8275 *-rgt-identity_binary64_8252 associate-/r*_binary64_8206
21×distribute-rgt1-in_binary64_8218
20×sqr-neg_binary64_8276 *-lft-identity_binary64_8251
16×pow-plus_binary64_8325
15×unpow3_binary64_8328
14×log-pow_binary64_8351 exp-neg_binary64_8309 distribute-neg-in_binary64_8223
13×cube-unmult_binary64_8299 pow-sqr_binary64_8235
11×difference-of-squares_binary64_8231
10×distribute-rgt-out--_binary64_8216
mul-1-neg_binary64_8254 mul0-rgt_binary64_8245 mul0-lft_binary64_8244
rem-square-sqrt_binary64_8274 distribute-lft1-in_binary64_8217 associate-*r/_binary64_8204
cube-mult_binary64_8292 +-rgt-identity_binary64_8247 associate-/r/_binary64_8208
associate-/l/_binary64_8209
div-exp_binary64_8313 cube-neg_binary64_8289
count-2_binary64_8210
unpow2_binary64_8327 sub0-neg_binary64_8249 associate-*l/_binary64_8205
unpow1/2_binary64_8326 distribute-neg-out_binary64_8224 associate--r-_binary64_8201
prod-exp_binary64_8311 1-exp_binary64_8306 exp-1-e_binary64_8305 rem-3cbrt-rft_binary64_8288 rem-3cbrt-lft_binary64_8287 rem-cbrt-cube_binary64_8286 remove-double-neg_binary64_8250 distribute-frac-neg_binary64_8225
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_8525 erf-erfc_binary64_8524 erf-odd_binary64_8523 if-if-and-not_binary64_8522 if-if-and_binary64_8521 if-if-or-not_binary64_8520 if-if-or_binary64_8519 if-not_binary64_8518 if-same_binary64_8517 if-false_binary64_8516 if-true_binary64_8515 not-gte_binary64_8514 not-lte_binary64_8513 not-gt_binary64_8512 not-lt_binary64_8511 gte-same_binary64_8510 lte-same_binary64_8509 gt-same_binary64_8508 lt-same_binary64_8507 sinh---cosh_binary64_8454 sinh-+-cosh_binary64_8453 sinh-cosh_binary64_8452 tanh-def-c_binary64_8451 tanh-def-b_binary64_8450 tanh-def-a_binary64_8449 cosh-def_binary64_8448 sinh-def_binary64_8447 tan-neg_binary64_8394 cos-neg_binary64_8393 sin-neg_binary64_8392 tan-0_binary64_8391 cos-0_binary64_8390 sin-0_binary64_8389 hang-m-tan_binary64_8388 hang-p-tan_binary64_8387 hang-m0-tan_binary64_8386 hang-p0-tan_binary64_8385 hang-0m-tan_binary64_8384 hang-0p-tan_binary64_8383 tan-+PI/2_binary64_8382 tan-+PI_binary64_8381 tan-PI_binary64_8380 tan-PI/3_binary64_8379 tan-PI/4_binary64_8378 tan-PI/6_binary64_8377 cos-+PI/2_binary64_8376 cos-+PI_binary64_8375 cos-PI_binary64_8374 cos-PI/2_binary64_8373 cos-PI/3_binary64_8372 cos-PI/4_binary64_8371 cos-PI/6_binary64_8370 sin-+PI/2_binary64_8369 sin-+PI_binary64_8368 sin-PI_binary64_8367 sin-PI/2_binary64_8366 sin-PI/3_binary64_8365 sin-PI/4_binary64_8364 sin-PI/6_binary64_8363 sub-1-sin_binary64_8362 sub-1-cos_binary64_8361 -1-add-sin_binary64_8360 -1-add-cos_binary64_8359 1-sub-sin_binary64_8358 1-sub-cos_binary64_8357 cos-sin-sum_binary64_8356 log-E_binary64_8352 log-rec_binary64_8350 log-div_binary64_8349 pow-base-0_binary64_8346 unpow1/3_binary64_8329 exp-to-pow_binary64_8324 pow-base-1_binary64_8322 unpow0_binary64_8321 unpow1_binary64_8320 unpow-1_binary64_8319 exp-lft-cube_binary64_8318 exp-lft-sqr_binary64_8317 exp-cbrt_binary64_8316 exp-sqrt_binary64_8315 rec-exp_binary64_8312 e-exp-1_binary64_8307 exp-0_binary64_8304 rem-log-exp_binary64_8303 rem-exp-log_binary64_8302 cube-div_binary64_8291 rem-cube-cbrt_binary64_8285 sqr-abs_binary64_8277 div-sub_binary64_8267 /-rgt-identity_binary64_8253 --rgt-identity_binary64_8248 +-lft-identity_binary64_8246 div0_binary64_8243 *-inverses_binary64_8242 +-inverses_binary64_8241 lft-mult-inverse_binary64_8240 rgt-mult-inverse_binary64_8239 remove-double-div_binary64_8238 difference-of-sqr--1_binary64_8233 difference-of-sqr-1_binary64_8232 cancel-sign-sub_binary64_8227 distribute-neg-frac_binary64_8226 distribute-lft-out--_binary64_8214 associate--l-_binary64_8200
Counts
122 → 97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01041963
11981835
26291803
324461733
446401733
550001733
649211733

prune76.0ms (4.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New97097
Fresh000
Picked011
Done011
Total97299
Error
0b
Counts
99 → 2
Compiler

Compiled 1817 to 233 computations (87.2% saved)

regimes79.0ms (4.2%)

Accuracy

Total 0.0b remaining (79%)

Threshold costs 0.0b (79%)

Compiler

Compiled 489 to 294 computations (39.9% saved)

bsearch0.0ms (0%)

simplify9.0ms (0.5%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_8192
sub-neg_binary64_8255 *-commutative_binary64_8193
neg-mul-1_binary64_8258 neg-sub0_binary64_8257
cancel-sign-sub-inv_binary64_8228 distribute-rgt-neg-in_binary64_8220
distribute-lft-neg-out_binary64_8221 distribute-lft-neg-in_binary64_8219
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_8522 if-if-and_binary64_8521 if-if-or-not_binary64_8520 if-if-or_binary64_8519 if-not_binary64_8518 if-same_binary64_8517 if-false_binary64_8516 if-true_binary64_8515 tan-0_binary64_8391 cos-0_binary64_8390 sin-0_binary64_8389 unpow1_binary64_8320 e-exp-1_binary64_8307 1-exp_binary64_8306 exp-1-e_binary64_8305 exp-0_binary64_8304 sqr-abs_binary64_8277 sqr-neg_binary64_8276 unsub-neg_binary64_8256 mul-1-neg_binary64_8254 /-rgt-identity_binary64_8253 *-rgt-identity_binary64_8252 *-lft-identity_binary64_8251 remove-double-neg_binary64_8250 sub0-neg_binary64_8249 --rgt-identity_binary64_8248 +-rgt-identity_binary64_8247 +-lft-identity_binary64_8246 cancel-sign-sub_binary64_8227 distribute-neg-frac_binary64_8226 distribute-frac-neg_binary64_8225 distribute-neg-out_binary64_8224 distribute-neg-in_binary64_8223 distribute-rgt-neg-out_binary64_8222
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11310
22310
32910
43310
53410
63410
Remove

(sort x y)

Compiler

Compiled 14 to 10 computations (28.6% saved)

end0.0ms (0%)

sample567.0ms (30.3%)

Algorithm
intervals
Results
167.0ms7995×body128valid
1.0ms78×body128invalid
0.0msbody1024valid
0.0msbody512valid
0.0msbody256valid
Compiler

Compiled 172 to 105 computations (39% saved)

Profiling

Loading profile data...