Details

Time bar (total: 5.0s)

analyze537.0ms (10.8%)

Algorithm
search
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
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
18.7%81.1%0.1%8
34.3%65.5%0.1%9
39%60.8%0.1%10
41.3%58.5%0.1%11
52.7%47.2%0.1%12
54%45.7%0.2%13
55.3%43.8%0.9%14
Compiler

Compiled 16 to 10 computations (37.5% saved)

sample36.0ms (0.7%)

Algorithm
intervals
Results
10.0ms181×body128valid
4.0ms34×body1024valid
2.0ms13×body2048valid
2.0ms50×body128invalid
1.0ms16×body512valid
1.0msbody1024invalid
1.0ms10×body512invalid
1.0ms12×body256valid
0.0msbody256invalid
Compiler

Compiled 31 to 22 computations (29% saved)

simplify370.0ms (7.5%)

Algorithm
egg-herbie
Rules
2037×distribute-rgt-out--_binary64_13331
762×unsub-neg_binary64_13371
515×distribute-lft-out_binary64_13328
498×distribute-lft-out--_binary64_13329
472×*-commutative_binary64_13308
420×sub-neg_binary64_13370
394×+-commutative_binary64_13307
392×distribute-neg-out_binary64_13339
270×distribute-rgt-neg-in_binary64_13335
248×distribute-neg-in_binary64_13338
225×neg-sub0_binary64_13372 distribute-lft-neg-in_binary64_13334
214×neg-mul-1_binary64_13373
187×associate-*l*_binary64_13318
178×cancel-sign-sub-inv_binary64_13343
162×associate--l+_binary64_13314
146×associate--r+_binary64_13313
141×distribute-lft-neg-out_binary64_13336
114×associate-+l-_binary64_13312 associate-+l+_binary64_13310
110×associate--r-_binary64_13316
103×associate-*r*_binary64_13317 associate-+r+_binary64_13309
102×associate--l-_binary64_13315
98×distribute-rgt-out_binary64_13330
87×associate-+r-_binary64_13311
78×distribute-rgt-neg-out_binary64_13337
54×remove-double-neg_binary64_13365
38×sub0-neg_binary64_13364
29×*-lft-identity_binary64_13366 distribute-rgt-in_binary64_13327
19×distribute-lft-in_binary64_13326
15×*-rgt-identity_binary64_13367
14×--rgt-identity_binary64_13363
13×mul0-rgt_binary64_13360 mul0-lft_binary64_13359
distribute-rgt1-in_binary64_13333
mul-1-neg_binary64_13369 distribute-lft1-in_binary64_13332
+-rgt-identity_binary64_13362
+-inverses_binary64_13356
+-lft-identity_binary64_13361 cancel-sign-sub_binary64_13342 count-2_binary64_13325
1-exp_binary64_13421 sqr-neg_binary64_13391 difference-of-squares_binary64_13346 swap-sqr_binary64_13344
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 log-pow_binary64_13466 log-rec_binary64_13465 log-div_binary64_13464 log-prod_binary64_13463 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow3_binary64_13443 unpow2_binary64_13442 unpow1/2_binary64_13441 pow-plus_binary64_13440 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow1_binary64_13435 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 exp-prod_binary64_13429 div-exp_binary64_13428 rec-exp_binary64_13427 prod-exp_binary64_13426 exp-diff_binary64_13425 exp-neg_binary64_13424 exp-sum_binary64_13423 e-exp-1_binary64_13422 exp-1-e_binary64_13420 exp-0_binary64_13419 rem-log-exp_binary64_13418 rem-exp-log_binary64_13417 cube-unmult_binary64_13414 cube-mult_binary64_13407 cube-div_binary64_13406 cube-prod_binary64_13405 cube-neg_binary64_13404 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 rem-sqrt-square_binary64_13390 rem-square-sqrt_binary64_13389 times-frac_binary64_13383 div-sub_binary64_13382 /-rgt-identity_binary64_13368 div0_binary64_13358 *-inverses_binary64_13357 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 pow-sqr_binary64_13350 sqr-pow_binary64_13349 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 unswap-sqr_binary64_13345 distribute-neg-frac_binary64_13341 distribute-frac-neg_binary64_13340 associate-/l/_binary64_13324 associate-/r/_binary64_13323 associate-/l*_binary64_13322 associate-/r*_binary64_13321 associate-*l/_binary64_13320 associate-*r/_binary64_13319
Counts
1 → 3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01022
12610
2727
31677
44667
514387
617827
719107
821127
922257
1022707
1135257
1230017
1332057
1432057
1536177
1638237
1738237
1838237
1939257
2039257
2166667

prune7.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 2
Compiler

Compiled 47 to 27 computations (42.6% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite33.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_13399
*-un-lft-identity_binary64_13377
cancel-sign-sub-inv_binary64_13343
add-cube-cbrt_binary64_13412 associate-*r*_binary64_13317
distribute-rgt-in_binary64_13327 distribute-lft-in_binary64_13326
pow1_binary64_13438 add-exp-log_binary64_13415 add-cbrt-cube_binary64_13413 associate-*l*_binary64_13318
sub-neg_binary64_13370 associate-*r/_binary64_13319
pow-prod-down_binary64_13448 prod-exp_binary64_13426 add-log-exp_binary64_13416 cbrt-unprod_binary64_13410 unswap-sqr_binary64_13345 flip3--_binary64_13381 flip--_binary64_13352 difference-of-squares_binary64_13346 distribute-lft-out--_binary64_13329 *-commutative_binary64_13308
Counts
1 → 30
Calls

1 calls:

9.0ms
(*.f64 y (-.f64 x z))
Compiler

Compiled 338 to 111 computations (67.2% saved)

series114.0ms (2.3%)

Error
0.0b
Counts
1 → 15
Calls

1 calls:

104.0ms
(*.f64 y (-.f64 x z))
Compiler

Compiled 219 to 146 computations (33.3% saved)

simplify76.0ms (1.5%)

Algorithm
egg-herbie
Rules
620×distribute-neg-out_binary64_13339
402×neg-sub0_binary64_13372
392×associate-*l*_binary64_13318
385×neg-mul-1_binary64_13373
336×associate-*r*_binary64_13317
229×unswap-sqr_binary64_13345
222×distribute-rgt-neg-out_binary64_13337
208×distribute-lft-neg-out_binary64_13336
177×sqr-pow_binary64_13349
161×distribute-rgt-in_binary64_13327
158×exp-prod_binary64_13429
157×distribute-lft-in_binary64_13326
86×associate-+r+_binary64_13309
82×unsub-neg_binary64_13371
76×cancel-sign-sub-inv_binary64_13343 *-commutative_binary64_13308
69×associate-+l+_binary64_13310
62×+-commutative_binary64_13307
54×sub-neg_binary64_13370
53×swap-sqr_binary64_13344
46×exp-sum_binary64_13423 *-rgt-identity_binary64_13367 *-lft-identity_binary64_13366
34×pow-sqr_binary64_13350
26×distribute-lft-neg-in_binary64_13334 distribute-rgt-out_binary64_13330
24×times-frac_binary64_13383
23×div-sub_binary64_13382
22×exp-diff_binary64_13425 distribute-lft-out_binary64_13328
20×distribute-rgt-neg-in_binary64_13335
17×difference-of-squares_binary64_13346
16×cube-prod_binary64_13405
14×+-rgt-identity_binary64_13362 mul0-rgt_binary64_13360 mul0-lft_binary64_13359
12×sub0-neg_binary64_13364
11×sqr-neg_binary64_13391 +-lft-identity_binary64_13361
10×cube-unmult_binary64_13414 mul-1-neg_binary64_13369
log-prod_binary64_13463 distribute-frac-neg_binary64_13340 associate-+l-_binary64_13312
associate-/l*_binary64_13322 associate-+r-_binary64_13311
unpow3_binary64_13443 remove-double-neg_binary64_13365
unpow1/2_binary64_13441
pow-plus_binary64_13440 rem-sqrt-square_binary64_13390 distribute-neg-frac_binary64_13341 distribute-rgt-out--_binary64_13331
exp-neg_binary64_13424 --rgt-identity_binary64_13363
cube-mult_binary64_13407 cube-neg_binary64_13404 associate-*r/_binary64_13319 associate--r+_binary64_13313
1-exp_binary64_13421 exp-1-e_binary64_13420 rem-3cbrt-lft_binary64_13402 rem-square-sqrt_binary64_13389 cancel-sign-sub_binary64_13342 count-2_binary64_13325 associate-/l/_binary64_13324 associate-*l/_binary64_13320
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 log-pow_binary64_13466 log-rec_binary64_13465 log-div_binary64_13464 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow2_binary64_13442 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow1_binary64_13435 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 div-exp_binary64_13428 rec-exp_binary64_13427 prod-exp_binary64_13426 e-exp-1_binary64_13422 exp-0_binary64_13419 rem-log-exp_binary64_13418 rem-exp-log_binary64_13417 cube-div_binary64_13406 rem-3cbrt-rft_binary64_13403 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 /-rgt-identity_binary64_13368 div0_binary64_13358 *-inverses_binary64_13357 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 distribute-neg-in_binary64_13338 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 distribute-lft-out--_binary64_13329 associate-/r/_binary64_13323 associate-/r*_binary64_13321 associate--r-_binary64_13316 associate--l-_binary64_13315 associate--l+_binary64_13314
Counts
45 → 45
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
070416
1155386
2454386
31597386
42990386
55688386

prune25.0ms (0.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New43245
Fresh101
Picked011
Done000
Total44347
Error
0.0b
Counts
47 → 3
Compiler

Compiled 439 to 87 computations (80.2% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z y)))

rewrite21.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_13416
sum-log_binary64_13468
neg-log_binary64_13470 pow1_binary64_13438 add-exp-log_binary64_13415 add-cbrt-cube_binary64_13413 add-cube-cbrt_binary64_13412 add-sqr-sqrt_binary64_13399 flip3-+_binary64_13380 *-un-lft-identity_binary64_13377 unsub-neg_binary64_13371 flip-+_binary64_13351 distribute-lft-neg-in_binary64_13334 distribute-rgt-out_binary64_13330 neg-sub0_binary64_13372 associate-+r-_binary64_13311 +-commutative_binary64_13307
Counts
1 → 15
Calls

1 calls:

5.0ms
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z y)))
Compiler

Compiled 233 to 54 computations (76.8% saved)

series123.0ms (2.5%)

Error
0.0b
Counts
1 → 15
Calls

1 calls:

115.0ms
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z y)))
Compiler

Compiled 225 to 154 computations (31.6% saved)

simplify91.0ms (1.8%)

Algorithm
egg-herbie
Rules
571×associate-*l*_binary64_13318
455×associate-*r*_binary64_13317
430×neg-mul-1_binary64_13373
364×distribute-rgt-neg-out_binary64_13337
341×distribute-rgt-out_binary64_13330
324×distribute-lft-neg-out_binary64_13336
273×times-frac_binary64_13383
223×distribute-lft-out_binary64_13328
199×distribute-rgt-in_binary64_13327
174×distribute-rgt-neg-in_binary64_13335
161×distribute-lft-in_binary64_13326
148×unsub-neg_binary64_13371
128×distribute-lft-neg-in_binary64_13334
110×cancel-sign-sub-inv_binary64_13343
101×cancel-sign-sub_binary64_13342
85×exp-prod_binary64_13429
81×distribute-rgt-out--_binary64_13331
75×*-commutative_binary64_13308
71×cube-prod_binary64_13405 neg-sub0_binary64_13372
69×sub-neg_binary64_13370
68×unswap-sqr_binary64_13345
59×sqr-pow_binary64_13349
52×distribute-neg-out_binary64_13339
47×distribute-neg-in_binary64_13338
41×distribute-lft-out--_binary64_13329
37×exp-sum_binary64_13423 div-sub_binary64_13382
33×associate-/l*_binary64_13322
32×exp-diff_binary64_13425
29×log-prod_binary64_13463
25×associate-+r+_binary64_13309
20×associate-+l-_binary64_13312
18×mul0-rgt_binary64_13360 mul0-lft_binary64_13359
17×swap-sqr_binary64_13344 associate--r+_binary64_13313
16×associate-+l+_binary64_13310 +-commutative_binary64_13307
15×remove-double-neg_binary64_13365
14×difference-of-squares_binary64_13346
13×unpow3_binary64_13443
12×cube-neg_binary64_13404 mul-1-neg_binary64_13369 *-rgt-identity_binary64_13367 *-lft-identity_binary64_13366
11×sub0-neg_binary64_13364 pow-sqr_binary64_13350
10×associate--l+_binary64_13314
cube-unmult_binary64_13414 cube-mult_binary64_13407 associate-+r-_binary64_13311
associate--r-_binary64_13316 associate--l-_binary64_13315
sqr-neg_binary64_13391 +-rgt-identity_binary64_13362
distribute-frac-neg_binary64_13340 associate-/l/_binary64_13324
associate-/r/_binary64_13323
--rgt-identity_binary64_13363 associate-/r*_binary64_13321
unpow1/2_binary64_13441 div-exp_binary64_13428 rec-exp_binary64_13427 prod-exp_binary64_13426 1-exp_binary64_13421 exp-1-e_binary64_13420 /-rgt-identity_binary64_13368 +-lft-identity_binary64_13361 associate-*r/_binary64_13319
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 log-pow_binary64_13466 log-rec_binary64_13465 log-div_binary64_13464 pow-base-0_binary64_13461 unpow1/3_binary64_13444 unpow2_binary64_13442 pow-plus_binary64_13440 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow1_binary64_13435 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 exp-neg_binary64_13424 e-exp-1_binary64_13422 exp-0_binary64_13419 rem-log-exp_binary64_13418 rem-exp-log_binary64_13417 cube-div_binary64_13406 rem-3cbrt-rft_binary64_13403 rem-3cbrt-lft_binary64_13402 rem-cbrt-cube_binary64_13401 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 rem-sqrt-square_binary64_13390 rem-square-sqrt_binary64_13389 div0_binary64_13358 *-inverses_binary64_13357 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 distribute-neg-frac_binary64_13341 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 count-2_binary64_13325 associate-*l/_binary64_13320
Counts
30 → 65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
045292
1137266
2546258
32010255
44163255
55032255

prune42.0ms (0.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New65065
Fresh011
Picked011
Done011
Total65368
Error
0.0b
Counts
68 → 3
Compiler

Compiled 1119 to 187 computations (83.3% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (-.f64 x z) y)
0.1b
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y)))
0.3b
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))
35.5b
(cbrt.f64 (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))))

rewrite270.0ms (5.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
173×pow1_binary64_13438
140×associate-*l/_binary64_13320
78×pow-prod-down_binary64_13448
68×add-cbrt-cube_binary64_13413
61×flip3--_binary64_13381 flip--_binary64_13352
60×frac-times_binary64_13387
59×add-exp-log_binary64_13415
43×cbrt-unprod_binary64_13410
40×prod-exp_binary64_13426
34×pow-prod-up_binary64_13447
30×associate-*r/_binary64_13319
26×cbrt-div_binary64_13409
12×pow-sqr_binary64_13350
10×add-sqr-sqrt_binary64_13399
*-un-lft-identity_binary64_13377
associate-*l*_binary64_13318
add-cube-cbrt_binary64_13412 pow-plus_binary64_13440
associate-*r*_binary64_13317
add-log-exp_binary64_13416
pow2_binary64_13458 *-commutative_binary64_13308
cube-unmult_binary64_13414 rem-3cbrt-rft_binary64_13403
pow1/3_binary64_13459 cbrt-prod_binary64_13408 rem-cbrt-cube_binary64_13401 swap-sqr_binary64_13344 unswap-sqr_binary64_13345 difference-of-squares_binary64_13346 distribute-lft-out--_binary64_13329
Counts
4 → 191
Calls

4 calls:

27.0ms
(cbrt.f64 (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))))
24.0ms
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y)))
13.0ms
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))
7.0ms
(*.f64 (-.f64 x z) y)
Compiler

Compiled 5713 to 1181 computations (79.3% saved)

series807.0ms (16.3%)

Error
0.0b
Counts
4 → 78
Calls

4 calls:

257.0ms
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))
239.0ms
(*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y)))
128.0ms
(cbrt.f64 (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (*.f64 (-.f64 x z) y) (*.f64 (-.f64 x z) y))))
110.0ms
(*.f64 (-.f64 x z) y)
Compiler

Compiled 3466 to 2344 computations (32.4% saved)

simplify250.0ms (5%)

Algorithm
egg-herbie
Rules
430×associate-*l*_binary64_13318
412×associate-*r*_binary64_13317
267×unswap-sqr_binary64_13345
224×cancel-sign-sub-inv_binary64_13343
198×exp-prod_binary64_13429
188×log-prod_binary64_13463
164×*-commutative_binary64_13308
155×cube-prod_binary64_13405
154×associate-+r+_binary64_13309
147×sub-neg_binary64_13370
146×+-commutative_binary64_13307
144×neg-sub0_binary64_13372
139×neg-mul-1_binary64_13373
110×associate-+l+_binary64_13310
108×distribute-rgt-neg-in_binary64_13335
105×distribute-rgt-in_binary64_13327
103×distribute-lft-in_binary64_13326
94×distribute-lft-neg-in_binary64_13334
88×unsub-neg_binary64_13371
76×swap-sqr_binary64_13344
67×sqr-pow_binary64_13349
48×distribute-lft-neg-out_binary64_13336
47×distribute-rgt-out_binary64_13330
45×exp-sum_binary64_13423
38×unpow3_binary64_13443 distribute-rgt-neg-out_binary64_13337 distribute-rgt-out--_binary64_13331
28×cube-mult_binary64_13407
23×associate-+l-_binary64_13312
21×cube-unmult_binary64_13414 associate-+r-_binary64_13311
19×log-pow_binary64_13466
17×*-lft-identity_binary64_13366
16×div-sub_binary64_13382
14×pow-plus_binary64_13440 exp-neg_binary64_13424 associate--l+_binary64_13314
12×associate-/l*_binary64_13322
11×rem-sqrt-square_binary64_13390 *-rgt-identity_binary64_13367
exp-diff_binary64_13425 pow-sqr_binary64_13350
difference-of-squares_binary64_13346
distribute-neg-in_binary64_13338 distribute-lft-out--_binary64_13329 associate--r+_binary64_13313
unpow2_binary64_13442 unpow1/2_binary64_13441 rem-cbrt-cube_binary64_13401 mul-1-neg_binary64_13369
unpow1_binary64_13435 distribute-lft-out_binary64_13328
count-2_binary64_13325
1-exp_binary64_13421 exp-1-e_binary64_13420 rem-3cbrt-lft_binary64_13402
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_13640 erf-erfc_binary64_13639 erf-odd_binary64_13638 if-if-and-not_binary64_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 not-gte_binary64_13629 not-lte_binary64_13628 not-gt_binary64_13627 not-lt_binary64_13626 gte-same_binary64_13625 lte-same_binary64_13624 gt-same_binary64_13623 lt-same_binary64_13622 sinh---cosh_binary64_13569 sinh-+-cosh_binary64_13568 sinh-cosh_binary64_13567 tanh-def-c_binary64_13566 tanh-def-b_binary64_13565 tanh-def-a_binary64_13564 cosh-def_binary64_13563 sinh-def_binary64_13562 tan-neg_binary64_13509 cos-neg_binary64_13508 sin-neg_binary64_13507 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 hang-m-tan_binary64_13503 hang-p-tan_binary64_13502 hang-m0-tan_binary64_13501 hang-p0-tan_binary64_13500 hang-0m-tan_binary64_13499 hang-0p-tan_binary64_13498 tan-+PI/2_binary64_13497 tan-+PI_binary64_13496 tan-PI_binary64_13495 tan-PI/3_binary64_13494 tan-PI/4_binary64_13493 tan-PI/6_binary64_13492 cos-+PI/2_binary64_13491 cos-+PI_binary64_13490 cos-PI_binary64_13489 cos-PI/2_binary64_13488 cos-PI/3_binary64_13487 cos-PI/4_binary64_13486 cos-PI/6_binary64_13485 sin-+PI/2_binary64_13484 sin-+PI_binary64_13483 sin-PI_binary64_13482 sin-PI/2_binary64_13481 sin-PI/3_binary64_13480 sin-PI/4_binary64_13479 sin-PI/6_binary64_13478 sub-1-sin_binary64_13477 sub-1-cos_binary64_13476 -1-add-sin_binary64_13475 -1-add-cos_binary64_13474 1-sub-sin_binary64_13473 1-sub-cos_binary64_13472 cos-sin-sum_binary64_13471 log-E_binary64_13467 log-rec_binary64_13465 log-div_binary64_13464 pow-base-0_binary64_13461 unpow1/3_binary64_13444 exp-to-pow_binary64_13439 pow-base-1_binary64_13437 unpow0_binary64_13436 unpow-1_binary64_13434 exp-lft-cube_binary64_13433 exp-lft-sqr_binary64_13432 exp-cbrt_binary64_13431 exp-sqrt_binary64_13430 div-exp_binary64_13428 rec-exp_binary64_13427 prod-exp_binary64_13426 e-exp-1_binary64_13422 exp-0_binary64_13419 rem-log-exp_binary64_13418 rem-exp-log_binary64_13417 cube-div_binary64_13406 cube-neg_binary64_13404 rem-3cbrt-rft_binary64_13403 rem-cube-cbrt_binary64_13400 sqr-abs_binary64_13392 sqr-neg_binary64_13391 rem-square-sqrt_binary64_13389 times-frac_binary64_13383 /-rgt-identity_binary64_13368 remove-double-neg_binary64_13365 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 mul0-rgt_binary64_13360 mul0-lft_binary64_13359 div0_binary64_13358 *-inverses_binary64_13357 +-inverses_binary64_13356 lft-mult-inverse_binary64_13355 rgt-mult-inverse_binary64_13354 remove-double-div_binary64_13353 difference-of-sqr--1_binary64_13348 difference-of-sqr-1_binary64_13347 cancel-sign-sub_binary64_13342 distribute-neg-frac_binary64_13341 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-rgt1-in_binary64_13333 distribute-lft1-in_binary64_13332 associate-/l/_binary64_13324 associate-/r/_binary64_13323 associate-/r*_binary64_13321 associate-*l/_binary64_13320 associate-*r/_binary64_13319 associate--r-_binary64_13316 associate--l-_binary64_13315
Counts
269 → 757
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02395835
15225275
220315036
340954985
449934985
550154985

prune924.0ms (18.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New7570757
Fresh000
Picked011
Done022
Total7573760
Error
0.0b
Counts
760 → 3
Compiler

Compiled 22514 to 6962 computations (69.1% saved)

regimes105.0ms (2.1%)

Accuracy

Total 0.0b remaining (73.6%)

Threshold costs 0.0b (73.6%)

Compiler

Compiled 672 to 524 computations (22% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_13308
sub-neg_binary64_13370 +-commutative_binary64_13307
neg-mul-1_binary64_13373 neg-sub0_binary64_13372
cancel-sign-sub-inv_binary64_13343 distribute-rgt-neg-in_binary64_13335
distribute-lft-neg-out_binary64_13336 distribute-lft-neg-in_binary64_13334
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_13637 if-if-and_binary64_13636 if-if-or-not_binary64_13635 if-if-or_binary64_13634 if-not_binary64_13633 if-same_binary64_13632 if-false_binary64_13631 if-true_binary64_13630 tan-0_binary64_13506 cos-0_binary64_13505 sin-0_binary64_13504 unpow1_binary64_13435 e-exp-1_binary64_13422 1-exp_binary64_13421 exp-1-e_binary64_13420 exp-0_binary64_13419 sqr-abs_binary64_13392 sqr-neg_binary64_13391 unsub-neg_binary64_13371 mul-1-neg_binary64_13369 /-rgt-identity_binary64_13368 *-rgt-identity_binary64_13367 *-lft-identity_binary64_13366 remove-double-neg_binary64_13365 sub0-neg_binary64_13364 --rgt-identity_binary64_13363 +-rgt-identity_binary64_13362 +-lft-identity_binary64_13361 cancel-sign-sub_binary64_13342 distribute-neg-frac_binary64_13341 distribute-frac-neg_binary64_13340 distribute-neg-out_binary64_13339 distribute-neg-in_binary64_13338 distribute-rgt-neg-out_binary64_13337
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11410
22410
33010
43410
53510
63510

end0.0ms (0%)

sample1.1s (22.2%)

Algorithm
intervals
Results
189.0ms5844×body128valid
110.0ms820×body1024valid
70.0ms456×body2048valid
57.0ms563×body512valid
47.0ms1358×body128invalid
26.0ms298×body512invalid
25.0ms188×body1024invalid
19.0ms317×body256valid
13.0ms217×body256invalid
Compiler

Compiled 187 to 146 computations (21.9% saved)

Profiling

Loading profile data...