Details

Time bar (total: 3.8s)

analyze60.0ms (1.6%)

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
25%74.9%0.1%5
37.5%50%12.6%6
43.7%40.6%15.7%7
56.2%23.4%20.4%8
57.8%21.1%21.2%9
64%12.5%23.5%10
64.8%10.7%24.5%11
67.9%6.4%25.7%12
68.3%5.4%26.3%13
69.9%3.3%26.9%14
Compiler

Compiled 10 to 8 computations (20% saved)

sample18.0ms (0.5%)

Algorithm
intervals
Results
6.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 19 to 17 computations (10.5% saved)

simplify148.0ms (3.9%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64_14331
distribute-rgt-out_binary64_14353
associate-*l*_binary64_14341 associate-*r*_binary64_14340
distribute-rgt-in_binary64_14350
distribute-lft-out_binary64_14351
distribute-lft-in_binary64_14349 +-commutative_binary64_14330
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_14663 erf-erfc_binary64_14662 erf-odd_binary64_14661 if-if-and-not_binary64_14660 if-if-and_binary64_14659 if-if-or-not_binary64_14658 if-if-or_binary64_14657 if-not_binary64_14656 if-same_binary64_14655 if-false_binary64_14654 if-true_binary64_14653 not-gte_binary64_14652 not-lte_binary64_14651 not-gt_binary64_14650 not-lt_binary64_14649 gte-same_binary64_14648 lte-same_binary64_14647 gt-same_binary64_14646 lt-same_binary64_14645 sinh---cosh_binary64_14592 sinh-+-cosh_binary64_14591 sinh-cosh_binary64_14590 tanh-def-c_binary64_14589 tanh-def-b_binary64_14588 tanh-def-a_binary64_14587 cosh-def_binary64_14586 sinh-def_binary64_14585 tan-neg_binary64_14532 cos-neg_binary64_14531 sin-neg_binary64_14530 tan-0_binary64_14529 cos-0_binary64_14528 sin-0_binary64_14527 hang-m-tan_binary64_14526 hang-p-tan_binary64_14525 hang-m0-tan_binary64_14524 hang-p0-tan_binary64_14523 hang-0m-tan_binary64_14522 hang-0p-tan_binary64_14521 tan-+PI/2_binary64_14520 tan-+PI_binary64_14519 tan-PI_binary64_14518 tan-PI/3_binary64_14517 tan-PI/4_binary64_14516 tan-PI/6_binary64_14515 cos-+PI/2_binary64_14514 cos-+PI_binary64_14513 cos-PI_binary64_14512 cos-PI/2_binary64_14511 cos-PI/3_binary64_14510 cos-PI/4_binary64_14509 cos-PI/6_binary64_14508 sin-+PI/2_binary64_14507 sin-+PI_binary64_14506 sin-PI_binary64_14505 sin-PI/2_binary64_14504 sin-PI/3_binary64_14503 sin-PI/4_binary64_14502 sin-PI/6_binary64_14501 sub-1-sin_binary64_14500 sub-1-cos_binary64_14499 -1-add-sin_binary64_14498 -1-add-cos_binary64_14497 1-sub-sin_binary64_14496 1-sub-cos_binary64_14495 cos-sin-sum_binary64_14494 log-E_binary64_14490 log-pow_binary64_14489 log-rec_binary64_14488 log-div_binary64_14487 log-prod_binary64_14486 pow-base-0_binary64_14484 unpow1/3_binary64_14467 unpow3_binary64_14466 unpow2_binary64_14465 unpow1/2_binary64_14464 pow-plus_binary64_14463 exp-to-pow_binary64_14462 pow-base-1_binary64_14460 unpow0_binary64_14459 unpow1_binary64_14458 unpow-1_binary64_14457 exp-lft-cube_binary64_14456 exp-lft-sqr_binary64_14455 exp-cbrt_binary64_14454 exp-sqrt_binary64_14453 exp-prod_binary64_14452 div-exp_binary64_14451 rec-exp_binary64_14450 prod-exp_binary64_14449 exp-diff_binary64_14448 exp-neg_binary64_14447 exp-sum_binary64_14446 e-exp-1_binary64_14445 1-exp_binary64_14444 exp-1-e_binary64_14443 exp-0_binary64_14442 rem-log-exp_binary64_14441 rem-exp-log_binary64_14440 cube-unmult_binary64_14437 cube-mult_binary64_14430 cube-div_binary64_14429 cube-prod_binary64_14428 cube-neg_binary64_14427 rem-3cbrt-rft_binary64_14426 rem-3cbrt-lft_binary64_14425 rem-cbrt-cube_binary64_14424 rem-cube-cbrt_binary64_14423 sqr-abs_binary64_14415 sqr-neg_binary64_14414 rem-sqrt-square_binary64_14413 rem-square-sqrt_binary64_14412 times-frac_binary64_14406 div-sub_binary64_14405 neg-mul-1_binary64_14396 neg-sub0_binary64_14395 unsub-neg_binary64_14394 sub-neg_binary64_14393 mul-1-neg_binary64_14392 /-rgt-identity_binary64_14391 *-rgt-identity_binary64_14390 *-lft-identity_binary64_14389 remove-double-neg_binary64_14388 sub0-neg_binary64_14387 --rgt-identity_binary64_14386 +-rgt-identity_binary64_14385 +-lft-identity_binary64_14384 mul0-rgt_binary64_14383 mul0-lft_binary64_14382 div0_binary64_14381 *-inverses_binary64_14380 +-inverses_binary64_14379 lft-mult-inverse_binary64_14378 rgt-mult-inverse_binary64_14377 remove-double-div_binary64_14376 pow-sqr_binary64_14373 sqr-pow_binary64_14372 difference-of-sqr--1_binary64_14371 difference-of-sqr-1_binary64_14370 difference-of-squares_binary64_14369 unswap-sqr_binary64_14368 swap-sqr_binary64_14367 cancel-sign-sub-inv_binary64_14366 cancel-sign-sub_binary64_14365 distribute-neg-frac_binary64_14364 distribute-frac-neg_binary64_14363 distribute-neg-out_binary64_14362 distribute-neg-in_binary64_14361 distribute-rgt-neg-out_binary64_14360 distribute-lft-neg-out_binary64_14359 distribute-rgt-neg-in_binary64_14358 distribute-lft-neg-in_binary64_14357 distribute-rgt1-in_binary64_14356 distribute-lft1-in_binary64_14355 distribute-rgt-out--_binary64_14354 distribute-lft-out--_binary64_14352 count-2_binary64_14348 associate-/l/_binary64_14347 associate-/r/_binary64_14346 associate-/l*_binary64_14345 associate-/r*_binary64_14344 associate-*l/_binary64_14343 associate-*r/_binary64_14342 associate--r-_binary64_14339 associate--l-_binary64_14338 associate--l+_binary64_14337 associate--r+_binary64_14336 associate-+l-_binary64_14335 associate-+r-_binary64_14334 associate-+l+_binary64_14333 associate-+r+_binary64_14332
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11910
23610
34510
44310

prune6.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 37 to 25 computations (32.4% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite28.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_14461 add-exp-log_binary64_14438 add-cbrt-cube_binary64_14436
pow-prod-down_binary64_14471 prod-exp_binary64_14449 cbrt-unprod_binary64_14433 associate-*l*_binary64_14341
add-cube-cbrt_binary64_14435 add-sqr-sqrt_binary64_14422 *-un-lft-identity_binary64_14400 associate-*l/_binary64_14343 associate-*r/_binary64_14342
add-log-exp_binary64_14439 flip3-+_binary64_14403 flip-+_binary64_14374 associate-*r*_binary64_14340 *-commutative_binary64_14331
Counts
1 → 20
Calls

1 calls:

8.0ms
(*.f64 x (*.f64 (+.f64 x y) 2))
Compiler

Compiled 276 to 143 computations (48.2% saved)

series140.0ms (3.6%)

Error
0.0b
Counts
1 → 12
Calls

1 calls:

130.0ms
(*.f64 x (*.f64 (+.f64 x y) 2))
Compiler

Compiled 258 to 216 computations (16.3% saved)

simplify127.0ms (3.3%)

Algorithm
egg-herbie
Rules
656×unswap-sqr_binary64_14368
505×associate-*l*_binary64_14341
335×associate-*r*_binary64_14340
320×associate-+l+_binary64_14333
307×distribute-rgt-in_binary64_14350
305×distribute-lft-in_binary64_14349
280×associate-+r+_binary64_14332
108×sqr-pow_binary64_14372
84×associate-*r/_binary64_14342
83×associate-*l/_binary64_14343
80×*-commutative_binary64_14331
65×+-commutative_binary64_14330
55×exp-prod_binary64_14452
43×pow-sqr_binary64_14373
33×distribute-rgt-out_binary64_14353
30×log-prod_binary64_14486 neg-sub0_binary64_14395 unsub-neg_binary64_14394
29×neg-mul-1_binary64_14396
26×cube-prod_binary64_14428
23×log-div_binary64_14487
22×cube-div_binary64_14429
20×times-frac_binary64_14406
18×exp-sum_binary64_14446
17×exp-sqrt_binary64_14453
15×pow-plus_binary64_14463 distribute-lft-neg-out_binary64_14359 associate-/r*_binary64_14344
14×distribute-rgt-neg-out_binary64_14360
13×sub-neg_binary64_14393 swap-sqr_binary64_14367 associate-/l/_binary64_14347 associate-/l*_binary64_14345
12×unpow3_binary64_14466 associate-/r/_binary64_14346
10×exp-lft-sqr_binary64_14455 cube-unmult_binary64_14437
difference-of-squares_binary64_14369
cube-mult_binary64_14430 /-rgt-identity_binary64_14391
prod-exp_binary64_14449
log-pow_binary64_14489 cancel-sign-sub-inv_binary64_14366 associate-+r-_binary64_14334
unpow1_binary64_14458 distribute-rgt-neg-in_binary64_14358 distribute-lft-out_binary64_14351 count-2_binary64_14348
log-rec_binary64_14488 sub0-neg_binary64_14387 +-rgt-identity_binary64_14385 distribute-lft-neg-in_binary64_14357 associate-+l-_binary64_14335
unpow2_binary64_14465 div-exp_binary64_14451 rec-exp_binary64_14450 1-exp_binary64_14444 exp-1-e_binary64_14443 rem-log-exp_binary64_14441 rem-sqrt-square_binary64_14413 *-rgt-identity_binary64_14390 *-lft-identity_binary64_14389 *-inverses_binary64_14380 rgt-mult-inverse_binary64_14377 distribute-rgt1-in_binary64_14356
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_14663 erf-erfc_binary64_14662 erf-odd_binary64_14661 if-if-and-not_binary64_14660 if-if-and_binary64_14659 if-if-or-not_binary64_14658 if-if-or_binary64_14657 if-not_binary64_14656 if-same_binary64_14655 if-false_binary64_14654 if-true_binary64_14653 not-gte_binary64_14652 not-lte_binary64_14651 not-gt_binary64_14650 not-lt_binary64_14649 gte-same_binary64_14648 lte-same_binary64_14647 gt-same_binary64_14646 lt-same_binary64_14645 sinh---cosh_binary64_14592 sinh-+-cosh_binary64_14591 sinh-cosh_binary64_14590 tanh-def-c_binary64_14589 tanh-def-b_binary64_14588 tanh-def-a_binary64_14587 cosh-def_binary64_14586 sinh-def_binary64_14585 tan-neg_binary64_14532 cos-neg_binary64_14531 sin-neg_binary64_14530 tan-0_binary64_14529 cos-0_binary64_14528 sin-0_binary64_14527 hang-m-tan_binary64_14526 hang-p-tan_binary64_14525 hang-m0-tan_binary64_14524 hang-p0-tan_binary64_14523 hang-0m-tan_binary64_14522 hang-0p-tan_binary64_14521 tan-+PI/2_binary64_14520 tan-+PI_binary64_14519 tan-PI_binary64_14518 tan-PI/3_binary64_14517 tan-PI/4_binary64_14516 tan-PI/6_binary64_14515 cos-+PI/2_binary64_14514 cos-+PI_binary64_14513 cos-PI_binary64_14512 cos-PI/2_binary64_14511 cos-PI/3_binary64_14510 cos-PI/4_binary64_14509 cos-PI/6_binary64_14508 sin-+PI/2_binary64_14507 sin-+PI_binary64_14506 sin-PI_binary64_14505 sin-PI/2_binary64_14504 sin-PI/3_binary64_14503 sin-PI/4_binary64_14502 sin-PI/6_binary64_14501 sub-1-sin_binary64_14500 sub-1-cos_binary64_14499 -1-add-sin_binary64_14498 -1-add-cos_binary64_14497 1-sub-sin_binary64_14496 1-sub-cos_binary64_14495 cos-sin-sum_binary64_14494 log-E_binary64_14490 pow-base-0_binary64_14484 unpow1/3_binary64_14467 unpow1/2_binary64_14464 exp-to-pow_binary64_14462 pow-base-1_binary64_14460 unpow0_binary64_14459 unpow-1_binary64_14457 exp-lft-cube_binary64_14456 exp-cbrt_binary64_14454 exp-diff_binary64_14448 exp-neg_binary64_14447 e-exp-1_binary64_14445 exp-0_binary64_14442 rem-exp-log_binary64_14440 cube-neg_binary64_14427 rem-3cbrt-rft_binary64_14426 rem-3cbrt-lft_binary64_14425 rem-cbrt-cube_binary64_14424 rem-cube-cbrt_binary64_14423 sqr-abs_binary64_14415 sqr-neg_binary64_14414 rem-square-sqrt_binary64_14412 div-sub_binary64_14405 mul-1-neg_binary64_14392 remove-double-neg_binary64_14388 --rgt-identity_binary64_14386 +-lft-identity_binary64_14384 mul0-rgt_binary64_14383 mul0-lft_binary64_14382 div0_binary64_14381 +-inverses_binary64_14379 lft-mult-inverse_binary64_14378 remove-double-div_binary64_14376 difference-of-sqr--1_binary64_14371 difference-of-sqr-1_binary64_14370 cancel-sign-sub_binary64_14365 distribute-neg-frac_binary64_14364 distribute-frac-neg_binary64_14363 distribute-neg-out_binary64_14362 distribute-neg-in_binary64_14361 distribute-lft1-in_binary64_14355 distribute-rgt-out--_binary64_14354 distribute-lft-out--_binary64_14352 associate--r-_binary64_14339 associate--l-_binary64_14338 associate--l+_binary64_14337 associate--r+_binary64_14336
Counts
32 → 97
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052434
1147344
2496344
31966344
43758344

prune82.0ms (2.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New96197
Fresh011
Picked101
Done000
Total97299
Error
0b
Counts
99 → 2
Compiler

Compiled 1364 to 650 computations (52.3% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

rewrite45.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_14422
pow1_binary64_14461 add-exp-log_binary64_14438 add-log-exp_binary64_14439 add-cbrt-cube_binary64_14436 add-cube-cbrt_binary64_14435 *-un-lft-identity_binary64_14400 associate-*r*_binary64_14340
associate-*l*_binary64_14341
flip3-+_binary64_14403 associate-*r/_binary64_14342 flip-+_binary64_14374 distribute-lft-out_binary64_14351
pow-prod-down_binary64_14471 prod-exp_binary64_14449 cbrt-unprod_binary64_14433 unswap-sqr_binary64_14368 distribute-rgt-in_binary64_14350 distribute-lft-in_binary64_14349 *-commutative_binary64_14331 sum-log_binary64_14491 +-commutative_binary64_14330
Counts
2 → 35
Calls

2 calls:

8.0ms
(*.f64 2 (+.f64 (*.f64 x x) (*.f64 x y)))
4.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 608 to 186 computations (69.4% saved)

series294.0ms (7.7%)

Error
0b
Counts
2 → 24
Calls

2 calls:

170.0ms
(*.f64 2 (+.f64 (*.f64 x x) (*.f64 x y)))
111.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 480 to 393 computations (18.1% saved)

simplify183.0ms (4.8%)

Algorithm
egg-herbie
Rules
336×associate-/l*_binary64_14345
256×distribute-rgt-in_binary64_14350
237×distribute-lft-in_binary64_14349
216×associate-/r*_binary64_14344
213×associate-+l+_binary64_14333
204×associate-+r+_binary64_14332
189×cube-div_binary64_14429
179×*-commutative_binary64_14331
151×associate-/r/_binary64_14346
148×exp-prod_binary64_14452
136×unswap-sqr_binary64_14368
131×distribute-rgt-out_binary64_14353
116×associate-*l*_binary64_14341
111×log-div_binary64_14487
108×associate-*r*_binary64_14340
90×log-prod_binary64_14486
83×cancel-sign-sub-inv_binary64_14366
76×+-commutative_binary64_14330
75×associate-/l/_binary64_14347
72×sqr-pow_binary64_14372
63×distribute-lft-out_binary64_14351
60×distribute-rgt-neg-in_binary64_14358
57×associate-*l/_binary64_14343
49×distribute-lft-neg-in_binary64_14357
47×swap-sqr_binary64_14367
38×exp-sum_binary64_14446
37×cube-prod_binary64_14428
36×associate-+l-_binary64_14335
35×exp-sqrt_binary64_14453 sub-neg_binary64_14393
33×*-rgt-identity_binary64_14390 *-lft-identity_binary64_14389
32×associate--l+_binary64_14337
31×pow-sqr_binary64_14373
28×times-frac_binary64_14406 associate--l-_binary64_14338
26×exp-lft-sqr_binary64_14455 distribute-rgt-out--_binary64_14354
25×associate-+r-_binary64_14334
24×pow-plus_binary64_14463
20×associate-*r/_binary64_14342
19×unpow3_binary64_14466
18×distribute-lft-neg-out_binary64_14359
17×neg-mul-1_binary64_14396
16×prod-exp_binary64_14449 neg-sub0_binary64_14395
15×cube-mult_binary64_14430
14×unsub-neg_binary64_14394
13×log-rec_binary64_14488
12×exp-diff_binary64_14448 distribute-lft-out--_binary64_14352
distribute-neg-frac_binary64_14364 distribute-rgt-neg-out_binary64_14360
cube-unmult_binary64_14437
difference-of-squares_binary64_14369
log-pow_binary64_14489 +-rgt-identity_binary64_14385 distribute-neg-out_binary64_14362
distribute-neg-in_binary64_14361 distribute-rgt1-in_binary64_14356 distribute-lft1-in_binary64_14355 associate--r+_binary64_14336
div-sub_binary64_14405 /-rgt-identity_binary64_14391 sub0-neg_binary64_14387 count-2_binary64_14348
unpow2_binary64_14465 unpow1_binary64_14458
pow-base-1_binary64_14460 div-exp_binary64_14451 rec-exp_binary64_14450 1-exp_binary64_14444 exp-1-e_binary64_14443 rem-log-exp_binary64_14441 rem-exp-log_binary64_14440 rem-sqrt-square_binary64_14413 *-inverses_binary64_14380
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_14663 erf-erfc_binary64_14662 erf-odd_binary64_14661 if-if-and-not_binary64_14660 if-if-and_binary64_14659 if-if-or-not_binary64_14658 if-if-or_binary64_14657 if-not_binary64_14656 if-same_binary64_14655 if-false_binary64_14654 if-true_binary64_14653 not-gte_binary64_14652 not-lte_binary64_14651 not-gt_binary64_14650 not-lt_binary64_14649 gte-same_binary64_14648 lte-same_binary64_14647 gt-same_binary64_14646 lt-same_binary64_14645 sinh---cosh_binary64_14592 sinh-+-cosh_binary64_14591 sinh-cosh_binary64_14590 tanh-def-c_binary64_14589 tanh-def-b_binary64_14588 tanh-def-a_binary64_14587 cosh-def_binary64_14586 sinh-def_binary64_14585 tan-neg_binary64_14532 cos-neg_binary64_14531 sin-neg_binary64_14530 tan-0_binary64_14529 cos-0_binary64_14528 sin-0_binary64_14527 hang-m-tan_binary64_14526 hang-p-tan_binary64_14525 hang-m0-tan_binary64_14524 hang-p0-tan_binary64_14523 hang-0m-tan_binary64_14522 hang-0p-tan_binary64_14521 tan-+PI/2_binary64_14520 tan-+PI_binary64_14519 tan-PI_binary64_14518 tan-PI/3_binary64_14517 tan-PI/4_binary64_14516 tan-PI/6_binary64_14515 cos-+PI/2_binary64_14514 cos-+PI_binary64_14513 cos-PI_binary64_14512 cos-PI/2_binary64_14511 cos-PI/3_binary64_14510 cos-PI/4_binary64_14509 cos-PI/6_binary64_14508 sin-+PI/2_binary64_14507 sin-+PI_binary64_14506 sin-PI_binary64_14505 sin-PI/2_binary64_14504 sin-PI/3_binary64_14503 sin-PI/4_binary64_14502 sin-PI/6_binary64_14501 sub-1-sin_binary64_14500 sub-1-cos_binary64_14499 -1-add-sin_binary64_14498 -1-add-cos_binary64_14497 1-sub-sin_binary64_14496 1-sub-cos_binary64_14495 cos-sin-sum_binary64_14494 log-E_binary64_14490 pow-base-0_binary64_14484 unpow1/3_binary64_14467 unpow1/2_binary64_14464 exp-to-pow_binary64_14462 unpow0_binary64_14459 unpow-1_binary64_14457 exp-lft-cube_binary64_14456 exp-cbrt_binary64_14454 exp-neg_binary64_14447 e-exp-1_binary64_14445 exp-0_binary64_14442 cube-neg_binary64_14427 rem-3cbrt-rft_binary64_14426 rem-3cbrt-lft_binary64_14425 rem-cbrt-cube_binary64_14424 rem-cube-cbrt_binary64_14423 sqr-abs_binary64_14415 sqr-neg_binary64_14414 rem-square-sqrt_binary64_14412 mul-1-neg_binary64_14392 remove-double-neg_binary64_14388 --rgt-identity_binary64_14386 +-lft-identity_binary64_14384 mul0-rgt_binary64_14383 mul0-lft_binary64_14382 div0_binary64_14381 +-inverses_binary64_14379 lft-mult-inverse_binary64_14378 rgt-mult-inverse_binary64_14377 remove-double-div_binary64_14376 difference-of-sqr--1_binary64_14371 difference-of-sqr-1_binary64_14370 cancel-sign-sub_binary64_14365 distribute-frac-neg_binary64_14363 associate--r-_binary64_14339
Counts
59 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062682
1191619
2770616
31945616
44525616

prune72.0ms (1.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New95095
Fresh011
Picked011
Done000
Total95297
Error
0b
Counts
97 → 2
Compiler

Compiled 1391 to 553 computations (60.2% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 x (*.f64 (+.f64 x y) 2))
0.3b
(*.f64 (sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2))) (sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y)))))
7.8b
(sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y))))
7.8b
(sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2)))

rewrite158.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
59×pow1_binary64_14461
38×pow-prod-down_binary64_14471
28×associate-*r/_binary64_14342
24×sqrt-pow1_binary64_14418
16×sqrt-div_binary64_14417
12×associate-*l/_binary64_14343
11×add-exp-log_binary64_14438 add-cbrt-cube_binary64_14436
add-sqr-sqrt_binary64_14422 flip3-+_binary64_14403 flip-+_binary64_14374
add-cube-cbrt_binary64_14435 *-un-lft-identity_binary64_14400 associate-*l*_binary64_14341
associate-*r*_binary64_14340
pow1/2_binary64_14480 add-log-exp_binary64_14439 sqrt-prod_binary64_14416 prod-exp_binary64_14449 cbrt-unprod_binary64_14433 frac-times_binary64_14410
*-commutative_binary64_14331
sqrt-unprod_binary64_14420 unswap-sqr_binary64_14368
Counts
4 → 87
Calls

4 calls:

18.0ms
(*.f64 (sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2))) (sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y)))))
8.0ms
(*.f64 x (*.f64 (+.f64 x y) 2))
6.0ms
(sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2)))
6.0ms
(sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y))))
Compiler

Compiled 2218 to 1187 computations (46.5% saved)

series784.0ms (20.5%)

Error
0b
Counts
4 → 48
Calls

4 calls:

316.0ms
(*.f64 (sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2))) (sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y)))))
147.0ms
(*.f64 x (*.f64 (+.f64 x y) 2))
137.0ms
(sqrt.f64 (*.f64 x (*.f64 2 (+.f64 x y))))
133.0ms
(sqrt.f64 (*.f64 x (*.f64 (+.f64 x y) 2)))
Compiler

Compiled 2417 to 1922 computations (20.5% saved)

simplify461.0ms (12%)

Algorithm
egg-herbie
Rules
671×times-frac_binary64_14406
455×unswap-sqr_binary64_14368
385×distribute-rgt-in_binary64_14350
377×distribute-lft-in_binary64_14349
297×*-commutative_binary64_14331
161×associate-*l*_binary64_14341
154×associate-*r*_binary64_14340
135×cancel-sign-sub-inv_binary64_14366
83×sqr-pow_binary64_14372
62×sub-neg_binary64_14393
56×exp-prod_binary64_14452 associate-/r*_binary64_14344
55×associate-/l*_binary64_14345
44×swap-sqr_binary64_14367
42×pow-sqr_binary64_14373 associate-*r/_binary64_14342
36×associate-*l/_binary64_14343
32×log-prod_binary64_14486
28×associate-+l+_binary64_14333 +-commutative_binary64_14330
26×cube-prod_binary64_14428
25×neg-sub0_binary64_14395
24×neg-mul-1_binary64_14396 associate-+r+_binary64_14332
20×pow-plus_binary64_14463
15×associate-+r-_binary64_14334
14×unsub-neg_binary64_14394 *-rgt-identity_binary64_14390 distribute-rgt-neg-in_binary64_14358 associate-+l-_binary64_14335
12×exp-sum_binary64_14446 +-rgt-identity_binary64_14385
11×*-lft-identity_binary64_14389
10×associate-/l/_binary64_14347 associate-/r/_binary64_14346
rem-sqrt-square_binary64_14413 distribute-neg-frac_binary64_14364 distribute-lft-neg-out_binary64_14359 distribute-lft-neg-in_binary64_14357 distribute-rgt-out_binary64_14353
log-div_binary64_14487 cube-div_binary64_14429 rem-square-sqrt_binary64_14412 difference-of-squares_binary64_14369
log-pow_binary64_14489 exp-lft-sqr_binary64_14455 div-sub_binary64_14405 sub0-neg_binary64_14387
unpow3_binary64_14466 exp-sqrt_binary64_14453 cube-unmult_binary64_14437
cube-mult_binary64_14430
unpow1_binary64_14458 prod-exp_binary64_14449 distribute-rgt-neg-out_binary64_14360
unpow2_binary64_14465 associate--l+_binary64_14337 associate--r+_binary64_14336
/-rgt-identity_binary64_14391 *-inverses_binary64_14380 distribute-neg-in_binary64_14361 distribute-rgt-out--_binary64_14354
exp-diff_binary64_14448 1-exp_binary64_14444 exp-1-e_binary64_14443 rem-log-exp_binary64_14441 mul-1-neg_binary64_14392 mul0-rgt_binary64_14383 mul0-lft_binary64_14382 div0_binary64_14381 distribute-lft-out_binary64_14351 count-2_binary64_14348
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_14663 erf-erfc_binary64_14662 erf-odd_binary64_14661 if-if-and-not_binary64_14660 if-if-and_binary64_14659 if-if-or-not_binary64_14658 if-if-or_binary64_14657 if-not_binary64_14656 if-same_binary64_14655 if-false_binary64_14654 if-true_binary64_14653 not-gte_binary64_14652 not-lte_binary64_14651 not-gt_binary64_14650 not-lt_binary64_14649 gte-same_binary64_14648 lte-same_binary64_14647 gt-same_binary64_14646 lt-same_binary64_14645 sinh---cosh_binary64_14592 sinh-+-cosh_binary64_14591 sinh-cosh_binary64_14590 tanh-def-c_binary64_14589 tanh-def-b_binary64_14588 tanh-def-a_binary64_14587 cosh-def_binary64_14586 sinh-def_binary64_14585 tan-neg_binary64_14532 cos-neg_binary64_14531 sin-neg_binary64_14530 tan-0_binary64_14529 cos-0_binary64_14528 sin-0_binary64_14527 hang-m-tan_binary64_14526 hang-p-tan_binary64_14525 hang-m0-tan_binary64_14524 hang-p0-tan_binary64_14523 hang-0m-tan_binary64_14522 hang-0p-tan_binary64_14521 tan-+PI/2_binary64_14520 tan-+PI_binary64_14519 tan-PI_binary64_14518 tan-PI/3_binary64_14517 tan-PI/4_binary64_14516 tan-PI/6_binary64_14515 cos-+PI/2_binary64_14514 cos-+PI_binary64_14513 cos-PI_binary64_14512 cos-PI/2_binary64_14511 cos-PI/3_binary64_14510 cos-PI/4_binary64_14509 cos-PI/6_binary64_14508 sin-+PI/2_binary64_14507 sin-+PI_binary64_14506 sin-PI_binary64_14505 sin-PI/2_binary64_14504 sin-PI/3_binary64_14503 sin-PI/4_binary64_14502 sin-PI/6_binary64_14501 sub-1-sin_binary64_14500 sub-1-cos_binary64_14499 -1-add-sin_binary64_14498 -1-add-cos_binary64_14497 1-sub-sin_binary64_14496 1-sub-cos_binary64_14495 cos-sin-sum_binary64_14494 log-E_binary64_14490 log-rec_binary64_14488 pow-base-0_binary64_14484 unpow1/3_binary64_14467 unpow1/2_binary64_14464 exp-to-pow_binary64_14462 pow-base-1_binary64_14460 unpow0_binary64_14459 unpow-1_binary64_14457 exp-lft-cube_binary64_14456 exp-cbrt_binary64_14454 div-exp_binary64_14451 rec-exp_binary64_14450 exp-neg_binary64_14447 e-exp-1_binary64_14445 exp-0_binary64_14442 rem-exp-log_binary64_14440 cube-neg_binary64_14427 rem-3cbrt-rft_binary64_14426 rem-3cbrt-lft_binary64_14425 rem-cbrt-cube_binary64_14424 rem-cube-cbrt_binary64_14423 sqr-abs_binary64_14415 sqr-neg_binary64_14414 remove-double-neg_binary64_14388 --rgt-identity_binary64_14386 +-lft-identity_binary64_14384 +-inverses_binary64_14379 lft-mult-inverse_binary64_14378 rgt-mult-inverse_binary64_14377 remove-double-div_binary64_14376 difference-of-sqr--1_binary64_14371 difference-of-sqr-1_binary64_14370 cancel-sign-sub_binary64_14365 distribute-frac-neg_binary64_14363 distribute-neg-out_binary64_14362 distribute-rgt1-in_binary64_14356 distribute-lft1-in_binary64_14355 distribute-lft-out--_binary64_14352 associate--r-_binary64_14339 associate--l-_binary64_14338
Counts
135 → 340
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01502680
13212097
210692031
329282031

prune477.0ms (12.5%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New3400340
Fresh000
Picked011
Done011
Total3402342
Error
0b
Counts
342 → 2
Compiler

Compiled 8124 to 4314 computations (46.9% saved)

regimes96.0ms (2.5%)

Accuracy

Total 0.0b remaining (76.6%)

Threshold costs 0.0b (76.6%)

Compiler

Compiled 660 to 508 computations (23% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_14331
+-commutative_binary64_14330
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_14660 if-if-and_binary64_14659 if-if-or-not_binary64_14658 if-if-or_binary64_14657 if-not_binary64_14656 if-same_binary64_14655 if-false_binary64_14654 if-true_binary64_14653 tan-0_binary64_14529 cos-0_binary64_14528 sin-0_binary64_14527 unpow1_binary64_14458 e-exp-1_binary64_14445 1-exp_binary64_14444 exp-1-e_binary64_14443 exp-0_binary64_14442 sqr-abs_binary64_14415 sqr-neg_binary64_14414 neg-mul-1_binary64_14396 neg-sub0_binary64_14395 unsub-neg_binary64_14394 sub-neg_binary64_14393 mul-1-neg_binary64_14392 /-rgt-identity_binary64_14391 *-rgt-identity_binary64_14390 *-lft-identity_binary64_14389 remove-double-neg_binary64_14388 sub0-neg_binary64_14387 --rgt-identity_binary64_14386 +-rgt-identity_binary64_14385 +-lft-identity_binary64_14384 cancel-sign-sub-inv_binary64_14366 cancel-sign-sub_binary64_14365 distribute-neg-frac_binary64_14364 distribute-frac-neg_binary64_14363 distribute-neg-out_binary64_14362 distribute-neg-in_binary64_14361 distribute-rgt-neg-out_binary64_14360 distribute-lft-neg-out_binary64_14359 distribute-rgt-neg-in_binary64_14358 distribute-lft-neg-in_binary64_14357
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11010
Proof
(* f64 h0 (* f64 (+ f64 h0 h1) 2))

end0.0ms (0%)

sample623.0ms (16.3%)

Algorithm
intervals
Results
204.0ms8000×body128valid
3.0ms144×body128invalid
Compiler

Compiled 180 to 141 computations (21.7% saved)

Profiling

Loading profile data...