Details

Time bar (total: 1.9s)

analyze147.0ms (7.9%)

Algorithm
search
egg-herbie
Rules
+-commutative_binary64_3418
1-exp_binary64_3532 sub-neg_binary64_3481
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_3751 erf-erfc_binary64_3750 erf-odd_binary64_3749 if-if-and-not_binary64_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 not-gte_binary64_3740 not-lte_binary64_3739 not-gt_binary64_3738 not-lt_binary64_3737 gte-same_binary64_3736 lte-same_binary64_3735 gt-same_binary64_3734 lt-same_binary64_3733 sinh---cosh_binary64_3680 sinh-+-cosh_binary64_3679 sinh-cosh_binary64_3678 tanh-def-c_binary64_3677 tanh-def-b_binary64_3676 tanh-def-a_binary64_3675 cosh-def_binary64_3674 sinh-def_binary64_3673 tan-neg_binary64_3620 cos-neg_binary64_3619 sin-neg_binary64_3618 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 hang-m-tan_binary64_3614 hang-p-tan_binary64_3613 hang-m0-tan_binary64_3612 hang-p0-tan_binary64_3611 hang-0m-tan_binary64_3610 hang-0p-tan_binary64_3609 tan-+PI/2_binary64_3608 tan-+PI_binary64_3607 tan-PI_binary64_3606 tan-PI/3_binary64_3605 tan-PI/4_binary64_3604 tan-PI/6_binary64_3603 cos-+PI/2_binary64_3602 cos-+PI_binary64_3601 cos-PI_binary64_3600 cos-PI/2_binary64_3599 cos-PI/3_binary64_3598 cos-PI/4_binary64_3597 cos-PI/6_binary64_3596 sin-+PI/2_binary64_3595 sin-+PI_binary64_3594 sin-PI_binary64_3593 sin-PI/2_binary64_3592 sin-PI/3_binary64_3591 sin-PI/4_binary64_3590 sin-PI/6_binary64_3589 sub-1-sin_binary64_3588 sub-1-cos_binary64_3587 -1-add-sin_binary64_3586 -1-add-cos_binary64_3585 1-sub-sin_binary64_3584 1-sub-cos_binary64_3583 cos-sin-sum_binary64_3582 log-E_binary64_3578 log-pow_binary64_3577 log-rec_binary64_3576 log-div_binary64_3575 log-prod_binary64_3574 pow-base-0_binary64_3572 unpow1/3_binary64_3555 unpow3_binary64_3554 unpow2_binary64_3553 unpow1/2_binary64_3552 pow-plus_binary64_3551 exp-to-pow_binary64_3550 pow-base-1_binary64_3548 unpow0_binary64_3547 unpow1_binary64_3546 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-sqrt_binary64_3541 exp-prod_binary64_3540 div-exp_binary64_3539 rec-exp_binary64_3538 prod-exp_binary64_3537 exp-diff_binary64_3536 exp-neg_binary64_3535 exp-sum_binary64_3534 e-exp-1_binary64_3533 exp-1-e_binary64_3531 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 cube-unmult_binary64_3525 cube-mult_binary64_3518 cube-div_binary64_3517 cube-prod_binary64_3516 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 rem-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 times-frac_binary64_3494 div-sub_binary64_3493 neg-mul-1_binary64_3484 neg-sub0_binary64_3483 unsub-neg_binary64_3482 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 *-rgt-identity_binary64_3478 *-lft-identity_binary64_3477 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-rgt-identity_binary64_3473 +-lft-identity_binary64_3472 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 div0_binary64_3469 *-inverses_binary64_3468 +-inverses_binary64_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464 pow-sqr_binary64_3461 sqr-pow_binary64_3460 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 difference-of-squares_binary64_3457 unswap-sqr_binary64_3456 swap-sqr_binary64_3455 cancel-sign-sub-inv_binary64_3454 cancel-sign-sub_binary64_3453 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-neg-in_binary64_3449 distribute-rgt-neg-out_binary64_3448 distribute-lft-neg-out_binary64_3447 distribute-rgt-neg-in_binary64_3446 distribute-lft-neg-in_binary64_3445 distribute-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 distribute-rgt-out--_binary64_3442 distribute-rgt-out_binary64_3441 distribute-lft-out--_binary64_3440 distribute-lft-out_binary64_3439 distribute-rgt-in_binary64_3438 distribute-lft-in_binary64_3437 count-2_binary64_3436 associate-/l/_binary64_3435 associate-/r/_binary64_3434 associate-/l*_binary64_3433 associate-/r*_binary64_3432 associate-*l/_binary64_3431 associate-*r/_binary64_3430 associate-*l*_binary64_3429 associate-*r*_binary64_3428 associate--r-_binary64_3427 associate--l-_binary64_3426 associate--l+_binary64_3425 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+r-_binary64_3422 associate-+l+_binary64_3421 associate-+r+_binary64_3420 *-commutative_binary64_3419
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
11516
21616
31416
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
25%75%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample15.0ms (0.8%)

Algorithm
intervals
Results
8.0ms256×body128valid
Compiler

Compiled 23 to 20 computations (13% saved)

simplify12.0ms (0.7%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
1-exp_binary64_3532 sub-neg_binary64_3481
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_3751 erf-erfc_binary64_3750 erf-odd_binary64_3749 if-if-and-not_binary64_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 not-gte_binary64_3740 not-lte_binary64_3739 not-gt_binary64_3738 not-lt_binary64_3737 gte-same_binary64_3736 lte-same_binary64_3735 gt-same_binary64_3734 lt-same_binary64_3733 sinh---cosh_binary64_3680 sinh-+-cosh_binary64_3679 sinh-cosh_binary64_3678 tanh-def-c_binary64_3677 tanh-def-b_binary64_3676 tanh-def-a_binary64_3675 cosh-def_binary64_3674 sinh-def_binary64_3673 tan-neg_binary64_3620 cos-neg_binary64_3619 sin-neg_binary64_3618 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 hang-m-tan_binary64_3614 hang-p-tan_binary64_3613 hang-m0-tan_binary64_3612 hang-p0-tan_binary64_3611 hang-0m-tan_binary64_3610 hang-0p-tan_binary64_3609 tan-+PI/2_binary64_3608 tan-+PI_binary64_3607 tan-PI_binary64_3606 tan-PI/3_binary64_3605 tan-PI/4_binary64_3604 tan-PI/6_binary64_3603 cos-+PI/2_binary64_3602 cos-+PI_binary64_3601 cos-PI_binary64_3600 cos-PI/2_binary64_3599 cos-PI/3_binary64_3598 cos-PI/4_binary64_3597 cos-PI/6_binary64_3596 sin-+PI/2_binary64_3595 sin-+PI_binary64_3594 sin-PI_binary64_3593 sin-PI/2_binary64_3592 sin-PI/3_binary64_3591 sin-PI/4_binary64_3590 sin-PI/6_binary64_3589 sub-1-sin_binary64_3588 sub-1-cos_binary64_3587 -1-add-sin_binary64_3586 -1-add-cos_binary64_3585 1-sub-sin_binary64_3584 1-sub-cos_binary64_3583 cos-sin-sum_binary64_3582 log-E_binary64_3578 log-pow_binary64_3577 log-rec_binary64_3576 log-div_binary64_3575 log-prod_binary64_3574 pow-base-0_binary64_3572 unpow1/3_binary64_3555 unpow3_binary64_3554 unpow2_binary64_3553 unpow1/2_binary64_3552 pow-plus_binary64_3551 exp-to-pow_binary64_3550 pow-base-1_binary64_3548 unpow0_binary64_3547 unpow1_binary64_3546 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-sqrt_binary64_3541 exp-prod_binary64_3540 div-exp_binary64_3539 rec-exp_binary64_3538 prod-exp_binary64_3537 exp-diff_binary64_3536 exp-neg_binary64_3535 exp-sum_binary64_3534 e-exp-1_binary64_3533 exp-1-e_binary64_3531 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 cube-unmult_binary64_3525 cube-mult_binary64_3518 cube-div_binary64_3517 cube-prod_binary64_3516 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 rem-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 times-frac_binary64_3494 div-sub_binary64_3493 neg-mul-1_binary64_3484 neg-sub0_binary64_3483 unsub-neg_binary64_3482 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 *-rgt-identity_binary64_3478 *-lft-identity_binary64_3477 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-rgt-identity_binary64_3473 +-lft-identity_binary64_3472 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 div0_binary64_3469 *-inverses_binary64_3468 +-inverses_binary64_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464 pow-sqr_binary64_3461 sqr-pow_binary64_3460 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 difference-of-squares_binary64_3457 unswap-sqr_binary64_3456 swap-sqr_binary64_3455 cancel-sign-sub-inv_binary64_3454 cancel-sign-sub_binary64_3453 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-neg-in_binary64_3449 distribute-rgt-neg-out_binary64_3448 distribute-lft-neg-out_binary64_3447 distribute-rgt-neg-in_binary64_3446 distribute-lft-neg-in_binary64_3445 distribute-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 distribute-rgt-out--_binary64_3442 distribute-rgt-out_binary64_3441 distribute-lft-out--_binary64_3440 distribute-lft-out_binary64_3439 distribute-rgt-in_binary64_3438 distribute-lft-in_binary64_3437 count-2_binary64_3436 associate-/l/_binary64_3435 associate-/r/_binary64_3434 associate-/l*_binary64_3433 associate-/r*_binary64_3432 associate-*l/_binary64_3431 associate-*r/_binary64_3430 associate-*l*_binary64_3429 associate-*r*_binary64_3428 associate--r-_binary64_3427 associate--l-_binary64_3426 associate--l+_binary64_3425 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+r-_binary64_3422 associate-+l+_binary64_3421 associate-+r+_binary64_3420 *-commutative_binary64_3419
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
11516
21616
31416

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.0b
Counts
2 → 1
Compiler

Compiled 22 to 18 computations (18.2% saved)

localize7.0ms (0.4%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (+.f64 x 1)))
0.0b
(/.f64 x (+.f64 x 1))
0.0b
(/.f64 1 (-.f64 x 1))

rewrite168.0ms (9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
67×*-un-lft-identity_binary64_3488
41×times-frac_binary64_3494
40×add-sqr-sqrt_binary64_3510
24×add-cube-cbrt_binary64_3523
12×distribute-lft-out_binary64_3439
11×associate-/r*_binary64_3432
add-exp-log_binary64_3526
difference-of-squares_binary64_3457
add-cbrt-cube_binary64_3524
distribute-lft-out--_binary64_3440 associate-/l*_binary64_3433
add-log-exp_binary64_3527
pow1_binary64_3549 difference-of-sqr-1_binary64_3458 associate-/r/_binary64_3434
div-exp_binary64_3539 div-inv_binary64_3485
cbrt-undiv_binary64_3522 frac-2neg_binary64_3499 clear-num_binary64_3487 flip3-+_binary64_3491 flip-+_binary64_3462
inv-pow_binary64_3573 pow-flip_binary64_3562 1-exp_binary64_3532 rec-exp_binary64_3538 flip3--_binary64_3492 flip--_binary64_3463 sum-log_binary64_3579 frac-add_binary64_3496 +-commutative_binary64_3418
Counts
3 → 100
Calls

3 calls:

35.0ms
(+.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (+.f64 x 1)))
7.0ms
(/.f64 1 (-.f64 x 1))
5.0ms
(/.f64 x (+.f64 x 1))
Compiler

Compiled 1870 to 1402 computations (25% saved)

series196.0ms (10.5%)

Error
0b
Counts
3 → 33
Calls

3 calls:

78.0ms
(+.f64 (/.f64 1 (-.f64 x 1)) (/.f64 x (+.f64 x 1)))
43.0ms
(/.f64 x (+.f64 x 1))
42.0ms
(/.f64 1 (-.f64 x 1))
Compiler

Compiled 943 to 788 computations (16.4% saved)

simplify144.0ms (7.7%)

Algorithm
egg-herbie
Rules
397×distribute-rgt-in_binary64_3438
328×cancel-sign-sub-inv_binary64_3454
294×associate-/r/_binary64_3434
275×distribute-lft-in_binary64_3437
246×div-sub_binary64_3493
230×times-frac_binary64_3494
172×associate-/l*_binary64_3433
171×distribute-rgt-out_binary64_3441
155×sub-neg_binary64_3481
148×associate-/r*_binary64_3432
121×distribute-rgt-neg-in_binary64_3446
118×neg-mul-1_binary64_3484
109×associate-+l+_binary64_3421
102×associate-+r+_binary64_3420
99×distribute-lft-neg-in_binary64_3445
96×associate-*l*_binary64_3429 associate-*r*_binary64_3428
90×+-commutative_binary64_3418
80×distribute-neg-frac_binary64_3452
79×distribute-neg-in_binary64_3449
77×unswap-sqr_binary64_3456
71×*-commutative_binary64_3419
66×associate-*l/_binary64_3431
58×associate-/l/_binary64_3435
57×associate-*r/_binary64_3430
56×distribute-rgt-out--_binary64_3442
52×distribute-lft-out_binary64_3439
51×cube-prod_binary64_3516 unsub-neg_binary64_3482
47×associate--r+_binary64_3424
41×log-prod_binary64_3574 neg-sub0_binary64_3483
40×unpow3_binary64_3554
38×associate-+r-_binary64_3422
34×sqr-pow_binary64_3460
33×associate-+l-_binary64_3423
30×log-div_binary64_3575 cube-div_binary64_3517
27×distribute-rgt1-in_binary64_3444
25×*-rgt-identity_binary64_3478
20×*-lft-identity_binary64_3477
19×/-rgt-identity_binary64_3479 +-rgt-identity_binary64_3473 swap-sqr_binary64_3455 associate--l+_binary64_3425
18×exp-prod_binary64_3540
16×sub0-neg_binary64_3475
12×distribute-lft-neg-out_binary64_3447 distribute-lft-out--_binary64_3440
11×log-rec_binary64_3576 cube-unmult_binary64_3525
10×cube-mult_binary64_3518 distribute-lft1-in_binary64_3443
pow-plus_binary64_3551 difference-of-squares_binary64_3457
log-pow_binary64_3577 distribute-neg-out_binary64_3450 distribute-rgt-neg-out_binary64_3448
unpow1/2_binary64_3552 exp-sum_binary64_3534 mul-1-neg_binary64_3480 remove-double-div_binary64_3464 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458
sqr-neg_binary64_3502 remove-double-neg_binary64_3476 --rgt-identity_binary64_3474 +-lft-identity_binary64_3472 div0_binary64_3469 count-2_binary64_3436 associate--r-_binary64_3427 associate--l-_binary64_3426
unpow2_binary64_3553 unpow1_binary64_3546 prod-exp_binary64_3537 exp-diff_binary64_3536 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-sqrt-square_binary64_3501 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 pow-sqr_binary64_3461
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_3751 erf-erfc_binary64_3750 erf-odd_binary64_3749 if-if-and-not_binary64_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 not-gte_binary64_3740 not-lte_binary64_3739 not-gt_binary64_3738 not-lt_binary64_3737 gte-same_binary64_3736 lte-same_binary64_3735 gt-same_binary64_3734 lt-same_binary64_3733 sinh---cosh_binary64_3680 sinh-+-cosh_binary64_3679 sinh-cosh_binary64_3678 tanh-def-c_binary64_3677 tanh-def-b_binary64_3676 tanh-def-a_binary64_3675 cosh-def_binary64_3674 sinh-def_binary64_3673 tan-neg_binary64_3620 cos-neg_binary64_3619 sin-neg_binary64_3618 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 hang-m-tan_binary64_3614 hang-p-tan_binary64_3613 hang-m0-tan_binary64_3612 hang-p0-tan_binary64_3611 hang-0m-tan_binary64_3610 hang-0p-tan_binary64_3609 tan-+PI/2_binary64_3608 tan-+PI_binary64_3607 tan-PI_binary64_3606 tan-PI/3_binary64_3605 tan-PI/4_binary64_3604 tan-PI/6_binary64_3603 cos-+PI/2_binary64_3602 cos-+PI_binary64_3601 cos-PI_binary64_3600 cos-PI/2_binary64_3599 cos-PI/3_binary64_3598 cos-PI/4_binary64_3597 cos-PI/6_binary64_3596 sin-+PI/2_binary64_3595 sin-+PI_binary64_3594 sin-PI_binary64_3593 sin-PI/2_binary64_3592 sin-PI/3_binary64_3591 sin-PI/4_binary64_3590 sin-PI/6_binary64_3589 sub-1-sin_binary64_3588 sub-1-cos_binary64_3587 -1-add-sin_binary64_3586 -1-add-cos_binary64_3585 1-sub-sin_binary64_3584 1-sub-cos_binary64_3583 cos-sin-sum_binary64_3582 log-E_binary64_3578 pow-base-0_binary64_3572 unpow1/3_binary64_3555 exp-to-pow_binary64_3550 pow-base-1_binary64_3548 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-sqrt_binary64_3541 div-exp_binary64_3539 rec-exp_binary64_3538 exp-neg_binary64_3535 e-exp-1_binary64_3533 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 rem-square-sqrt_binary64_3500 *-inverses_binary64_3468 +-inverses_binary64_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 cancel-sign-sub_binary64_3453 distribute-frac-neg_binary64_3451
Counts
133 → 97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01661900
13811855
29091848
324351840
445261840
549801840
649361840

prune101.0ms (5.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New95297
Fresh000
Picked011
Done000
Total95398
Error
0b
Counts
98 → 3
Compiler

Compiled 1655 to 1207 computations (27.1% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

rewrite22.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_3549 add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
pow-prod-down_binary64_3559 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 add-sqr-sqrt_binary64_3510 associate-*l*_binary64_3429
add-cube-cbrt_binary64_3523 *-un-lft-identity_binary64_3488
add-log-exp_binary64_3527 unswap-sqr_binary64_3456 associate-*r*_binary64_3428 *-commutative_binary64_3419
Counts
1 → 19
Calls

1 calls:

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

Compiled 231 to 151 computations (34.6% saved)

series40.0ms (2.2%)

Error
0b
Counts
1 → 3
Calls

1 calls:

38.0ms
(*.f64 2 (*.f64 x x))
Compiler

Compiled 63 to 61 computations (3.2% saved)

simplify71.0ms (3.8%)

Algorithm
egg-herbie
Rules
499×distribute-rgt-in_binary64_3438
454×distribute-rgt-out_binary64_3441
380×distribute-lft-in_binary64_3437
359×log-prod_binary64_3574
317×times-frac_binary64_3494
226×log-div_binary64_3575
214×*-commutative_binary64_3419
182×sqr-pow_binary64_3460
165×associate-*l*_binary64_3429
150×associate-/l*_binary64_3433
131×distribute-lft-out_binary64_3439
125×associate-+l+_binary64_3421
124×unswap-sqr_binary64_3456
122×associate-*r*_binary64_3428
99×associate-/l/_binary64_3435
94×cube-prod_binary64_3516
93×exp-prod_binary64_3540
82×associate-+r+_binary64_3420
78×pow-sqr_binary64_3461
68×swap-sqr_binary64_3455
65×associate-/r/_binary64_3434
59×associate-/r*_binary64_3432
55×cube-div_binary64_3517
33×associate-*r/_binary64_3430
27×log-pow_binary64_3577
22×unpow3_binary64_3554
20×count-2_binary64_3436
18×cube-mult_binary64_3518 distribute-rgt1-in_binary64_3444
17×pow-plus_binary64_3551 *-lft-identity_binary64_3477
16×+-commutative_binary64_3418
14×distribute-lft1-in_binary64_3443
12×associate-*l/_binary64_3431
10×*-rgt-identity_binary64_3478
rem-sqrt-square_binary64_3501
log-rec_binary64_3576 cube-unmult_binary64_3525
exp-lft-sqr_binary64_3543
unpow1_binary64_3546 exp-sqrt_binary64_3541 /-rgt-identity_binary64_3479
unpow2_binary64_3553 unpow1/2_binary64_3552
prod-exp_binary64_3537
exp-sum_binary64_3534 1-exp_binary64_3532
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_3751 erf-erfc_binary64_3750 erf-odd_binary64_3749 if-if-and-not_binary64_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 not-gte_binary64_3740 not-lte_binary64_3739 not-gt_binary64_3738 not-lt_binary64_3737 gte-same_binary64_3736 lte-same_binary64_3735 gt-same_binary64_3734 lt-same_binary64_3733 sinh---cosh_binary64_3680 sinh-+-cosh_binary64_3679 sinh-cosh_binary64_3678 tanh-def-c_binary64_3677 tanh-def-b_binary64_3676 tanh-def-a_binary64_3675 cosh-def_binary64_3674 sinh-def_binary64_3673 tan-neg_binary64_3620 cos-neg_binary64_3619 sin-neg_binary64_3618 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 hang-m-tan_binary64_3614 hang-p-tan_binary64_3613 hang-m0-tan_binary64_3612 hang-p0-tan_binary64_3611 hang-0m-tan_binary64_3610 hang-0p-tan_binary64_3609 tan-+PI/2_binary64_3608 tan-+PI_binary64_3607 tan-PI_binary64_3606 tan-PI/3_binary64_3605 tan-PI/4_binary64_3604 tan-PI/6_binary64_3603 cos-+PI/2_binary64_3602 cos-+PI_binary64_3601 cos-PI_binary64_3600 cos-PI/2_binary64_3599 cos-PI/3_binary64_3598 cos-PI/4_binary64_3597 cos-PI/6_binary64_3596 sin-+PI/2_binary64_3595 sin-+PI_binary64_3594 sin-PI_binary64_3593 sin-PI/2_binary64_3592 sin-PI/3_binary64_3591 sin-PI/4_binary64_3590 sin-PI/6_binary64_3589 sub-1-sin_binary64_3588 sub-1-cos_binary64_3587 -1-add-sin_binary64_3586 -1-add-cos_binary64_3585 1-sub-sin_binary64_3584 1-sub-cos_binary64_3583 cos-sin-sum_binary64_3582 log-E_binary64_3578 pow-base-0_binary64_3572 unpow1/3_binary64_3555 exp-to-pow_binary64_3550 pow-base-1_binary64_3548 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-cbrt_binary64_3542 div-exp_binary64_3539 rec-exp_binary64_3538 exp-diff_binary64_3536 exp-neg_binary64_3535 e-exp-1_binary64_3533 exp-1-e_binary64_3531 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 rem-square-sqrt_binary64_3500 div-sub_binary64_3493 neg-mul-1_binary64_3484 neg-sub0_binary64_3483 unsub-neg_binary64_3482 sub-neg_binary64_3481 mul-1-neg_binary64_3480 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-rgt-identity_binary64_3473 +-lft-identity_binary64_3472 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 div0_binary64_3469 *-inverses_binary64_3468 +-inverses_binary64_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 difference-of-squares_binary64_3457 cancel-sign-sub-inv_binary64_3454 cancel-sign-sub_binary64_3453 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-neg-in_binary64_3449 distribute-rgt-neg-out_binary64_3448 distribute-lft-neg-out_binary64_3447 distribute-rgt-neg-in_binary64_3446 distribute-lft-neg-in_binary64_3445 distribute-rgt-out--_binary64_3442 distribute-lft-out--_binary64_3440 associate--r-_binary64_3427 associate--l-_binary64_3426 associate--l+_binary64_3425 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+r-_binary64_3422
Counts
22 → 12
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036225
173189
2171180
3414180
4622180
51024180
62104180
74656180
85069180

prune10.0ms (0.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New12012
Fresh011
Picked011
Done011
Total12315
Error
0b
Counts
15 → 3
Compiler

Compiled 113 to 86 computations (23.9% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.2b
(/.f64 2 (*.f64 x x))

rewrite24.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
add-cube-cbrt_binary64_3523 add-sqr-sqrt_binary64_3510 times-frac_binary64_3494 *-un-lft-identity_binary64_3488 associate-/l*_binary64_3433
div-exp_binary64_3539 cbrt-undiv_binary64_3522
pow1_binary64_3549 prod-exp_binary64_3537 add-log-exp_binary64_3527 cbrt-unprod_binary64_3521 frac-2neg_binary64_3499 clear-num_binary64_3487 div-inv_binary64_3485 associate-/r*_binary64_3432
Counts
1 → 21
Calls

1 calls:

7.0ms
(/.f64 2 (*.f64 x x))
Compiler

Compiled 256 to 172 computations (32.8% saved)

series34.0ms (1.8%)

Error
0b
Counts
1 → 3
Calls

1 calls:

32.0ms
(/.f64 2 (*.f64 x x))
Compiler

Compiled 63 to 61 computations (3.2% saved)

simplify97.0ms (5.2%)

Algorithm
egg-herbie
Rules
506×unsub-neg_binary64_3482
375×distribute-neg-in_binary64_3449
297×sub-neg_binary64_3481
293×times-frac_binary64_3494
269×associate-/l/_binary64_3435
263×*-commutative_binary64_3419
228×neg-sub0_binary64_3483
225×neg-mul-1_binary64_3484
178×unswap-sqr_binary64_3456
170×associate-/l*_binary64_3433
168×associate-/r*_binary64_3432
154×sqr-pow_binary64_3460
147×associate-*l*_binary64_3429
136×distribute-rgt-in_binary64_3438
131×associate-*l/_binary64_3431
126×cancel-sign-sub_binary64_3453
114×cancel-sign-sub-inv_binary64_3454
107×associate--l+_binary64_3425
106×distribute-lft-in_binary64_3437
105×associate-+l+_binary64_3421
103×distribute-lft-neg-in_binary64_3445
101×associate-*r*_binary64_3428
98×log-prod_binary64_3574
97×associate--r+_binary64_3424
96×distribute-rgt-neg-in_binary64_3446
94×distribute-neg-out_binary64_3450
80×div-sub_binary64_3493
77×cube-prod_binary64_3516
66×associate-*r/_binary64_3430
65×associate-+r+_binary64_3420
64×associate-/r/_binary64_3434
61×distribute-rgt-out_binary64_3441
57×distribute-rgt-out--_binary64_3442 associate--l-_binary64_3426
53×distribute-lft-out--_binary64_3440
52×associate-+l-_binary64_3423
49×unpow3_binary64_3554 pow-sqr_binary64_3461
44×log-pow_binary64_3577
41×cube-mult_binary64_3518
40×distribute-lft-neg-out_binary64_3447
39×distribute-lft-out_binary64_3439
38×associate--r-_binary64_3427
35×pow-plus_binary64_3551
33×swap-sqr_binary64_3455
31×distribute-rgt-neg-out_binary64_3448
27×remove-double-neg_binary64_3476
24×+-commutative_binary64_3418
23×mul0-rgt_binary64_3471 mul0-lft_binary64_3470
22×div0_binary64_3469
18×log-div_binary64_3575
17×cube-div_binary64_3517
16×*-rgt-identity_binary64_3478
15×*-lft-identity_binary64_3477
14×sub0-neg_binary64_3475 associate-+r-_binary64_3422
13×+-rgt-identity_binary64_3473
11×count-2_binary64_3436
10×--rgt-identity_binary64_3474
cube-unmult_binary64_3525 distribute-rgt1-in_binary64_3444
distribute-lft1-in_binary64_3443
unpow2_binary64_3553 unpow1_binary64_3546 +-lft-identity_binary64_3472
unpow1/2_binary64_3552
1-exp_binary64_3532 rem-sqrt-square_binary64_3501
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_3751 erf-erfc_binary64_3750 erf-odd_binary64_3749 if-if-and-not_binary64_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 not-gte_binary64_3740 not-lte_binary64_3739 not-gt_binary64_3738 not-lt_binary64_3737 gte-same_binary64_3736 lte-same_binary64_3735 gt-same_binary64_3734 lt-same_binary64_3733 sinh---cosh_binary64_3680 sinh-+-cosh_binary64_3679 sinh-cosh_binary64_3678 tanh-def-c_binary64_3677 tanh-def-b_binary64_3676 tanh-def-a_binary64_3675 cosh-def_binary64_3674 sinh-def_binary64_3673 tan-neg_binary64_3620 cos-neg_binary64_3619 sin-neg_binary64_3618 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 hang-m-tan_binary64_3614 hang-p-tan_binary64_3613 hang-m0-tan_binary64_3612 hang-p0-tan_binary64_3611 hang-0m-tan_binary64_3610 hang-0p-tan_binary64_3609 tan-+PI/2_binary64_3608 tan-+PI_binary64_3607 tan-PI_binary64_3606 tan-PI/3_binary64_3605 tan-PI/4_binary64_3604 tan-PI/6_binary64_3603 cos-+PI/2_binary64_3602 cos-+PI_binary64_3601 cos-PI_binary64_3600 cos-PI/2_binary64_3599 cos-PI/3_binary64_3598 cos-PI/4_binary64_3597 cos-PI/6_binary64_3596 sin-+PI/2_binary64_3595 sin-+PI_binary64_3594 sin-PI_binary64_3593 sin-PI/2_binary64_3592 sin-PI/3_binary64_3591 sin-PI/4_binary64_3590 sin-PI/6_binary64_3589 sub-1-sin_binary64_3588 sub-1-cos_binary64_3587 -1-add-sin_binary64_3586 -1-add-cos_binary64_3585 1-sub-sin_binary64_3584 1-sub-cos_binary64_3583 cos-sin-sum_binary64_3582 log-E_binary64_3578 log-rec_binary64_3576 pow-base-0_binary64_3572 unpow1/3_binary64_3555 exp-to-pow_binary64_3550 pow-base-1_binary64_3548 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-sqrt_binary64_3541 exp-prod_binary64_3540 div-exp_binary64_3539 rec-exp_binary64_3538 prod-exp_binary64_3537 exp-diff_binary64_3536 exp-neg_binary64_3535 exp-sum_binary64_3534 e-exp-1_binary64_3533 exp-1-e_binary64_3531 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 rem-square-sqrt_binary64_3500 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 *-inverses_binary64_3468 +-inverses_binary64_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 difference-of-squares_binary64_3457 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451
Counts
24 → 13
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046266
185221
2164212
3417212
41550212
52093212
63414212
73973212
84671212
94675212

prune9.0ms (0.5%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New13013
Fresh000
Picked011
Done022
Total13316
Error
0b
Counts
16 → 3
Compiler

Compiled 114 to 87 computations (23.7% saved)

regimes59.0ms (3.1%)

Accuracy

Total 0.0b remaining (99.1%)

Threshold costs 0.0b (99.1%)

Compiler

Compiled 496 to 406 computations (18.1% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
neg-mul-1_binary64_3484 neg-sub0_binary64_3483 sub-neg_binary64_3481 *-rgt-identity_binary64_3478 *-commutative_binary64_3419
1-exp_binary64_3532 unsub-neg_binary64_3482 distribute-rgt-neg-out_binary64_3448
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_3748 if-if-and_binary64_3747 if-if-or-not_binary64_3746 if-if-or_binary64_3745 if-not_binary64_3744 if-same_binary64_3743 if-false_binary64_3742 if-true_binary64_3741 tan-0_binary64_3617 cos-0_binary64_3616 sin-0_binary64_3615 unpow1_binary64_3546 e-exp-1_binary64_3533 exp-1-e_binary64_3531 exp-0_binary64_3530 sqr-abs_binary64_3503 sqr-neg_binary64_3502 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 *-lft-identity_binary64_3477 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-rgt-identity_binary64_3473 +-lft-identity_binary64_3472 cancel-sign-sub-inv_binary64_3454 cancel-sign-sub_binary64_3453 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-neg-in_binary64_3449 distribute-lft-neg-out_binary64_3447 distribute-rgt-neg-in_binary64_3446 distribute-lft-neg-in_binary64_3445
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01154
11854
22254
32454
42754
52654
62454

end0.0ms (0%)

sample694.0ms (37.2%)

Algorithm
intervals
Results
234.0ms8000×body128valid
Compiler

Compiled 284 to 232 computations (18.3% saved)

Profiling

Loading profile data...