Details

Time bar (total: 3.4s)

analyze418.0ms (12.5%)

Algorithm
search
egg-herbie
Rules
24×+-commutative_binary64_3418
22×distribute-rgt-in_binary64_3438
18×*-commutative_binary64_3419
16×associate-+r+_binary64_3420
14×distribute-lft-in_binary64_3437 associate-*l*_binary64_3429 associate-+l+_binary64_3421
13×associate-*r*_binary64_3428
10×distribute-rgt-out_binary64_3441
*-rgt-identity_binary64_3478 *-lft-identity_binary64_3477
distribute-rgt1-in_binary64_3444
distribute-lft1-in_binary64_3443
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 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 sub-neg_binary64_3481 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 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-rgt-out--_binary64_3442 distribute-lft-out--_binary64_3440 distribute-lft-out_binary64_3439 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--r-_binary64_3427 associate--l-_binary64_3426 associate--l+_binary64_3425 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+r-_binary64_3422
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
13840
27040
38540
49440
511640
610040
712940
812940
913640
1013440
033
133
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
36.7%60.8%2.5%9
43.3%49.9%6.8%10
49.7%40.8%9.5%11
58.2%30.4%11.4%12
61.3%24.7%14%13
65%19.9%15.1%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample18.0ms (0.5%)

Algorithm
intervals
Results
6.0ms256×body128valid
1.0ms24×body128invalid
Compiler

Compiled 15 to 16 computations (-6.7% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
associate-*l*_binary64_3429 associate-*r*_binary64_3428
+-commutative_binary64_3418
distribute-rgt-in_binary64_3438 *-commutative_binary64_3419
*-rgt-identity_binary64_3478 *-lft-identity_binary64_3477
distribute-lft-in_binary64_3437
associate-+l+_binary64_3421 associate-+r+_binary64_3420
distribute-rgt-out_binary64_3441
1-exp_binary64_3532 distribute-lft1-in_binary64_3443
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 sub-neg_binary64_3481 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 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-rgt-out--_binary64_3442 distribute-lft-out--_binary64_3440 distribute-lft-out_binary64_3439 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--r-_binary64_3427 associate--l-_binary64_3426 associate--l+_binary64_3425 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+r-_binary64_3422
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
22210
32910
43310
53910
63510
74710
84310
95410
105210
115410
125210

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 14 to 12 computations (14.3% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

rewrite43.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_3510 *-un-lft-identity_binary64_3488
pow1_binary64_3549 add-exp-log_binary64_3526 add-log-exp_binary64_3527 add-cbrt-cube_binary64_3524 add-cube-cbrt_binary64_3523 associate-*r*_binary64_3428
associate-*l*_binary64_3429
distribute-rgt-in_binary64_3438 distribute-lft-in_binary64_3437 flip3-+_binary64_3491 associate-*r/_binary64_3430 flip-+_binary64_3462 associate-+r+_binary64_3420
pow-prod-down_binary64_3559 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 unswap-sqr_binary64_3456 distribute-lft-out_binary64_3439 *-commutative_binary64_3419 sum-log_binary64_3579 +-commutative_binary64_3418
Counts
2 → 36
Calls

2 calls:

7.0ms
(*.f64 y (+.f64 z x))
4.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 491 to 140 computations (71.5% saved)

series321.0ms (9.6%)

Error
0b
Counts
2 → 33
Calls

2 calls:

177.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
124.0ms
(*.f64 y (+.f64 z x))
Compiler

Compiled 598 to 338 computations (43.5% saved)

simplify94.0ms (2.8%)

Algorithm
egg-herbie
Rules
560×distribute-rgt-in_binary64_3438
550×distribute-lft-in_binary64_3437
430×associate-*l*_binary64_3429
338×associate-*r*_binary64_3428
299×sub-neg_binary64_3481
238×+-commutative_binary64_3418
235×distribute-rgt-out_binary64_3441
223×distribute-rgt-neg-in_binary64_3446
187×distribute-lft-neg-in_binary64_3445
183×distribute-rgt-out--_binary64_3442
157×distribute-neg-in_binary64_3449
138×unsub-neg_binary64_3482
134×cancel-sign-sub-inv_binary64_3454 associate--r+_binary64_3424
127×distribute-lft-out--_binary64_3440
104×unswap-sqr_binary64_3456
100×*-commutative_binary64_3419
94×associate-+l+_binary64_3421
92×distribute-lft-out_binary64_3439
85×associate--l+_binary64_3425
81×sqr-pow_binary64_3460
80×associate-+r+_binary64_3420
58×neg-sub0_binary64_3483
56×neg-mul-1_binary64_3484
47×associate-+l-_binary64_3423
46×distribute-lft-neg-out_binary64_3447
42×associate-+r-_binary64_3422
37×exp-prod_binary64_3540 *-lft-identity_binary64_3477 distribute-rgt-neg-out_binary64_3448
34×*-rgt-identity_binary64_3478
29×exp-sum_binary64_3534
23×sub0-neg_binary64_3475
22×+-rgt-identity_binary64_3473
18×pow-sqr_binary64_3461
16×swap-sqr_binary64_3455
14×cancel-sign-sub_binary64_3453
12×log-prod_binary64_3574 distribute-neg-out_binary64_3450
11×unpow3_binary64_3554 distribute-rgt1-in_binary64_3444
10×cube-prod_binary64_3516 distribute-lft1-in_binary64_3443
unpow1/2_binary64_3552
cube-unmult_binary64_3525
difference-of-squares_binary64_3457
pow-plus_binary64_3551
exp-diff_binary64_3536
cube-mult_binary64_3518
rem-sqrt-square_binary64_3501 associate-/l*_binary64_3433 associate--r-_binary64_3427
prod-exp_binary64_3537 1-exp_binary64_3532 exp-1-e_binary64_3531 remove-double-neg_binary64_3476 count-2_binary64_3436 associate-/l/_binary64_3435 associate-*r/_binary64_3430
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 pow-base-0_binary64_3572 unpow1/3_binary64_3555 unpow2_binary64_3553 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 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-div_binary64_3517 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 times-frac_binary64_3494 div-sub_binary64_3493 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 --rgt-identity_binary64_3474 +-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 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 associate-/r/_binary64_3434 associate-/r*_binary64_3432 associate-*l/_binary64_3431 associate--l-_binary64_3426
Counts
69 → 53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
074662
1199641
2684641
32350641
43606641
54975641
64971641

prune36.0ms (1.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New51253
Fresh000
Picked011
Done000
Total51354
Error
0b
Counts
54 → 3
Compiler

Compiled 525 to 112 computations (78.7% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

rewrite29.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-log-exp_binary64_3527
sum-log_binary64_3579 *-un-lft-identity_binary64_3488
pow1_binary64_3549 add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524 add-cube-cbrt_binary64_3523 add-sqr-sqrt_binary64_3510 flip3-+_binary64_3491 flip-+_binary64_3462 distribute-lft-out_binary64_3439 +-commutative_binary64_3418
associate-+r+_binary64_3420
Counts
2 → 26
Calls

2 calls:

6.0ms
(+.f64 x (+.f64 (*.f64 y z) (*.f64 y x)))
4.0ms
(+.f64 (*.f64 y z) (*.f64 y x))
Compiler

Compiled 460 to 95 computations (79.3% saved)

series333.0ms (9.9%)

Error
0b
Counts
2 → 33
Calls

2 calls:

173.0ms
(+.f64 x (+.f64 (*.f64 y z) (*.f64 y x)))
145.0ms
(+.f64 (*.f64 y z) (*.f64 y x))
Compiler

Compiled 598 to 338 computations (43.5% saved)

simplify108.0ms (3.2%)

Algorithm
egg-herbie
Rules
438×sub-neg_binary64_3481
394×distribute-rgt-out_binary64_3441
377×associate-*l*_binary64_3429
360×distribute-rgt-in_binary64_3438
315×distribute-lft-in_binary64_3437
296×associate-*r*_binary64_3428
275×+-commutative_binary64_3418
222×cancel-sign-sub-inv_binary64_3454
207×distribute-lft-out_binary64_3439
170×unswap-sqr_binary64_3456
141×unsub-neg_binary64_3482
122×associate--l+_binary64_3425
103×*-commutative_binary64_3419
101×associate-+l-_binary64_3423
100×distribute-rgt-neg-in_binary64_3446
91×distribute-rgt-out--_binary64_3442
89×associate--r+_binary64_3424
83×associate-+r-_binary64_3422
81×distribute-lft-neg-in_binary64_3445
74×sqr-pow_binary64_3460 associate-+l+_binary64_3421
65×neg-mul-1_binary64_3484
63×neg-sub0_binary64_3483
62×associate-+r+_binary64_3420
61×distribute-neg-in_binary64_3449
54×sub0-neg_binary64_3475
47×+-rgt-identity_binary64_3473
40×exp-prod_binary64_3540
39×exp-sum_binary64_3534
38×distribute-lft-neg-out_binary64_3447
20×pow-sqr_binary64_3461 distribute-rgt-neg-out_binary64_3448
16×unpow3_binary64_3554 distribute-lft-out--_binary64_3440
15×exp-diff_binary64_3536
11×cube-prod_binary64_3516
10×pow-plus_binary64_3551 difference-of-squares_binary64_3457 swap-sqr_binary64_3455
cube-unmult_binary64_3525
log-prod_binary64_3574 associate--l-_binary64_3426
cube-mult_binary64_3518 remove-double-neg_binary64_3476
prod-exp_binary64_3537 associate--r-_binary64_3427
*-lft-identity_binary64_3477
+-lft-identity_binary64_3472 cancel-sign-sub_binary64_3453 distribute-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 associate-/l/_binary64_3435 associate-*r/_binary64_3430
unpow1/2_binary64_3552 1-exp_binary64_3532 exp-1-e_binary64_3531 *-rgt-identity_binary64_3478 associate-/l*_binary64_3433
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 pow-base-0_binary64_3572 unpow1/3_binary64_3555 unpow2_binary64_3553 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 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-div_binary64_3517 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 mul-1-neg_binary64_3480 /-rgt-identity_binary64_3479 --rgt-identity_binary64_3474 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 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 count-2_binary64_3436 associate-/r/_binary64_3434 associate-/r*_binary64_3432 associate-*l/_binary64_3431
Counts
59 → 46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062614
1188590
2660587
32306584
44283584
54946584
64997584
74979584

prune27.0ms (0.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New46046
Fresh011
Picked011
Done011
Total46349
Error
0b
Counts
49 → 3
Compiler

Compiled 454 to 86 computations (81.1% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z)))
0.5b
(cbrt.f64 (+.f64 x z))
0.5b
(cbrt.f64 (+.f64 x z))
0.5b
(cbrt.f64 (+.f64 z x))

rewrite132.0ms (3.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
36×cbrt-prod_binary64_3519
35×*-un-lft-identity_binary64_3488
23×add-sqr-sqrt_binary64_3510
18×cbrt-div_binary64_3520
15×add-cube-cbrt_binary64_3523
11×pow1_binary64_3549
pow1/3_binary64_3570 flip3-+_binary64_3491 flip-+_binary64_3462 distribute-lft-out_binary64_3439 swap-sqr_binary64_3455
associate-*l*_binary64_3429 associate-*r*_binary64_3428
add-exp-log_binary64_3526
add-log-exp_binary64_3527 add-cbrt-cube_binary64_3524 frac-times_binary64_3498 unswap-sqr_binary64_3456
pow-prod-down_binary64_3559 pow-prod-up_binary64_3558 pow-sqr_binary64_3461 associate-*l/_binary64_3431 associate-*r/_binary64_3430
pow2_binary64_3569 pow-plus_binary64_3551 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 *-commutative_binary64_3419
Counts
4 → 95
Calls

4 calls:

12.0ms
(*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z)))
3.0ms
(cbrt.f64 (+.f64 z x))
3.0ms
(cbrt.f64 (+.f64 x z))
3.0ms
(cbrt.f64 (+.f64 x z))
Compiler

Compiled 2453 to 583 computations (76.2% saved)

series568.0ms (17%)

Error
0b
Counts
4 → 42
Calls

4 calls:

149.0ms
(*.f64 (cbrt.f64 (+.f64 x z)) (cbrt.f64 (+.f64 x z)))
129.0ms
(cbrt.f64 (+.f64 z x))
128.0ms
(cbrt.f64 (+.f64 x z))
114.0ms
(cbrt.f64 (+.f64 x z))
Compiler

Compiled 2838 to 1991 computations (29.8% saved)

simplify180.0ms (5.4%)

Algorithm
egg-herbie
Rules
338×associate-*l*_binary64_3429
279×unswap-sqr_binary64_3456
260×associate-*r*_binary64_3428
239×distribute-rgt-in_binary64_3438
219×distribute-lft-in_binary64_3437
192×sqr-pow_binary64_3460
164×log-prod_binary64_3574
163×sub-neg_binary64_3481
153×exp-sum_binary64_3534
141×unsub-neg_binary64_3482
139×exp-prod_binary64_3540
115×*-commutative_binary64_3419
105×neg-mul-1_binary64_3484
103×neg-sub0_binary64_3483
102×cancel-sign-sub-inv_binary64_3454
92×distribute-rgt-out_binary64_3441
81×distribute-lft-out_binary64_3439
80×associate-+r+_binary64_3420
75×associate-+l+_binary64_3421
64×distribute-rgt-neg-in_binary64_3446
61×log-pow_binary64_3577
60×log-div_binary64_3575
59×exp-diff_binary64_3536
58×distribute-lft-neg-in_binary64_3445
57×unpow3_binary64_3554
52×cube-prod_binary64_3516 *-lft-identity_binary64_3477
51×*-rgt-identity_binary64_3478
46×div-sub_binary64_3493
45×pow-sqr_binary64_3461 +-commutative_binary64_3418
41×pow-plus_binary64_3551 +-lft-identity_binary64_3472
40×associate--r+_binary64_3424
38×prod-exp_binary64_3537
33×associate-+l-_binary64_3423
32×div-exp_binary64_3539 cube-div_binary64_3517
31×cube-unmult_binary64_3525 sub0-neg_binary64_3475
29×exp-to-pow_binary64_3550 associate-/r*_binary64_3432 associate-+r-_binary64_3422
26×swap-sqr_binary64_3455
24×distribute-lft-neg-out_binary64_3447
20×cube-mult_binary64_3518 distribute-rgt-neg-out_binary64_3448
17×unpow1/3_binary64_3555
16×rem-sqrt-square_binary64_3501
14×difference-of-squares_binary64_3457
13×+-rgt-identity_binary64_3473 associate-/l/_binary64_3435 associate-/l*_binary64_3433
10×log-rec_binary64_3576 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 associate--r-_binary64_3427
rem-exp-log_binary64_3528
unpow1/2_binary64_3552 distribute-neg-in_binary64_3449 distribute-rgt-out--_binary64_3442
associate-*r/_binary64_3430
unpow2_binary64_3553 unpow-1_binary64_3545 rec-exp_binary64_3538 exp-neg_binary64_3535 remove-double-neg_binary64_3476 count-2_binary64_3436
unpow1_binary64_3546 times-frac_binary64_3494
mul-1-neg_binary64_3480 distribute-lft-out--_binary64_3440 associate-/r/_binary64_3434 associate--l+_binary64_3425
rem-3cbrt-lft_binary64_3513
remove-double-div_binary64_3464 associate--l-_binary64_3426
log-E_binary64_3578 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-3cbrt-rft_binary64_3514 rem-cbrt-cube_binary64_3512 rem-square-sqrt_binary64_3500 --rgt-identity_binary64_3474 +-inverses_binary64_3467
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 pow-base-0_binary64_3572 pow-base-1_binary64_3548 unpow0_binary64_3547 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-sqrt_binary64_3541 e-exp-1_binary64_3533 exp-0_binary64_3530 rem-log-exp_binary64_3529 cube-neg_binary64_3515 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 /-rgt-identity_binary64_3479 div0_binary64_3469 *-inverses_binary64_3468 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 cancel-sign-sub_binary64_3453 distribute-neg-frac_binary64_3452 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 associate-*l/_binary64_3431
Counts
137 → 101
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01352011
12692001
25601928
316581908
438181740
545961740
648871740
748881740

prune101.0ms (3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1010101
Fresh000
Picked011
Done022
Total1013104
Error
0b
Counts
104 → 3
Compiler

Compiled 2188 to 627 computations (71.3% saved)

regimes148.0ms (4.4%)

Accuracy

Total 0.0b remaining (71.8%)

Threshold costs 0.0b (71.8%)

Compiler

Compiled 888 to 706 computations (20.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
*-commutative_binary64_3419
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 1-exp_binary64_3532 exp-1-e_binary64_3531 exp-0_binary64_3530 sqr-abs_binary64_3503 sqr-neg_binary64_3502 neg-mul-1_binary64_3484 neg-sub0_binary64_3483 unsub-neg_binary64_3482 sub-neg_binary64_3481 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 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11010
21010

end0.0ms (0%)

sample756.0ms (22.6%)

Algorithm
intervals
Results
197.0ms8000×body128valid
12.0ms576×body128invalid
Compiler

Compiled 232 to 185 computations (20.3% saved)

Profiling

Loading profile data...