Details

Time bar (total: 1.5s)

analyze262.0ms (17.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 30 to 24 computations (20% saved)

sample39.0ms (2.6%)

Algorithm
intervals
Results
13.0ms248×body128valid
9.0ms291×pre128true
2.0ms35×body128nan
1.0msbody256valid
Compiler

Compiled 47 to 41 computations (12.8% saved)

simplify235.0ms (15.3%)

Algorithm
egg-herbie
Rules
1249×associate-/l*_binary64_3433
613×associate-/r*_binary64_3432
561×div-sub_binary64_3493
553×distribute-rgt-in_binary64_3438
457×cancel-sign-sub-inv_binary64_3454
412×distribute-lft-in_binary64_3437
403×unsub-neg_binary64_3482
316×neg-mul-1_binary64_3484
272×distribute-rgt-neg-in_binary64_3446
264×distribute-rgt-neg-out_binary64_3448
253×sub-neg_binary64_3481
238×times-frac_binary64_3494
207×distribute-frac-neg_binary64_3451
205×distribute-lft-neg-in_binary64_3445
197×associate-*l/_binary64_3431
184×neg-sub0_binary64_3483
183×remove-double-neg_binary64_3476
182×distribute-lft-neg-out_binary64_3447
179×associate-/l/_binary64_3435
177×sqr-pow_binary64_3460
160×unswap-sqr_binary64_3456
147×distribute-neg-frac_binary64_3452
135×associate-/r/_binary64_3434
115×pow-base-1_binary64_3548
112×*-commutative_binary64_3419
104×associate-*r/_binary64_3430
97×remove-double-div_binary64_3464
92×+-commutative_binary64_3418
84×cube-prod_binary64_3516
78×mul0-rgt_binary64_3471
73×associate-+l+_binary64_3421
69×associate-*r*_binary64_3428
67×mul0-lft_binary64_3470 pow-sqr_binary64_3461
46×cancel-sign-sub_binary64_3453
45×+-lft-identity_binary64_3472
43×distribute-neg-in_binary64_3449
42×div0_binary64_3469 associate-*l*_binary64_3429
36×pow-plus_binary64_3551
34×associate--r+_binary64_3424
33×unpow3_binary64_3554
27×cube-mult_binary64_3518 associate--l-_binary64_3426
23×sub0-neg_binary64_3475
22×/-rgt-identity_binary64_3479
20×associate-+l-_binary64_3423
17×*-rgt-identity_binary64_3478
16×distribute-rgt1-in_binary64_3444 associate--r-_binary64_3427
15×+-rgt-identity_binary64_3473 associate-+r+_binary64_3420
14×--rgt-identity_binary64_3474 associate-+r-_binary64_3422
10×cube-unmult_binary64_3525
distribute-lft1-in_binary64_3443
mul-1-neg_binary64_3480 distribute-lft-out_binary64_3439
count-2_binary64_3436
associate--l+_binary64_3425
cube-neg_binary64_3515 *-lft-identity_binary64_3477 *-inverses_binary64_3468 distribute-neg-out_binary64_3450
1-exp_binary64_3532 sqr-neg_binary64_3502 swap-sqr_binary64_3455 distribute-rgt-out_binary64_3441 distribute-lft-out--_binary64_3440
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 unpow2_binary64_3553 unpow1/2_binary64_3552 exp-to-pow_binary64_3550 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-div_binary64_3517 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_3467 lft-mult-inverse_binary64_3466 rgt-mult-inverse_binary64_3465 difference-of-sqr--1_binary64_3459 difference-of-sqr-1_binary64_3458 difference-of-squares_binary64_3457 distribute-rgt-out--_binary64_3442
Counts
1 → 3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
12924
26124
312724
417924
531324
647024
782024
8130224
9150724
10155024
11233524
12255124
13217824
14231124
15469824

prune8.0ms (0.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New123
Fresh101
Picked000
Done000
Total224
Error
29.7b
Counts
4 → 2
Compiler

Compiled 81 to 57 computations (29.6% saved)

localize10.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.3b
(*.f64 (*.f64 3 a) c)
0.3b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
29.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)

rewrite140.0ms (9.2%)

Algorithm
rewrite-expression-head
Error
27.5b
Rules
20×add-sqr-sqrt_binary64_3510
14×add-exp-log_binary64_3526 add-cbrt-cube_binary64_3524 *-un-lft-identity_binary64_3488
pow1_binary64_3549
add-log-exp_binary64_3527 add-cube-cbrt_binary64_3523
difference-of-squares_binary64_3457 times-frac_binary64_3494 associate-/l*_binary64_3433
cancel-sign-sub-inv_binary64_3454 prod-exp_binary64_3537 cbrt-unprod_binary64_3521
flip3--_binary64_3492 flip--_binary64_3463 sqrt-prod_binary64_3504 distribute-lft-out--_binary64_3440 pow-prod-down_binary64_3559 associate-*r*_binary64_3428
diff-log_binary64_3580 sub-neg_binary64_3481 div-exp_binary64_3539 cbrt-undiv_binary64_3522 associate-/l/_binary64_3435
frac-2neg_binary64_3499 div-sub_binary64_3493 clear-num_binary64_3487 div-inv_binary64_3485 associate-/r*_binary64_3432 associate-*l*_binary64_3429 *-commutative_binary64_3419
Counts
4 → 77
Calls

4 calls:

12.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
8.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
5.0ms
(*.f64 (*.f64 3 a) c)
5.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
Compiler

Compiled 2072 to 1208 computations (41.7% saved)

series630.0ms (41.1%)

Error
0.9b
Counts
4 → 60
Calls

4 calls:

200.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b) (*.f64 3 a))
160.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) b)
149.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
55.0ms
(*.f64 (*.f64 3 a) c)
Compiler

Compiled 2840 to 2199 computations (22.6% saved)

simplify210.0ms (13.7%)

Algorithm
egg-herbie
Rules
250×distribute-rgt-in_binary64_3438
243×distribute-rgt-neg-in_binary64_3446
221×distribute-lft-neg-in_binary64_3445
210×distribute-lft-in_binary64_3437
196×cancel-sign-sub-inv_binary64_3454
194×associate-*l*_binary64_3429
192×associate-*r*_binary64_3428
168×associate-/r/_binary64_3434
166×associate-/l/_binary64_3435
128×unswap-sqr_binary64_3456
118×*-commutative_binary64_3419
91×associate-/l*_binary64_3433
87×times-frac_binary64_3494
83×neg-mul-1_binary64_3484 sub-neg_binary64_3481
82×neg-sub0_binary64_3483 associate-/r*_binary64_3432
80×distribute-neg-frac_binary64_3452
79×sqr-pow_binary64_3460
63×distribute-neg-in_binary64_3449
59×exp-prod_binary64_3540 div-sub_binary64_3493
45×+-commutative_binary64_3418
35×pow-sqr_binary64_3461
34×associate-*l/_binary64_3431
33×distribute-rgt-out_binary64_3441
32×distribute-lft-neg-out_binary64_3447
31×cube-prod_binary64_3516 associate-*r/_binary64_3430
25×unsub-neg_binary64_3482
24×associate-+r+_binary64_3420
23×log-prod_binary64_3574
22×associate-+l+_binary64_3421
19×distribute-lft-out_binary64_3439
17×pow-plus_binary64_3551 swap-sqr_binary64_3455
16×*-rgt-identity_binary64_3478
14×*-lft-identity_binary64_3477 difference-of-squares_binary64_3457 distribute-rgt-neg-out_binary64_3448
13×associate--r+_binary64_3424
12×unpow3_binary64_3554
11×cube-mult_binary64_3518
/-rgt-identity_binary64_3479
exp-sum_binary64_3534 cube-unmult_binary64_3525 associate-+r-_binary64_3422
log-div_binary64_3575 exp-diff_binary64_3536 +-rgt-identity_binary64_3473
unpow2_binary64_3553 unpow1_binary64_3546 exp-lft-cube_binary64_3544 exp-cbrt_binary64_3542 cube-div_binary64_3517 mul-1-neg_binary64_3480 associate-+l-_binary64_3423
div-exp_binary64_3539 rem-sqrt-square_binary64_3501 rem-square-sqrt_binary64_3500 *-inverses_binary64_3468 distribute-neg-out_binary64_3450 distribute-lft-out--_binary64_3440
pow-base-1_binary64_3548 1-exp_binary64_3532 exp-1-e_binary64_3531 rem-3cbrt-lft_binary64_3513 remove-double-neg_binary64_3476 count-2_binary64_3436 associate--r-_binary64_3427 associate--l-_binary64_3426 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-pow_binary64_3577 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-sqr_binary64_3543 exp-sqrt_binary64_3541 rec-exp_binary64_3538 prod-exp_binary64_3537 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-cbrt-cube_binary64_3512 rem-cube-cbrt_binary64_3511 sqr-abs_binary64_3503 sqr-neg_binary64_3502 sub0-neg_binary64_3475 --rgt-identity_binary64_3474 +-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-rgt1-in_binary64_3444 distribute-lft1-in_binary64_3443 distribute-rgt-out--_binary64_3442
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02183228
15833017
222462992

end0.0ms (0%)

Profiling

Loading profile data...