Details

Time bar (total: 6.2s)

analyze391.0ms (6.3%)

Algorithm
search
egg-herbie
Rules
1298×associate--r-_binary64_3427
588×div-sub_binary64_3493
492×unsub-neg_binary64_3482
469×sub-neg_binary64_3481
405×distribute-rgt-in_binary64_3438
381×neg-mul-1_binary64_3484
352×neg-sub0_binary64_3483
318×distribute-frac-neg_binary64_3451
292×distribute-lft-in_binary64_3437
270×distribute-rgt-neg-in_binary64_3446
246×distribute-lft-neg-in_binary64_3445
219×associate--r+_binary64_3424
209×*-commutative_binary64_3419
194×cancel-sign-sub-inv_binary64_3454
188×associate-/l*_binary64_3433
166×+-commutative_binary64_3418
157×associate-/r/_binary64_3434
144×remove-double-neg_binary64_3476
142×distribute-rgt-out--_binary64_3442
137×distribute-neg-in_binary64_3449
126×distribute-rgt-neg-out_binary64_3448
124×distribute-lft-neg-out_binary64_3447
118×distribute-lft-out--_binary64_3440
116×distribute-lft-out_binary64_3439 associate-/l/_binary64_3435
114×distribute-neg-out_binary64_3450
98×distribute-neg-frac_binary64_3452
96×associate-+l-_binary64_3423
77×associate-*r*_binary64_3428
69×associate-+l+_binary64_3421
66×associate-+r+_binary64_3420
65×associate-/r*_binary64_3432
56×associate-*l/_binary64_3431
52×distribute-rgt-out_binary64_3441
48×associate--l+_binary64_3425
46×associate-+r-_binary64_3422
38×associate-*l*_binary64_3429
31×/-rgt-identity_binary64_3479
29×sub0-neg_binary64_3475
28×associate-*r/_binary64_3430
19×*-lft-identity_binary64_3477
17×mul0-lft_binary64_3470
16×mul0-rgt_binary64_3471
15×+-rgt-identity_binary64_3473
14×+-lft-identity_binary64_3472
12×*-rgt-identity_binary64_3478
div0_binary64_3469
+-inverses_binary64_3467 associate--l-_binary64_3426
sqr-neg_binary64_3502 swap-sqr_binary64_3455
*-inverses_binary64_3468 difference-of-squares_binary64_3457
1-exp_binary64_3532 distribute-rgt1-in_binary64_3444 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 rem-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 times-frac_binary64_3494 mul-1-neg_binary64_3480 --rgt-identity_binary64_3474 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 unswap-sqr_binary64_3456 cancel-sign-sub_binary64_3453 count-2_binary64_3436
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01544
13644
28644
316444
435344
587844
6131244
7155644
8190044
9247744
10284744
11317644
12339244
13340744
14374044
15352044
16356844
17356044
18359244
19359244
20579044
022
122
Search
TrueOtherFalseIter
0%18.7%81.3%0
0%18.7%81.3%1
0%18.7%81.3%2
0%18.7%81.3%3
0%18.7%81.3%4
4.7%14%81.3%5
5.3%13.5%81.3%6
18.1%0.6%81.3%7
18.1%0.6%81.3%8
18.6%0.1%81.3%9
18.6%0.1%81.3%10
18.7%0%81.3%11
18.7%0%81.3%12
18.7%0%81.3%13
18.7%0%81.3%14
Compiler

Compiled 23 to 15 computations (34.8% saved)

sample213.0ms (3.4%)

Algorithm
intervals
Results
192.0ms256×pre128true
9.0ms256×body128valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify177.0ms (2.8%)

Algorithm
egg-herbie
Rules
917×times-frac_binary64_3494
687×unsub-neg_binary64_3482
552×sub-neg_binary64_3481
367×distribute-lft-neg-in_binary64_3445
317×associate-*l/_binary64_3431
287×associate-/l*_binary64_3433
271×neg-sub0_binary64_3483
267×distribute-rgt-in_binary64_3438
256×distribute-neg-in_binary64_3449
251×+-commutative_binary64_3418
239×div-sub_binary64_3493
236×distribute-neg-out_binary64_3450
223×*-commutative_binary64_3419
222×distribute-rgt-out--_binary64_3442
208×neg-mul-1_binary64_3484
204×distribute-rgt-neg-in_binary64_3446
188×associate-/r*_binary64_3432
184×cancel-sign-sub-inv_binary64_3454
180×distribute-rgt-neg-out_binary64_3448
173×associate-/l/_binary64_3435
160×associate--r+_binary64_3424
158×associate-+l-_binary64_3423
153×distribute-lft-in_binary64_3437
139×distribute-frac-neg_binary64_3451 distribute-lft-neg-out_binary64_3447
137×distribute-neg-frac_binary64_3452
128×associate--l+_binary64_3425
122×associate-*r*_binary64_3428
120×*-lft-identity_binary64_3477
119×mul-1-neg_binary64_3480 distribute-rgt-out_binary64_3441
95×associate-/r/_binary64_3434
85×associate-+r-_binary64_3422
80×associate--l-_binary64_3426
74×associate--r-_binary64_3427
72×remove-double-neg_binary64_3476
71×distribute-lft-out_binary64_3439
69×distribute-lft-out--_binary64_3440
57×associate-+l+_binary64_3421
55×associate-+r+_binary64_3420
51×associate-*l*_binary64_3429
41×sub0-neg_binary64_3475
39×/-rgt-identity_binary64_3479
19×*-rgt-identity_binary64_3478
18×associate-*r/_binary64_3430
17×mul0-lft_binary64_3470
15×mul0-rgt_binary64_3471
11×distribute-rgt1-in_binary64_3444
10×+-rgt-identity_binary64_3473
div0_binary64_3469
+-lft-identity_binary64_3472 swap-sqr_binary64_3455
sqr-neg_binary64_3502 cancel-sign-sub_binary64_3453 distribute-lft1-in_binary64_3443
+-inverses_binary64_3467
--rgt-identity_binary64_3474
remove-double-div_binary64_3464 count-2_binary64_3436
1-exp_binary64_3532 difference-of-squares_binary64_3457
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 rem-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 *-inverses_binary64_3468 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 pow-sqr_binary64_3461 sqr-pow_binary64_3460 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 unswap-sqr_binary64_3456
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
12322
25122
310022
421822
549922
689722
7195422
8263122
9433422
10392622
11414022
12422622
13422822
14422822
15497922

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
18.8b
Counts
1 → 1
Compiler

Compiled 15 to 9 computations (40% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

rewrite103.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
18.6b
Rules
11×add-sqr-sqrt_binary64_3510 *-un-lft-identity_binary64_3488
10×add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
flip3-+_binary64_3491 frac-times_binary64_3498 associate-/l/_binary64_3435 flip-+_binary64_3462
add-cube-cbrt_binary64_3523
flip3--_binary64_3492 flip--_binary64_3463
pow1_binary64_3549 add-log-exp_binary64_3527 associate-*l*_binary64_3429
associate-*l/_binary64_3431 associate-*r/_binary64_3430 associate-*r*_binary64_3428
times-frac_binary64_3494 associate-/r*_binary64_3432
prod-exp_binary64_3537 div-exp_binary64_3539 cbrt-undiv_binary64_3522 cbrt-unprod_binary64_3521 associate-/r/_binary64_3434
frac-2neg_binary64_3499 clear-num_binary64_3487 div-inv_binary64_3485 associate-/l*_binary64_3433 sum-log_binary64_3579 +-commutative_binary64_3418 pow-prod-down_binary64_3559 unswap-sqr_binary64_3456 distribute-rgt-in_binary64_3438 distribute-lft-in_binary64_3437 difference-of-squares_binary64_3457 distribute-lft-out--_binary64_3440 distribute-lft-out_binary64_3439 *-commutative_binary64_3419
Counts
3 → 73
Calls

3 calls:

12.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
9.0ms
(*.f64 (-.f64 x y) (+.f64 x y))
4.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 1909 to 319 computations (83.3% saved)

series612.0ms (9.8%)

Error
0.3b
Counts
3 → 48
Calls

3 calls:

293.0ms
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
146.0ms
(*.f64 (-.f64 x y) (+.f64 x y))
130.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 1584 to 1160 computations (26.8% saved)

simplify78.0ms (1.3%)

Algorithm
egg-herbie
Rules
640×associate-*l/_binary64_3431
534×associate-/r*_binary64_3432
255×associate-/r/_binary64_3434
239×associate-/l/_binary64_3435
185×distribute-rgt-in_binary64_3438
174×distribute-lft-in_binary64_3437
152×cancel-sign-sub-inv_binary64_3454
135×div-sub_binary64_3493
134×associate-*r*_binary64_3428
131×associate-*l*_binary64_3429
113×times-frac_binary64_3494
97×*-commutative_binary64_3419
94×associate-/l*_binary64_3433
86×distribute-rgt-neg-in_binary64_3446
84×sub-neg_binary64_3481
76×distribute-lft-neg-in_binary64_3445
69×unswap-sqr_binary64_3456
47×distribute-lft-neg-out_binary64_3447
46×distribute-neg-frac_binary64_3452
39×distribute-rgt-neg-out_binary64_3448
38×sqr-pow_binary64_3460
35×+-commutative_binary64_3418
34×associate-*r/_binary64_3430
33×neg-sub0_binary64_3483
32×neg-mul-1_binary64_3484
31×exp-prod_binary64_3540
25×*-rgt-identity_binary64_3478
22×distribute-neg-in_binary64_3449
20×unsub-neg_binary64_3482
19×log-div_binary64_3575
16×exp-sum_binary64_3534 cube-div_binary64_3517 /-rgt-identity_binary64_3479 *-lft-identity_binary64_3477
15×distribute-rgt-out--_binary64_3442
13×associate--l+_binary64_3425
12×distribute-rgt-out_binary64_3441
11×associate--r+_binary64_3424
10×difference-of-squares_binary64_3457 distribute-lft-out_binary64_3439
exp-diff_binary64_3536 cube-unmult_binary64_3525 cube-prod_binary64_3516
log-prod_binary64_3574 associate-+l+_binary64_3421
distribute-lft-out--_binary64_3440
swap-sqr_binary64_3455
log-rec_binary64_3576 unpow3_binary64_3554 pow-plus_binary64_3551 cube-mult_binary64_3518 associate-+r+_binary64_3420
pow-sqr_binary64_3461
unpow2_binary64_3553 unpow1/2_binary64_3552 unpow1_binary64_3546 rem-sqrt-square_binary64_3501 remove-double-neg_binary64_3476 *-inverses_binary64_3468 distribute-rgt1-in_binary64_3444 associate-+l-_binary64_3423 associate-+r-_binary64_3422
prod-exp_binary64_3537 1-exp_binary64_3532 exp-1-e_binary64_3531 mul-1-neg_binary64_3480 associate--r-_binary64_3427
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 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 sqr-neg_binary64_3502 rem-square-sqrt_binary64_3500 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_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 cancel-sign-sub_binary64_3453 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-lft1-in_binary64_3443 count-2_binary64_3436 associate--l-_binary64_3426
Counts
121 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01572372
14962156
221852136
349752136

prune84.0ms (1.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New88391
Fresh000
Picked101
Done000
Total89392
Error
11.0b
Counts
92 → 3
Compiler

Compiled 1884 to 457 computations (75.7% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 x x) (*.f64 y y))
0.0b
(/.f64 1 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y))))
18.6b
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y)))

rewrite200.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
11.0b
Rules
114×times-frac_binary64_3494
63×add-cube-cbrt_binary64_3523 add-sqr-sqrt_binary64_3510 *-un-lft-identity_binary64_3488
22×associate-/r*_binary64_3432
16×add-exp-log_binary64_3526 difference-of-squares_binary64_3457
11×associate-/r/_binary64_3434
10×add-cbrt-cube_binary64_3524
div-exp_binary64_3539
div-inv_binary64_3485 associate-/l*_binary64_3433
add-log-exp_binary64_3527 flip3--_binary64_3492 flip--_binary64_3463
pow1_binary64_3549 cbrt-undiv_binary64_3522
frac-2neg_binary64_3499 clear-num_binary64_3487 flip3-+_binary64_3491 associate-/l/_binary64_3435 flip-+_binary64_3462 1-exp_binary64_3532 rec-exp_binary64_3538
inv-pow_binary64_3573 pow-flip_binary64_3562 sum-log_binary64_3579 +-commutative_binary64_3418
Counts
3 → 142
Calls

3 calls:

12.0ms
(/.f64 1 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y))))
9.0ms
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y)))
4.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 4737 to 907 computations (80.9% saved)

series728.0ms (11.7%)

Error
0.3b
Counts
3 → 60
Calls

3 calls:

269.0ms
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y)))
263.0ms
(/.f64 1 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (-.f64 (*.f64 x x) (*.f64 y y))))
127.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 2112 to 1757 computations (16.8% saved)

simplify203.0ms (3.3%)

Algorithm
egg-herbie
Rules
445×associate-/r/_binary64_3434
422×distribute-rgt-in_binary64_3438
378×distribute-lft-in_binary64_3437
316×associate-/l/_binary64_3435
168×cancel-sign-sub-inv_binary64_3454
133×distribute-rgt-neg-in_binary64_3446
126×distribute-lft-neg-in_binary64_3445
94×*-commutative_binary64_3419
90×associate-*l/_binary64_3431
88×times-frac_binary64_3494
81×associate-*r*_binary64_3428
79×associate-/l*_binary64_3433
75×sub-neg_binary64_3481
69×associate-/r*_binary64_3432
67×distribute-neg-frac_binary64_3452
61×unswap-sqr_binary64_3456
53×associate-*r/_binary64_3430
51×exp-prod_binary64_3540
49×neg-mul-1_binary64_3484 +-commutative_binary64_3418
47×associate-*l*_binary64_3429
46×neg-sub0_binary64_3483
40×distribute-neg-in_binary64_3449 distribute-rgt-out_binary64_3441
36×*-rgt-identity_binary64_3478
34×distribute-lft-neg-out_binary64_3447
29×log-prod_binary64_3574 sqr-pow_binary64_3460 associate-+r+_binary64_3420
26×distribute-rgt-neg-out_binary64_3448 distribute-lft-out_binary64_3439
21×log-div_binary64_3575
19×div-sub_binary64_3493
18×unsub-neg_binary64_3482 associate--r+_binary64_3424 associate-+l+_binary64_3421
16×difference-of-squares_binary64_3457
15×*-lft-identity_binary64_3477 distribute-rgt-out--_binary64_3442
14×unpow3_binary64_3554
13×cube-prod_binary64_3516
10×swap-sqr_binary64_3455 associate--l+_binary64_3425
cube-unmult_binary64_3525
log-rec_binary64_3576 /-rgt-identity_binary64_3479
pow-plus_binary64_3551 distribute-lft-out--_binary64_3440 associate-+r-_binary64_3422
cube-div_binary64_3517 remove-double-div_binary64_3464
exp-sum_binary64_3534
+-rgt-identity_binary64_3473 distribute-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 associate--r-_binary64_3427
unpow2_binary64_3553 unpow1/2_binary64_3552 unpow1_binary64_3546 cube-mult_binary64_3518 +-lft-identity_binary64_3472 pow-sqr_binary64_3461 distribute-neg-out_binary64_3450
prod-exp_binary64_3537 exp-diff_binary64_3536 1-exp_binary64_3532 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 div0_binary64_3469 *-inverses_binary64_3468 lft-mult-inverse_binary64_3466 distribute-frac-neg_binary64_3451 count-2_binary64_3436 associate-+l-_binary64_3423
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 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-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-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 mul-1-neg_binary64_3480 --rgt-identity_binary64_3474 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 +-inverses_binary64_3467 rgt-mult-inverse_binary64_3465 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 cancel-sign-sub_binary64_3453 associate--l-_binary64_3426
Counts
202 → 144
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02156595
15406158
220486063
349406063
449996063

prune147.0ms (2.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1440144
Fresh022
Picked011
Done000
Total1443147
Error
11.0b
Counts
147 → 3
Compiler

Compiled 3584 to 872 computations (75.7% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 -1 (*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y))))
0.0b
(*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y)))
22.3b
(/.f64 (*.f64 x x) (*.f64 y y))

rewrite84.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
3.6b
Rules
33×add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
13×prod-exp_binary64_3537 cbrt-unprod_binary64_3521
div-exp_binary64_3539 cbrt-undiv_binary64_3522 add-sqr-sqrt_binary64_3510
pow1_binary64_3549 add-log-exp_binary64_3527 add-cube-cbrt_binary64_3523 *-un-lft-identity_binary64_3488 associate-*r*_binary64_3428
times-frac_binary64_3494 associate-*l*_binary64_3429
div-inv_binary64_3485 unswap-sqr_binary64_3456
frac-2neg_binary64_3499 clear-num_binary64_3487 associate-/l*_binary64_3433 associate-/r*_binary64_3432 pow-prod-down_binary64_3559 associate-*r/_binary64_3430 *-commutative_binary64_3419 sum-log_binary64_3579 flip3-+_binary64_3491 flip-+_binary64_3462 +-commutative_binary64_3418
Counts
3 → 62
Calls

3 calls:

11.0ms
(*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y)))
6.0ms
(/.f64 (*.f64 x x) (*.f64 y y))
4.0ms
(+.f64 -1 (*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y))))
Compiler

Compiled 1225 to 483 computations (60.6% saved)

series475.0ms (7.6%)

Error
3.9b
Counts
3 → 24
Calls

3 calls:

201.0ms
(+.f64 -1 (*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y))))
139.0ms
(*.f64 2 (/.f64 (*.f64 x x) (*.f64 y y)))
118.0ms
(/.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 654 to 620 computations (5.2% saved)

simplify103.0ms (1.7%)

Algorithm
egg-herbie
Rules
732×times-frac_binary64_3494
587×associate-*l/_binary64_3431
558×associate-*l*_binary64_3429
530×associate-*r/_binary64_3430
425×associate-/l*_binary64_3433
278×associate-/r*_binary64_3432
149×log-div_binary64_3575
127×log-prod_binary64_3574
120×associate-/r/_binary64_3434
100×associate-/l/_binary64_3435
98×cube-div_binary64_3517
84×exp-prod_binary64_3540
54×cancel-sign-sub-inv_binary64_3454
52×distribute-rgt-neg-in_binary64_3446
49×associate-*r*_binary64_3428
47×distribute-rgt-in_binary64_3438
45×*-commutative_binary64_3419
43×distribute-lft-neg-in_binary64_3445
38×distribute-neg-frac_binary64_3452
36×sub-neg_binary64_3481
29×unswap-sqr_binary64_3456
28×distribute-lft-in_binary64_3437
24×sqr-pow_binary64_3460
21×cube-prod_binary64_3516
19×distribute-rgt-neg-out_binary64_3448
18×unpow3_binary64_3554 distribute-lft-neg-out_binary64_3447
16×neg-sub0_binary64_3483 distribute-rgt-out_binary64_3441
13×neg-mul-1_binary64_3484
12×swap-sqr_binary64_3455 +-commutative_binary64_3418
10×log-pow_binary64_3577
pow-plus_binary64_3551 cube-unmult_binary64_3525 cube-mult_binary64_3518
unsub-neg_binary64_3482 pow-sqr_binary64_3461 distribute-rgt-out--_binary64_3442 associate-+r-_binary64_3422
exp-lft-sqr_binary64_3543 prod-exp_binary64_3537 mul-1-neg_binary64_3480
exp-diff_binary64_3536
unpow1_binary64_3546 *-lft-identity_binary64_3477 distribute-lft-out_binary64_3439 associate--r+_binary64_3424 associate-+l-_binary64_3423 associate-+l+_binary64_3421
log-rec_binary64_3576 unpow2_binary64_3553 unpow1/2_binary64_3552 div-exp_binary64_3539 exp-sum_binary64_3534 distribute-neg-in_binary64_3449 distribute-rgt1-in_binary64_3444 distribute-lft-out--_binary64_3440 count-2_binary64_3436 associate--l+_binary64_3425 associate-+r+_binary64_3420
exp-neg_binary64_3535 1-exp_binary64_3532 exp-1-e_binary64_3531 cube-neg_binary64_3515 sqr-neg_binary64_3502 rem-sqrt-square_binary64_3501 remove-double-neg_binary64_3476 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 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 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 exp-sqrt_binary64_3541 rec-exp_binary64_3538 e-exp-1_binary64_3533 exp-0_binary64_3530 rem-log-exp_binary64_3529 rem-exp-log_binary64_3528 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 div-sub_binary64_3493 /-rgt-identity_binary64_3479 *-rgt-identity_binary64_3478 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-squares_binary64_3457 cancel-sign-sub_binary64_3453 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 associate--r-_binary64_3427 associate--l-_binary64_3426
Counts
86 → 61
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01041378
12511190
28801102
344311096
449791096
549811096

prune55.0ms (0.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New57461
Fresh011
Picked101
Done011
Total58664
Error
3.6b
Counts
64 → 6
Compiler

Compiled 826 to 445 computations (46.1% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 -1 (*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))))
0.0b
(*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))
0.3b
(*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))

rewrite80.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
3.6b
Rules
15×pow1_binary64_3549
11×add-sqr-sqrt_binary64_3510
10×add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
add-cube-cbrt_binary64_3523 *-un-lft-identity_binary64_3488
associate-*l*_binary64_3429
add-log-exp_binary64_3527
pow-prod-down_binary64_3559 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 associate-*r*_binary64_3428
swap-sqr_binary64_3455
unswap-sqr_binary64_3456 *-commutative_binary64_3419
pow2_binary64_3569 pow-prod-up_binary64_3558 pow-plus_binary64_3551 sqr-abs_binary64_3503 pow-sqr_binary64_3461 sum-log_binary64_3579 flip3-+_binary64_3491 flip-+_binary64_3462 +-commutative_binary64_3418
Counts
3 → 56
Calls

3 calls:

6.0ms
(*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))
4.0ms
(*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))
3.0ms
(+.f64 -1 (*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))))
Compiler

Compiled 1225 to 429 computations (65% saved)

series353.0ms (5.7%)

Error
3.6b
Counts
3 → 18
Calls

3 calls:

147.0ms
(+.f64 -1 (*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))))
114.0ms
(*.f64 2 (*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y))))
79.0ms
(*.f64 (fabs.f64 (/.f64 x y)) (fabs.f64 (/.f64 x y)))
Compiler

Compiled 540 to 472 computations (12.6% saved)

simplify59.0ms (0.9%)

Algorithm
egg-herbie
Rules
700×associate-*l/_binary64_3431
239×unswap-sqr_binary64_3456
231×distribute-rgt-neg-in_binary64_3446
220×distribute-rgt-in_binary64_3438
217×cancel-sign-sub-inv_binary64_3454
189×distribute-lft-in_binary64_3437
178×*-commutative_binary64_3419
175×distribute-lft-neg-in_binary64_3445
139×associate-/l*_binary64_3433
133×distribute-rgt-out_binary64_3441
99×log-prod_binary64_3574
97×associate-*r*_binary64_3428
94×distribute-rgt-neg-out_binary64_3448 distribute-lft-neg-out_binary64_3447
84×exp-prod_binary64_3540 cube-prod_binary64_3516
79×associate-*l*_binary64_3429
74×sqr-pow_binary64_3460
72×associate-*r/_binary64_3430
69×unsub-neg_binary64_3482
60×neg-sub0_binary64_3483
55×neg-mul-1_binary64_3484
50×distribute-neg-out_binary64_3450
48×distribute-neg-frac_binary64_3452
47×swap-sqr_binary64_3455
45×sub-neg_binary64_3481
35×distribute-rgt-out--_binary64_3442
25×associate-/r*_binary64_3432
22×pow-sqr_binary64_3461 associate-/l/_binary64_3435
20×log-div_binary64_3575 cube-div_binary64_3517 distribute-lft-out_binary64_3439
19×associate-+l+_binary64_3421
17×associate-+r+_binary64_3420
16×associate-/r/_binary64_3434
14×unpow3_binary64_3554 +-commutative_binary64_3418
11×pow-plus_binary64_3551
10×cube-mult_binary64_3518 distribute-neg-in_binary64_3449
distribute-rgt1-in_binary64_3444
*-rgt-identity_binary64_3478 remove-double-neg_binary64_3476
*-lft-identity_binary64_3477
log-pow_binary64_3577 exp-lft-sqr_binary64_3543 exp-diff_binary64_3536 mul-1-neg_binary64_3480 difference-of-sqr-1_binary64_3458 associate-+l-_binary64_3423
prod-exp_binary64_3537 cube-unmult_binary64_3525 sqr-neg_binary64_3502 count-2_binary64_3436 associate-+r-_binary64_3422
cube-neg_binary64_3515 rem-sqrt-square_binary64_3501
sub0-neg_binary64_3475 distribute-lft1-in_binary64_3443 associate--l-_binary64_3426
unpow1/2_binary64_3552 div-exp_binary64_3539 exp-sum_binary64_3534 times-frac_binary64_3494 --rgt-identity_binary64_3474 associate--r-_binary64_3427
unpow2_binary64_3553 unpow1_binary64_3546 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-3cbrt-rft_binary64_3514 rem-3cbrt-lft_binary64_3513 sqr-abs_binary64_3503 rem-square-sqrt_binary64_3500 difference-of-sqr--1_binary64_3459 distribute-lft-out--_binary64_3440 associate--l+_binary64_3425
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-cbrt_binary64_3542 exp-sqrt_binary64_3541 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 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 div-sub_binary64_3493 /-rgt-identity_binary64_3479 +-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-squares_binary64_3457 cancel-sign-sub_binary64_3453 distribute-frac-neg_binary64_3451 associate--r+_binary64_3424
Counts
74 → 45
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0791131
1174980
2540931
31433913
45129913

prune47.0ms (0.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New41445
Fresh134
Picked101
Done011
Total43851
Error
3.6b
Counts
51 → 8
Compiler

Compiled 676 to 401 computations (40.7% saved)

regimes432.0ms (6.9%)

Accuracy

Total 4.4b remaining (93.2%)

Threshold costs 0b (0%)

Compiler

Compiled 2823 to 1835 computations (35% saved)

bsearch3.0ms (0%)

Compiler

Compiled 15 to 9 computations (40% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
sub-neg_binary64_3481 *-commutative_binary64_3419
neg-mul-1_binary64_3484 neg-sub0_binary64_3483
1-exp_binary64_3532 cancel-sign-sub-inv_binary64_3454 distribute-lft-neg-out_binary64_3447 distribute-rgt-neg-in_binary64_3446
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 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 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-in_binary64_3445
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02368
13668
24268
34668
44868
54768

end0.0ms (0%)

sample1.6s (25.1%)

Algorithm
intervals
Results
296.0ms8000×body128valid
162.0ms8000×pre128true
Compiler

Compiled 989 to 639 computations (35.4% saved)

Profiling

Loading profile data...