Details

Time bar (total: 6.5s)

analyze3.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
50%50%0%2
50%25%25%3
62.5%12.5%25%4
68.7%6.2%25%5
71.8%3.1%25%6
73.4%1.6%25%7
74.2%0.8%25%8
74.6%0.4%25%9
74.8%0.2%25%10
74.9%0.1%25%11
74.9%0%25%12
74.9%0%25%13
74.9%0%25%14
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample14.0ms (0.2%)

Algorithm
intervals
Results
7.0ms256×body128valid
Compiler

Compiled 17 to 16 computations (5.9% saved)

simplify154.0ms (2.4%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
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 *-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 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11112

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 8 to 7 computations (12.5% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(sqrt.f64 (+.f64 x 1))
0.0b
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
0.2b
(/.f64 x (+.f64 1 (sqrt.f64 (+.f64 x 1))))

rewrite106.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
42×*-un-lft-identity_binary64_3488
26×add-sqr-sqrt_binary64_3510
21×distribute-lft-out_binary64_3439
18×times-frac_binary64_3494
15×add-cube-cbrt_binary64_3523
14×sqrt-prod_binary64_3504
associate-/r*_binary64_3432
add-exp-log_binary64_3526 add-log-exp_binary64_3527 add-cbrt-cube_binary64_3524
pow1_binary64_3549
flip3-+_binary64_3491 flip-+_binary64_3462 associate-/l*_binary64_3433
associate-/r/_binary64_3434 sqrt-div_binary64_3505
div-exp_binary64_3539 cbrt-undiv_binary64_3522 frac-2neg_binary64_3499 clear-num_binary64_3487 div-inv_binary64_3485 sum-log_binary64_3579 +-commutative_binary64_3418 pow1/2_binary64_3568 sqrt-pow1_binary64_3506 rem-sqrt-square_binary64_3501
Counts
3 → 71
Calls

3 calls:

8.0ms
(/.f64 x (+.f64 1 (sqrt.f64 (+.f64 x 1))))
6.0ms
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
3.0ms
(sqrt.f64 (+.f64 x 1))
Compiler

Compiled 1133 to 876 computations (22.7% saved)

series109.0ms (1.7%)

Error
0.2b
Counts
3 → 18
Calls

3 calls:

54.0ms
(/.f64 x (+.f64 1 (sqrt.f64 (+.f64 x 1))))
21.0ms
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
19.0ms
(sqrt.f64 (+.f64 x 1))
Compiler

Compiled 446 to 364 computations (18.4% saved)

simplify220.0ms (3.4%)

Algorithm
egg-herbie
Rules
590×distribute-rgt-in_binary64_3438
483×distribute-lft-in_binary64_3437
275×cancel-sign-sub-inv_binary64_3454
241×times-frac_binary64_3494
167×distribute-rgt-out_binary64_3441
145×associate-/l*_binary64_3433
125×sub-neg_binary64_3481
111×distribute-rgt-out--_binary64_3442
104×associate--l+_binary64_3425
89×associate--l-_binary64_3426
83×associate-/l/_binary64_3435
78×associate-/r*_binary64_3432
76×associate-*l/_binary64_3431
68×associate--r+_binary64_3424
66×associate-*r/_binary64_3430
65×associate-*r*_binary64_3428
62×associate-*l*_binary64_3429
61×associate-/r/_binary64_3434
59×sqr-pow_binary64_3460
57×+-commutative_binary64_3418
54×div-sub_binary64_3493
52×*-commutative_binary64_3419
48×associate-+r+_binary64_3420
47×unsub-neg_binary64_3482 unswap-sqr_binary64_3456 distribute-rgt-neg-in_binary64_3446
39×pow-sqr_binary64_3461 associate-+l+_binary64_3421
37×distribute-lft-neg-in_binary64_3445
32×associate-+l-_binary64_3423
31×log-div_binary64_3575
29×log-prod_binary64_3574 cube-div_binary64_3517
28×distribute-neg-frac_binary64_3452 distribute-rgt1-in_binary64_3444 associate-+r-_binary64_3422
26×*-rgt-identity_binary64_3478
25×distribute-lft-out_binary64_3439
24×cube-prod_binary64_3516
23×exp-prod_binary64_3540
21×neg-mul-1_binary64_3484 +-rgt-identity_binary64_3473
20×pow-plus_binary64_3551 neg-sub0_binary64_3483
19×swap-sqr_binary64_3455 distribute-lft-neg-out_binary64_3447
18×sub0-neg_binary64_3475
17×prod-exp_binary64_3537
16×log-pow_binary64_3577 div-exp_binary64_3539 /-rgt-identity_binary64_3479
15×distribute-neg-in_binary64_3449 associate--r-_binary64_3427
13×*-lft-identity_binary64_3477
12×distribute-lft-out--_binary64_3440
distribute-neg-out_binary64_3450
exp-sqrt_binary64_3541 distribute-rgt-neg-out_binary64_3448
log-rec_binary64_3576 cancel-sign-sub_binary64_3453 distribute-lft1-in_binary64_3443
unpow3_binary64_3554 pow-base-1_binary64_3548 cube-unmult_binary64_3525 cube-mult_binary64_3518 difference-of-squares_binary64_3457
difference-of-sqr-1_binary64_3458
exp-lft-sqr_binary64_3543 rec-exp_binary64_3538 rem-sqrt-square_binary64_3501
exp-sum_binary64_3534 remove-double-div_binary64_3464
exp-diff_binary64_3536 *-inverses_binary64_3468 distribute-frac-neg_binary64_3451
unpow2_binary64_3553 unpow1_binary64_3546 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-log-exp_binary64_3529 rem-square-sqrt_binary64_3500 div0_binary64_3469 +-inverses_binary64_3467 rgt-mult-inverse_binary64_3465 count-2_binary64_3436
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 unpow1/2_binary64_3552 exp-to-pow_binary64_3550 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-cbrt_binary64_3542 exp-neg_binary64_3535 e-exp-1_binary64_3533 exp-0_binary64_3530 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 mul-1-neg_binary64_3480 remove-double-neg_binary64_3476 --rgt-identity_binary64_3474 +-lft-identity_binary64_3472 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 lft-mult-inverse_binary64_3466 difference-of-sqr--1_binary64_3459
Counts
89 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01291381
12781312
27091282
318581268

prune112.0ms (1.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New87390
Fresh000
Picked011
Done000
Total87491
Error
0b
Counts
91 → 4
Compiler

Compiled 1577 to 1132 computations (28.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))
0.2b
(cbrt.f64 (+.f64 x 1))
0.2b
(cbrt.f64 (+.f64 x 1))
0.2b
(/.f64 x (+.f64 1 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))))

rewrite168.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
24×add-sqr-sqrt_binary64_3510 *-un-lft-identity_binary64_3488
18×add-cube-cbrt_binary64_3523
13×cbrt-prod_binary64_3519
10×associate-*r*_binary64_3428
times-frac_binary64_3494 sqrt-prod_binary64_3504
add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
pow1_binary64_3549 cbrt-div_binary64_3520
add-log-exp_binary64_3527 flip3-+_binary64_3491 flip-+_binary64_3462
associate-/l*_binary64_3433 associate-/r*_binary64_3432 distribute-lft-out_binary64_3439 unswap-sqr_binary64_3456 associate-*l*_binary64_3429
associate-/r/_binary64_3434 pow1/3_binary64_3570 sqrt-div_binary64_3505 associate-*r/_binary64_3430
div-exp_binary64_3539 cbrt-undiv_binary64_3522 frac-2neg_binary64_3499 clear-num_binary64_3487 div-inv_binary64_3485 pow-prod-down_binary64_3559 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 *-commutative_binary64_3419
Counts
4 → 86
Calls

4 calls:

9.0ms
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))
4.0ms
(/.f64 x (+.f64 1 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))))
3.0ms
(cbrt.f64 (+.f64 x 1))
3.0ms
(cbrt.f64 (+.f64 x 1))
Compiler

Compiled 2214 to 1800 computations (18.7% saved)

series954.0ms (14.7%)

Error
0b
Counts
4 → 36
Calls

4 calls:

610.0ms
(/.f64 x (+.f64 1 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))))
121.0ms
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 x 1))) (sqrt.f64 (cbrt.f64 (+.f64 x 1))))
72.0ms
(cbrt.f64 (+.f64 x 1))
66.0ms
(cbrt.f64 (+.f64 x 1))
Compiler

Compiled 2980 to 2578 computations (13.5% saved)

simplify573.0ms (8.8%)

Algorithm
egg-herbie
Rules
631×associate-/r*_binary64_3432
274×associate-/r/_binary64_3434
272×cancel-sign-sub-inv_binary64_3454
230×unswap-sqr_binary64_3456
201×associate-/l/_binary64_3435
190×associate-*r*_binary64_3428
166×associate-*l*_binary64_3429
141×times-frac_binary64_3494
132×distribute-rgt-neg-in_binary64_3446
126×sqr-pow_binary64_3460
123×distribute-rgt-in_binary64_3438
113×associate-/l*_binary64_3433
102×distribute-lft-neg-in_binary64_3445
100×sub-neg_binary64_3481
99×*-commutative_binary64_3419
96×distribute-lft-in_binary64_3437
79×+-commutative_binary64_3418
65×pow-sqr_binary64_3461
49×associate--l+_binary64_3425
48×*-rgt-identity_binary64_3478
47×neg-mul-1_binary64_3484 distribute-neg-in_binary64_3449
46×neg-sub0_binary64_3483
44×distribute-rgt-out_binary64_3441
42×log-prod_binary64_3574
41×associate-*l/_binary64_3431
39×associate-+l+_binary64_3421
37×associate-*r/_binary64_3430
31×distribute-neg-frac_binary64_3452
27×*-lft-identity_binary64_3477 associate-+r+_binary64_3420
24×prod-exp_binary64_3537 distribute-lft-neg-out_binary64_3447
23×distribute-rgt-out--_binary64_3442
22×unsub-neg_binary64_3482
21×/-rgt-identity_binary64_3479 associate--r+_binary64_3424
20×distribute-lft-out_binary64_3439
18×pow-plus_binary64_3551
16×exp-prod_binary64_3540 div-exp_binary64_3539
13×cube-prod_binary64_3516
11×log-div_binary64_3575 rem-sqrt-square_binary64_3501
10×div-sub_binary64_3493
log-pow_binary64_3577 distribute-rgt1-in_binary64_3444 distribute-lft-out--_binary64_3440
unpow3_binary64_3554 exp-sum_binary64_3534 cube-unmult_binary64_3525 difference-of-squares_binary64_3457
unpow1/3_binary64_3555 cube-mult_binary64_3518 cube-div_binary64_3517
swap-sqr_binary64_3455
unpow2_binary64_3553 unpow1_binary64_3546 rec-exp_binary64_3538
log-rec_binary64_3576 pow-base-1_binary64_3548 difference-of-sqr-1_binary64_3458 distribute-rgt-neg-out_binary64_3448 count-2_binary64_3436
+-inverses_binary64_3467 associate-+r-_binary64_3422
exp-sqrt_binary64_3541 exp-diff_binary64_3536 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-log-exp_binary64_3529 rem-3cbrt-lft_binary64_3513 rem-cbrt-cube_binary64_3512 sqr-abs_binary64_3503 rem-square-sqrt_binary64_3500 +-rgt-identity_binary64_3473 *-inverses_binary64_3468 associate--r-_binary64_3427 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 pow-base-0_binary64_3572 unpow1/2_binary64_3552 exp-to-pow_binary64_3550 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-lft-sqr_binary64_3543 exp-cbrt_binary64_3542 exp-neg_binary64_3535 e-exp-1_binary64_3533 exp-0_binary64_3530 rem-exp-log_binary64_3528 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-cube-cbrt_binary64_3511 sqr-neg_binary64_3502 mul-1-neg_binary64_3480 remove-double-neg_binary64_3476 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-lft-identity_binary64_3472 mul0-rgt_binary64_3471 mul0-lft_binary64_3470 div0_binary64_3469 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464 difference-of-sqr--1_binary64_3459 cancel-sign-sub_binary64_3453 distribute-frac-neg_binary64_3451 distribute-neg-out_binary64_3450 distribute-lft1-in_binary64_3443 associate--l-_binary64_3426
Counts
122 → 138
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02723751
16733605
225713429

prune335.0ms (5.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1380138
Fresh022
Picked011
Done011
Total1384142
Error
0b
Counts
142 → 4
Compiler

Compiled 4768 to 3833 computations (19.6% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (+.f64 x 1))
0.0b
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
0.0b
(/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1))))
0.1b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1)))))

rewrite248.0ms (3.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
119×*-un-lft-identity_binary64_3488
92×add-sqr-sqrt_binary64_3510
79×sqrt-prod_binary64_3504
76×times-frac_binary64_3494
57×distribute-lft-out_binary64_3439
47×add-cube-cbrt_binary64_3523
42×associate-*r*_binary64_3428
11×add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524
pow1_binary64_3549
add-log-exp_binary64_3527 unswap-sqr_binary64_3456 associate-*l*_binary64_3429 associate-/l*_binary64_3433 associate-/r*_binary64_3432
flip3-+_binary64_3491 associate-/r/_binary64_3434 flip-+_binary64_3462
div-exp_binary64_3539 prod-exp_binary64_3537 cbrt-unprod_binary64_3521 cbrt-undiv_binary64_3522 div-inv_binary64_3485 sqrt-div_binary64_3505
pow-prod-down_binary64_3559 associate-*r/_binary64_3430 *-commutative_binary64_3419 frac-2neg_binary64_3499 clear-num_binary64_3487 sum-log_binary64_3579 +-commutative_binary64_3418 pow1/2_binary64_3568 sqrt-pow1_binary64_3506 rem-sqrt-square_binary64_3501
Counts
4 → 160
Calls

4 calls:

23.0ms
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1)))))
9.0ms
(/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1))))
6.0ms
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
3.0ms
(sqrt.f64 (+.f64 x 1))
Compiler

Compiled 3521 to 2199 computations (37.5% saved)

series188.0ms (2.9%)

Error
0b
Counts
4 → 19
Calls

4 calls:

67.0ms
(/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1))))
58.0ms
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (+.f64 1 (sqrt.f64 (+.f64 x 1)))))
25.0ms
(+.f64 1 (sqrt.f64 (+.f64 x 1)))
24.0ms
(sqrt.f64 (+.f64 x 1))
Compiler

Compiled 692 to 512 computations (26% saved)

simplify607.0ms (9.3%)

Algorithm
egg-herbie
Rules
387×associate-/r/_binary64_3434
333×cancel-sign-sub-inv_binary64_3454
323×associate-/r*_binary64_3432
293×unswap-sqr_binary64_3456
197×*-commutative_binary64_3419
196×distribute-rgt-out_binary64_3441
153×sub-neg_binary64_3481
138×distribute-rgt-out--_binary64_3442
112×div-sub_binary64_3493
109×associate-*l*_binary64_3429
96×sqr-pow_binary64_3460
95×associate-*r/_binary64_3430
94×associate-/l*_binary64_3433
86×distribute-rgt-neg-in_binary64_3446
85×log-prod_binary64_3574 associate-*l/_binary64_3431
81×associate-*r*_binary64_3428
74×cube-prod_binary64_3516 distribute-lft-neg-in_binary64_3445
67×log-div_binary64_3575
65×associate-/l/_binary64_3435
59×cube-div_binary64_3517 distribute-rgt-in_binary64_3438
58×exp-prod_binary64_3540
56×/-rgt-identity_binary64_3479
53×pow-sqr_binary64_3461
48×unsub-neg_binary64_3482
45×*-rgt-identity_binary64_3478 swap-sqr_binary64_3455
44×difference-of-squares_binary64_3457
43×+-commutative_binary64_3418
42×distribute-lft-in_binary64_3437
40×associate-+l+_binary64_3421
38×*-lft-identity_binary64_3477
36×distribute-neg-frac_binary64_3452
35×neg-mul-1_binary64_3484
34×associate-+l-_binary64_3423 associate-+r+_binary64_3420
32×times-frac_binary64_3494
31×associate-+r-_binary64_3422
29×neg-sub0_binary64_3483 distribute-rgt1-in_binary64_3444
24×associate--l+_binary64_3425
23×pow-plus_binary64_3551
20×distribute-neg-in_binary64_3449
17×log-pow_binary64_3577 prod-exp_binary64_3537 sub0-neg_binary64_3475 +-rgt-identity_binary64_3473 distribute-neg-out_binary64_3450 distribute-lft-neg-out_binary64_3447
16×div-exp_binary64_3539
15×unpow3_binary64_3554 cube-mult_binary64_3518
11×associate--r+_binary64_3424
exp-lft-sqr_binary64_3543 distribute-frac-neg_binary64_3451 distribute-lft1-in_binary64_3443
rem-sqrt-square_binary64_3501 cancel-sign-sub_binary64_3453 distribute-rgt-neg-out_binary64_3448
log-rec_binary64_3576 pow-base-1_binary64_3548 difference-of-sqr-1_binary64_3458
cube-unmult_binary64_3525
rec-exp_binary64_3538 distribute-lft-out--_binary64_3440
exp-diff_binary64_3536 rem-square-sqrt_binary64_3500 *-inverses_binary64_3468 difference-of-sqr--1_binary64_3459 distribute-lft-out_binary64_3439 count-2_binary64_3436 associate--l-_binary64_3426
unpow2_binary64_3553 unpow1_binary64_3546 exp-sum_binary64_3534 mul0-lft_binary64_3470 div0_binary64_3469 +-inverses_binary64_3467 associate--r-_binary64_3427
exp-sqrt_binary64_3541 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-log-exp_binary64_3529 sqr-abs_binary64_3503 mul0-rgt_binary64_3471 rgt-mult-inverse_binary64_3465 remove-double-div_binary64_3464
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 unpow1/2_binary64_3552 exp-to-pow_binary64_3550 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-cbrt_binary64_3542 exp-neg_binary64_3535 e-exp-1_binary64_3533 exp-0_binary64_3530 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-neg_binary64_3502 mul-1-neg_binary64_3480 remove-double-neg_binary64_3476 --rgt-identity_binary64_3474 +-lft-identity_binary64_3472 lft-mult-inverse_binary64_3466
Counts
179 → 215
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01893436
14123190
214203130
328073128

prune275.0ms (4.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2150215
Fresh011
Picked011
Done022
Total2154219
Error
0b
Counts
219 → 4
Compiler

Compiled 4515 to 2861 computations (36.6% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8))
0.0b
(*.f64 5/128 (pow.f64 x 4))
15.3b
(-.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8)) (*.f64 5/128 (pow.f64 x 4)))

rewrite152.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
17×add-sqr-sqrt_binary64_3510
13×add-exp-log_binary64_3526 cancel-sign-sub-inv_binary64_3454
11×add-cube-cbrt_binary64_3523 *-un-lft-identity_binary64_3488
10×add-cbrt-cube_binary64_3524 associate-*r*_binary64_3428
pow1_binary64_3549 distribute-rgt-in_binary64_3438 associate--l+_binary64_3425 distribute-lft-in_binary64_3437
prod-exp_binary64_3537
add-log-exp_binary64_3527 sub-neg_binary64_3481
cbrt-unprod_binary64_3521 unpow-prod-down_binary64_3567 unswap-sqr_binary64_3456 associate-*l*_binary64_3429
pow-prod-down_binary64_3559
flip3--_binary64_3492 flip--_binary64_3463 sqr-pow_binary64_3460 *-commutative_binary64_3419 associate-*r/_binary64_3430
diff-log_binary64_3580 pow-to-exp_binary64_3557 pow-exp_binary64_3556
Counts
3 → 74
Calls

3 calls:

12.0ms
(*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8))
11.0ms
(-.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8)) (*.f64 5/128 (pow.f64 x 4)))
5.0ms
(*.f64 5/128 (pow.f64 x 4))
Compiler

Compiled 2062 to 1455 computations (29.4% saved)

series239.0ms (3.7%)

Error
0b
Counts
3 → 14
Calls

3 calls:

93.0ms
(*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8))
79.0ms
(-.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x 1/16) 1/8)) (*.f64 5/128 (pow.f64 x 4)))
53.0ms
(*.f64 5/128 (pow.f64 x 4))
Compiler

Compiled 627 to 514 computations (18% saved)

simplify296.0ms (4.5%)

Algorithm
egg-herbie
Rules
368×times-frac_binary64_3494
350×cancel-sign-sub-inv_binary64_3454
341×unsub-neg_binary64_3482
306×*-commutative_binary64_3419
236×distribute-rgt-in_binary64_3438
233×distribute-lft-in_binary64_3437
232×associate-*l*_binary64_3429
193×associate-*r*_binary64_3428
166×exp-prod_binary64_3540
151×sqr-pow_binary64_3460
126×unswap-sqr_binary64_3456
101×neg-sub0_binary64_3483
92×neg-mul-1_binary64_3484
90×sub-neg_binary64_3481 distribute-rgt-neg-in_binary64_3446
76×distribute-lft-neg-in_binary64_3445
75×pow-sqr_binary64_3461
70×exp-sum_binary64_3534 difference-of-squares_binary64_3457
65×log-prod_binary64_3574
63×associate-*l/_binary64_3431
61×associate-*r/_binary64_3430
57×cube-prod_binary64_3516
54×*-lft-identity_binary64_3477
51×*-rgt-identity_binary64_3478
44×swap-sqr_binary64_3455
42×distribute-lft-neg-out_binary64_3447
41×distribute-rgt-neg-out_binary64_3448
39×exp-sqrt_binary64_3541
37×exp-diff_binary64_3536
33×pow-plus_binary64_3551
29×+-commutative_binary64_3418
28×cube-div_binary64_3517
27×distribute-lft-out_binary64_3439
26×mul0-rgt_binary64_3471 mul0-lft_binary64_3470
24×log-pow_binary64_3577 distribute-rgt-out_binary64_3441
22×associate-+l+_binary64_3421
21×log-div_binary64_3575
20×unpow3_binary64_3554
19×associate-+r+_binary64_3420
15×associate-+l-_binary64_3423
12×exp-neg_binary64_3535 associate-+r-_binary64_3422
11×sub0-neg_binary64_3475
10×cube-unmult_binary64_3525
cube-mult_binary64_3518
+-rgt-identity_binary64_3473
associate-/l*_binary64_3433
pow-base-1_binary64_3548 rem-sqrt-square_binary64_3501 div-sub_binary64_3493 distribute-neg-out_binary64_3450 associate-/l/_binary64_3435 associate--l+_binary64_3425
distribute-rgt-out--_binary64_3442
sqr-neg_binary64_3502 /-rgt-identity_binary64_3479 count-2_binary64_3436 associate--r+_binary64_3424
unpow2_binary64_3553 unpow1_binary64_3546 exp-lft-sqr_binary64_3543 div-exp_binary64_3539 prod-exp_binary64_3537 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-log-exp_binary64_3529 rem-3cbrt-lft_binary64_3513 rem-square-sqrt_binary64_3500 mul-1-neg_binary64_3480 --rgt-identity_binary64_3474 *-inverses_binary64_3468 distribute-neg-frac_binary64_3452 distribute-neg-in_binary64_3449 distribute-lft-out--_binary64_3440 associate-/r*_binary64_3432
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 unpow1/2_binary64_3552 exp-to-pow_binary64_3550 unpow0_binary64_3547 unpow-1_binary64_3545 exp-lft-cube_binary64_3544 exp-cbrt_binary64_3542 rec-exp_binary64_3538 e-exp-1_binary64_3533 exp-0_binary64_3530 rem-exp-log_binary64_3528 cube-neg_binary64_3515 rem-3cbrt-rft_binary64_3514 rem-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 remove-double-neg_binary64_3476 +-lft-identity_binary64_3472 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-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 associate-/r/_binary64_3434 associate--r-_binary64_3427 associate--l-_binary64_3426
Counts
88 → 166
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531457
13801391
212481385
331451385

prune269.0ms (4.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1660166
Fresh000
Picked011
Done033
Total1664170
Error
0b
Counts
170 → 4
Compiler

Compiled 4523 to 3251 computations (28.1% saved)

regimes203.0ms (3.1%)

Accuracy

Total 0.2b remaining (99.9%)

Threshold costs 0.2b (99.9%)

Compiler

Compiled 1801 to 1481 computations (17.8% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3418
1-exp_binary64_3532 *-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 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
0815
11315
Proof
(* f64 h0 (/ f64 1 (+ f64 1 (sqrt f64 (+ f64 h0 1)))))

end0.0ms (0%)

sample1.2s (19.1%)

Algorithm
intervals
Results
227.0ms8000×body128valid
Compiler

Compiled 832 to 684 computations (17.8% saved)

Profiling

Loading profile data...