Details

Time bar (total: 2.6s)

analyze473.0ms (17.9%)

Algorithm
search
egg-herbie
Rules
*-commutative_binary64_4442
+-commutative_binary64_4441
distribute-lft-out_binary64_4462
distribute-rgt-out_binary64_4464
swap-d2-d3
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_4774 erf-erfc_binary64_4773 erf-odd_binary64_4772 if-if-and-not_binary64_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 not-gte_binary64_4763 not-lte_binary64_4762 not-gt_binary64_4761 not-lt_binary64_4760 gte-same_binary64_4759 lte-same_binary64_4758 gt-same_binary64_4757 lt-same_binary64_4756 sinh---cosh_binary64_4703 sinh-+-cosh_binary64_4702 sinh-cosh_binary64_4701 tanh-def-c_binary64_4700 tanh-def-b_binary64_4699 tanh-def-a_binary64_4698 cosh-def_binary64_4697 sinh-def_binary64_4696 tan-neg_binary64_4643 cos-neg_binary64_4642 sin-neg_binary64_4641 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 hang-m-tan_binary64_4637 hang-p-tan_binary64_4636 hang-m0-tan_binary64_4635 hang-p0-tan_binary64_4634 hang-0m-tan_binary64_4633 hang-0p-tan_binary64_4632 tan-+PI/2_binary64_4631 tan-+PI_binary64_4630 tan-PI_binary64_4629 tan-PI/3_binary64_4628 tan-PI/4_binary64_4627 tan-PI/6_binary64_4626 cos-+PI/2_binary64_4625 cos-+PI_binary64_4624 cos-PI_binary64_4623 cos-PI/2_binary64_4622 cos-PI/3_binary64_4621 cos-PI/4_binary64_4620 cos-PI/6_binary64_4619 sin-+PI/2_binary64_4618 sin-+PI_binary64_4617 sin-PI_binary64_4616 sin-PI/2_binary64_4615 sin-PI/3_binary64_4614 sin-PI/4_binary64_4613 sin-PI/6_binary64_4612 sub-1-sin_binary64_4611 sub-1-cos_binary64_4610 -1-add-sin_binary64_4609 -1-add-cos_binary64_4608 1-sub-sin_binary64_4607 1-sub-cos_binary64_4606 cos-sin-sum_binary64_4605 log-E_binary64_4601 log-pow_binary64_4600 log-rec_binary64_4599 log-div_binary64_4598 log-prod_binary64_4597 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow3_binary64_4577 unpow2_binary64_4576 unpow1/2_binary64_4575 pow-plus_binary64_4574 exp-to-pow_binary64_4573 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow1_binary64_4569 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-sqrt_binary64_4564 exp-prod_binary64_4563 div-exp_binary64_4562 rec-exp_binary64_4561 prod-exp_binary64_4560 exp-diff_binary64_4559 exp-neg_binary64_4558 exp-sum_binary64_4557 e-exp-1_binary64_4556 1-exp_binary64_4555 exp-1-e_binary64_4554 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-unmult_binary64_4548 cube-mult_binary64_4541 cube-div_binary64_4540 cube-prod_binary64_4539 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 sqr-neg_binary64_4525 rem-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 times-frac_binary64_4517 div-sub_binary64_4516 neg-mul-1_binary64_4507 neg-sub0_binary64_4506 unsub-neg_binary64_4505 sub-neg_binary64_4504 mul-1-neg_binary64_4503 /-rgt-identity_binary64_4502 *-rgt-identity_binary64_4501 *-lft-identity_binary64_4500 remove-double-neg_binary64_4499 sub0-neg_binary64_4498 --rgt-identity_binary64_4497 +-rgt-identity_binary64_4496 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 div0_binary64_4492 *-inverses_binary64_4491 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 pow-sqr_binary64_4484 sqr-pow_binary64_4483 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 difference-of-squares_binary64_4480 unswap-sqr_binary64_4479 swap-sqr_binary64_4478 cancel-sign-sub-inv_binary64_4477 cancel-sign-sub_binary64_4476 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-neg-in_binary64_4472 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470 distribute-rgt-neg-in_binary64_4469 distribute-lft-neg-in_binary64_4468 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 distribute-rgt-out--_binary64_4465 distribute-lft-out--_binary64_4463 distribute-rgt-in_binary64_4461 distribute-lft-in_binary64_4460 count-2_binary64_4459 associate-/l/_binary64_4458 associate-/r/_binary64_4457 associate-/l*_binary64_4456 associate-/r*_binary64_4455 associate-*l/_binary64_4454 associate-*r/_binary64_4453 associate-*l*_binary64_4452 associate-*r*_binary64_4451 associate--r-_binary64_4450 associate--l-_binary64_4449 associate--l+_binary64_4448 associate--r+_binary64_4447 associate-+l-_binary64_4446 associate-+r-_binary64_4445 associate-+l+_binary64_4444 associate-+r+_binary64_4443
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01428
12428
22828
32828
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
37.4%62.4%0.1%8
40.6%56.2%3.3%9
46.8%46%7.2%10
58.5%32.8%8.7%11
60.8%27.9%11.3%12
63.8%22.4%13.8%13
69.1%16.5%14.4%14
Symmetry

(sort d2 d3)

Compiler

Compiled 8 to 7 computations (12.5% saved)

sample23.0ms (0.9%)

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

Compiled 15 to 16 computations (-6.7% saved)

simplify11.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_4442
+-commutative_binary64_4441
distribute-rgt-out_binary64_4464 distribute-lft-out_binary64_4462
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_4774 erf-erfc_binary64_4773 erf-odd_binary64_4772 if-if-and-not_binary64_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 not-gte_binary64_4763 not-lte_binary64_4762 not-gt_binary64_4761 not-lt_binary64_4760 gte-same_binary64_4759 lte-same_binary64_4758 gt-same_binary64_4757 lt-same_binary64_4756 sinh---cosh_binary64_4703 sinh-+-cosh_binary64_4702 sinh-cosh_binary64_4701 tanh-def-c_binary64_4700 tanh-def-b_binary64_4699 tanh-def-a_binary64_4698 cosh-def_binary64_4697 sinh-def_binary64_4696 tan-neg_binary64_4643 cos-neg_binary64_4642 sin-neg_binary64_4641 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 hang-m-tan_binary64_4637 hang-p-tan_binary64_4636 hang-m0-tan_binary64_4635 hang-p0-tan_binary64_4634 hang-0m-tan_binary64_4633 hang-0p-tan_binary64_4632 tan-+PI/2_binary64_4631 tan-+PI_binary64_4630 tan-PI_binary64_4629 tan-PI/3_binary64_4628 tan-PI/4_binary64_4627 tan-PI/6_binary64_4626 cos-+PI/2_binary64_4625 cos-+PI_binary64_4624 cos-PI_binary64_4623 cos-PI/2_binary64_4622 cos-PI/3_binary64_4621 cos-PI/4_binary64_4620 cos-PI/6_binary64_4619 sin-+PI/2_binary64_4618 sin-+PI_binary64_4617 sin-PI_binary64_4616 sin-PI/2_binary64_4615 sin-PI/3_binary64_4614 sin-PI/4_binary64_4613 sin-PI/6_binary64_4612 sub-1-sin_binary64_4611 sub-1-cos_binary64_4610 -1-add-sin_binary64_4609 -1-add-cos_binary64_4608 1-sub-sin_binary64_4607 1-sub-cos_binary64_4606 cos-sin-sum_binary64_4605 log-E_binary64_4601 log-pow_binary64_4600 log-rec_binary64_4599 log-div_binary64_4598 log-prod_binary64_4597 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow3_binary64_4577 unpow2_binary64_4576 unpow1/2_binary64_4575 pow-plus_binary64_4574 exp-to-pow_binary64_4573 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow1_binary64_4569 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-sqrt_binary64_4564 exp-prod_binary64_4563 div-exp_binary64_4562 rec-exp_binary64_4561 prod-exp_binary64_4560 exp-diff_binary64_4559 exp-neg_binary64_4558 exp-sum_binary64_4557 e-exp-1_binary64_4556 1-exp_binary64_4555 exp-1-e_binary64_4554 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-unmult_binary64_4548 cube-mult_binary64_4541 cube-div_binary64_4540 cube-prod_binary64_4539 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 sqr-neg_binary64_4525 rem-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 times-frac_binary64_4517 div-sub_binary64_4516 neg-mul-1_binary64_4507 neg-sub0_binary64_4506 unsub-neg_binary64_4505 sub-neg_binary64_4504 mul-1-neg_binary64_4503 /-rgt-identity_binary64_4502 *-rgt-identity_binary64_4501 *-lft-identity_binary64_4500 remove-double-neg_binary64_4499 sub0-neg_binary64_4498 --rgt-identity_binary64_4497 +-rgt-identity_binary64_4496 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 div0_binary64_4492 *-inverses_binary64_4491 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 pow-sqr_binary64_4484 sqr-pow_binary64_4483 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 difference-of-squares_binary64_4480 unswap-sqr_binary64_4479 swap-sqr_binary64_4478 cancel-sign-sub-inv_binary64_4477 cancel-sign-sub_binary64_4476 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-neg-in_binary64_4472 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470 distribute-rgt-neg-in_binary64_4469 distribute-lft-neg-in_binary64_4468 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 distribute-rgt-out--_binary64_4465 distribute-lft-out--_binary64_4463 distribute-rgt-in_binary64_4461 distribute-lft-in_binary64_4460 count-2_binary64_4459 associate-/l/_binary64_4458 associate-/r/_binary64_4457 associate-/l*_binary64_4456 associate-/r*_binary64_4455 associate-*l/_binary64_4454 associate-*r/_binary64_4453 associate-*l*_binary64_4452 associate-*r*_binary64_4451 associate--r-_binary64_4450 associate--l-_binary64_4449 associate--l+_binary64_4448 associate--r+_binary64_4447 associate-+l-_binary64_4446 associate-+r-_binary64_4445 associate-+l+_binary64_4444 associate-+r+_binary64_4443
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077
1127
2147
3147

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 2
Compiler

Compiled 17 to 16 computations (5.9% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 d1 (+.f64 d2 d3))

rewrite22.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_4533 *-un-lft-identity_binary64_4511
associate-*r*_binary64_4451
pow1_binary64_4572 add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547 add-cube-cbrt_binary64_4546 associate-*l*_binary64_4452
associate-*r/_binary64_4453
pow-prod-down_binary64_4582 prod-exp_binary64_4560 add-log-exp_binary64_4550 cbrt-unprod_binary64_4544 unswap-sqr_binary64_4479 distribute-rgt-in_binary64_4461 distribute-lft-in_binary64_4460 flip3-+_binary64_4514 flip-+_binary64_4485 distribute-lft-out_binary64_4462 *-commutative_binary64_4442
Counts
1 → 23
Calls

1 calls:

6.0ms
(*.f64 d1 (+.f64 d2 d3))
Compiler

Compiled 249 to 80 computations (67.9% saved)

series127.0ms (4.8%)

Error
0.0b
Counts
1 → 15
Calls

1 calls:

120.0ms
(*.f64 d1 (+.f64 d2 d3))
Compiler

Compiled 207 to 134 computations (35.3% saved)

simplify106.0ms (4%)

Algorithm
egg-herbie
Rules
936×distribute-rgt-in_binary64_4461
925×distribute-lft-in_binary64_4460
294×unswap-sqr_binary64_4479
280×associate-*l*_binary64_4452
268×distribute-rgt-out_binary64_4464
208×associate-*r*_binary64_4451
164×sqr-pow_binary64_4483 *-commutative_binary64_4442
149×associate-/l/_binary64_4458
142×associate-+l+_binary64_4444
132×associate-+r+_binary64_4443
117×sub-neg_binary64_4504
85×cancel-sign-sub-inv_binary64_4477
80×*-rgt-identity_binary64_4501
78×*-lft-identity_binary64_4500
73×distribute-rgt-neg-in_binary64_4469
67×rem-sqrt-square_binary64_4524
66×pow-sqr_binary64_4484
64×distribute-lft-neg-out_binary64_4470
61×unsub-neg_binary64_4505
60×distribute-lft-out_binary64_4462
57×distribute-rgt-out--_binary64_4465
54×distribute-rgt-neg-out_binary64_4471
53×log-div_binary64_4598
44×exp-prod_binary64_4563 neg-mul-1_binary64_4507
42×neg-sub0_binary64_4506 distribute-lft-neg-in_binary64_4468
40×associate--r+_binary64_4447
36×cube-prod_binary64_4539
35×associate-/l*_binary64_4456
32×distribute-neg-in_binary64_4472
30×cube-div_binary64_4540
29×log-prod_binary64_4597 associate-*r/_binary64_4453
24×associate-/r/_binary64_4457
23×associate-+r-_binary64_4445
20×associate-+l-_binary64_4446
18×unpow3_binary64_4577
16×times-frac_binary64_4517
15×cube-unmult_binary64_4548 sub0-neg_binary64_4498 distribute-neg-out_binary64_4473 associate-/r*_binary64_4455 +-commutative_binary64_4441
14×+-rgt-identity_binary64_4496
11×swap-sqr_binary64_4478
10×cube-mult_binary64_4541
exp-sum_binary64_4557 cancel-sign-sub_binary64_4476 associate--l+_binary64_4448
pow-plus_binary64_4574 distribute-rgt1-in_binary64_4467
unpow1/2_binary64_4575 distribute-neg-frac_binary64_4475
log-rec_binary64_4599 remove-double-neg_binary64_4499 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 distribute-lft-out--_binary64_4463
unpow2_binary64_4576 exp-diff_binary64_4559 div-sub_binary64_4516 difference-of-squares_binary64_4480
exp-sqrt_binary64_4564 count-2_binary64_4459 associate--r-_binary64_4450
unpow1_binary64_4569 exp-lft-sqr_binary64_4566 --rgt-identity_binary64_4497 +-inverses_binary64_4490
prod-exp_binary64_4560 1-exp_binary64_4555 exp-1-e_binary64_4554 /-rgt-identity_binary64_4502 +-lft-identity_binary64_4495 distribute-lft1-in_binary64_4466 associate-*l/_binary64_4454
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_4774 erf-erfc_binary64_4773 erf-odd_binary64_4772 if-if-and-not_binary64_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 not-gte_binary64_4763 not-lte_binary64_4762 not-gt_binary64_4761 not-lt_binary64_4760 gte-same_binary64_4759 lte-same_binary64_4758 gt-same_binary64_4757 lt-same_binary64_4756 sinh---cosh_binary64_4703 sinh-+-cosh_binary64_4702 sinh-cosh_binary64_4701 tanh-def-c_binary64_4700 tanh-def-b_binary64_4699 tanh-def-a_binary64_4698 cosh-def_binary64_4697 sinh-def_binary64_4696 tan-neg_binary64_4643 cos-neg_binary64_4642 sin-neg_binary64_4641 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 hang-m-tan_binary64_4637 hang-p-tan_binary64_4636 hang-m0-tan_binary64_4635 hang-p0-tan_binary64_4634 hang-0m-tan_binary64_4633 hang-0p-tan_binary64_4632 tan-+PI/2_binary64_4631 tan-+PI_binary64_4630 tan-PI_binary64_4629 tan-PI/3_binary64_4628 tan-PI/4_binary64_4627 tan-PI/6_binary64_4626 cos-+PI/2_binary64_4625 cos-+PI_binary64_4624 cos-PI_binary64_4623 cos-PI/2_binary64_4622 cos-PI/3_binary64_4621 cos-PI/4_binary64_4620 cos-PI/6_binary64_4619 sin-+PI/2_binary64_4618 sin-+PI_binary64_4617 sin-PI_binary64_4616 sin-PI/2_binary64_4615 sin-PI/3_binary64_4614 sin-PI/4_binary64_4613 sin-PI/6_binary64_4612 sub-1-sin_binary64_4611 sub-1-cos_binary64_4610 -1-add-sin_binary64_4609 -1-add-cos_binary64_4608 1-sub-sin_binary64_4607 1-sub-cos_binary64_4606 cos-sin-sum_binary64_4605 log-E_binary64_4601 log-pow_binary64_4600 pow-base-0_binary64_4595 unpow1/3_binary64_4578 exp-to-pow_binary64_4573 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-cbrt_binary64_4565 div-exp_binary64_4562 rec-exp_binary64_4561 exp-neg_binary64_4558 e-exp-1_binary64_4556 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 sqr-neg_binary64_4525 rem-square-sqrt_binary64_4523 mul-1-neg_binary64_4503 div0_binary64_4492 *-inverses_binary64_4491 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 distribute-frac-neg_binary64_4474 associate--l-_binary64_4449
Counts
38 → 23
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049335
1129305
2397305
3952305
42757305
52956305
63732305
74855305
84990305
94890305

prune15.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New22123
Fresh011
Picked011
Done000
Total22325
Error
0b
Counts
25 → 3
Compiler

Compiled 214 to 60 computations (72% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))

rewrite15.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-log-exp_binary64_4550
sum-log_binary64_4602 pow1_binary64_4572 add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547 add-cube-cbrt_binary64_4546 add-sqr-sqrt_binary64_4533 flip3-+_binary64_4514 *-un-lft-identity_binary64_4511 flip-+_binary64_4485 distribute-lft-out_binary64_4462 +-commutative_binary64_4441
Counts
1 → 12
Calls

1 calls:

4.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 183 to 43 computations (76.5% saved)

series148.0ms (5.6%)

Error
0b
Counts
1 → 15
Calls

1 calls:

141.0ms
(+.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Compiler

Compiled 207 to 134 computations (35.3% saved)

simplify77.0ms (2.9%)

Algorithm
egg-herbie
Rules
781×unsub-neg_binary64_4505
551×distribute-rgt-out_binary64_4464
343×distribute-rgt-in_binary64_4461
310×distribute-lft-in_binary64_4460
288×unswap-sqr_binary64_4479
285×associate-*l*_binary64_4452
242×*-commutative_binary64_4442 +-commutative_binary64_4441
228×sub-neg_binary64_4504
223×cancel-sign-sub-inv_binary64_4477
213×associate-*r*_binary64_4451
209×neg-mul-1_binary64_4507
189×neg-sub0_binary64_4506
179×distribute-lft-out_binary64_4462
170×distribute-rgt-neg-in_binary64_4469
152×distribute-rgt-out--_binary64_4465
133×distribute-lft-neg-in_binary64_4468
115×distribute-lft-neg-out_binary64_4470
104×distribute-lft-out--_binary64_4463
99×associate-+l+_binary64_4444
93×associate-+r+_binary64_4443
92×sqr-pow_binary64_4483
82×distribute-rgt-neg-out_binary64_4471
77×distribute-neg-in_binary64_4472
74×associate-+l-_binary64_4446
55×cancel-sign-sub_binary64_4476
51×associate-+r-_binary64_4445
49×associate--r+_binary64_4447
40×sub0-neg_binary64_4498
38×pow-sqr_binary64_4484
36×exp-prod_binary64_4563 cube-prod_binary64_4539
34×associate-/l/_binary64_4458
29×distribute-neg-out_binary64_4473 count-2_binary64_4459
24×+-rgt-identity_binary64_4496
20×exp-sum_binary64_4557 div-sub_binary64_4516
16×remove-double-neg_binary64_4499 swap-sqr_binary64_4478 associate--l+_binary64_4448
14×exp-diff_binary64_4559
13×+-lft-identity_binary64_4495 mul0-lft_binary64_4493
12×mul0-rgt_binary64_4494
11×unpow3_binary64_4577 cube-unmult_binary64_4548
10×distribute-rgt1-in_binary64_4467
cube-neg_binary64_4538 associate--r-_binary64_4450
log-prod_binary64_4597 pow-plus_binary64_4574 difference-of-squares_binary64_4480 associate-/l*_binary64_4456 associate-*r/_binary64_4453
cube-mult_binary64_4541
*-lft-identity_binary64_4500 associate--l-_binary64_4449
unpow2_binary64_4576 exp-neg_binary64_4558 sqr-neg_binary64_4525 /-rgt-identity_binary64_4502 --rgt-identity_binary64_4497 associate-*l/_binary64_4454
prod-exp_binary64_4560 1-exp_binary64_4555
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_4774 erf-erfc_binary64_4773 erf-odd_binary64_4772 if-if-and-not_binary64_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 not-gte_binary64_4763 not-lte_binary64_4762 not-gt_binary64_4761 not-lt_binary64_4760 gte-same_binary64_4759 lte-same_binary64_4758 gt-same_binary64_4757 lt-same_binary64_4756 sinh---cosh_binary64_4703 sinh-+-cosh_binary64_4702 sinh-cosh_binary64_4701 tanh-def-c_binary64_4700 tanh-def-b_binary64_4699 tanh-def-a_binary64_4698 cosh-def_binary64_4697 sinh-def_binary64_4696 tan-neg_binary64_4643 cos-neg_binary64_4642 sin-neg_binary64_4641 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 hang-m-tan_binary64_4637 hang-p-tan_binary64_4636 hang-m0-tan_binary64_4635 hang-p0-tan_binary64_4634 hang-0m-tan_binary64_4633 hang-0p-tan_binary64_4632 tan-+PI/2_binary64_4631 tan-+PI_binary64_4630 tan-PI_binary64_4629 tan-PI/3_binary64_4628 tan-PI/4_binary64_4627 tan-PI/6_binary64_4626 cos-+PI/2_binary64_4625 cos-+PI_binary64_4624 cos-PI_binary64_4623 cos-PI/2_binary64_4622 cos-PI/3_binary64_4621 cos-PI/4_binary64_4620 cos-PI/6_binary64_4619 sin-+PI/2_binary64_4618 sin-+PI_binary64_4617 sin-PI_binary64_4616 sin-PI/2_binary64_4615 sin-PI/3_binary64_4614 sin-PI/4_binary64_4613 sin-PI/6_binary64_4612 sub-1-sin_binary64_4611 sub-1-cos_binary64_4610 -1-add-sin_binary64_4609 -1-add-cos_binary64_4608 1-sub-sin_binary64_4607 1-sub-cos_binary64_4606 cos-sin-sum_binary64_4605 log-E_binary64_4601 log-pow_binary64_4600 log-rec_binary64_4599 log-div_binary64_4598 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow1/2_binary64_4575 exp-to-pow_binary64_4573 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow1_binary64_4569 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-sqrt_binary64_4564 div-exp_binary64_4562 rec-exp_binary64_4561 e-exp-1_binary64_4556 exp-1-e_binary64_4554 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-div_binary64_4540 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 rem-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 times-frac_binary64_4517 mul-1-neg_binary64_4503 *-rgt-identity_binary64_4501 div0_binary64_4492 *-inverses_binary64_4491 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-lft1-in_binary64_4466 associate-/r/_binary64_4457 associate-/r*_binary64_4455
Counts
27 → 15
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
031257
1108239
2379236
31032233
42340233
53434233
64359233
75248233

prune9.0ms (0.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New15015
Fresh011
Picked011
Done011
Total15318
Error
0b
Counts
18 → 3
Compiler

Compiled 152 to 43 computations (71.7% saved)

localize6.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 d1 (+.f64 d3 d2))
0.3b
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))) (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))))
2.2b
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))
2.2b
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))

rewrite127.0ms (4.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
61×pow1_binary64_4572
32×sqrt-pow1_binary64_4529
23×pow-prod-down_binary64_4582
20×associate-*r/_binary64_4453
16×sqrt-div_binary64_4528
14×add-sqr-sqrt_binary64_4533
12×pow1/2_binary64_4591 *-un-lft-identity_binary64_4511
10×add-cube-cbrt_binary64_4546 pow-prod-up_binary64_4581
flip3-+_binary64_4514 flip-+_binary64_4485
add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547 associate-*r*_binary64_4451
associate-*l*_binary64_4452
sqrt-prod_binary64_4527 pow-sqr_binary64_4484
add-log-exp_binary64_4550 frac-times_binary64_4521 swap-sqr_binary64_4478
prod-exp_binary64_4560 cbrt-unprod_binary64_4544 unswap-sqr_binary64_4479 associate-*l/_binary64_4454 *-commutative_binary64_4442
pow2_binary64_4592 pow-plus_binary64_4574 sqrt-unprod_binary64_4531 rem-square-sqrt_binary64_4523 distribute-rgt-in_binary64_4461 distribute-lft-in_binary64_4460 distribute-lft-out_binary64_4462
Counts
4 → 106
Calls

4 calls:

15.0ms
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))) (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))))
7.0ms
(*.f64 d1 (+.f64 d3 d2))
5.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))
5.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))
Compiler

Compiled 2047 to 442 computations (78.4% saved)

series502.0ms (19%)

Error
0b
Counts
4 → 52
Calls

4 calls:

130.0ms
(*.f64 d1 (+.f64 d3 d2))
129.0ms
(*.f64 (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))) (sqrt.f64 (*.f64 d1 (+.f64 d3 d2))))
112.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))
103.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d3 d2)))
Compiler

Compiled 2070 to 1204 computations (41.8% saved)

simplify111.0ms (4.2%)

Algorithm
egg-herbie
Rules
830×unswap-sqr_binary64_4479
450×times-frac_binary64_4517
334×distribute-rgt-in_binary64_4461
326×distribute-lft-in_binary64_4460
272×*-commutative_binary64_4442
256×associate-+l+_binary64_4444
143×associate-*l*_binary64_4452
132×associate-*r*_binary64_4451
107×associate-/l*_binary64_4456
106×exp-prod_binary64_4563
89×sqr-pow_binary64_4483
84×associate-*l/_binary64_4454
78×log-prod_binary64_4597
74×associate-/r*_binary64_4455
54×associate-*r/_binary64_4453
52×cube-prod_binary64_4539
49×*-lft-identity_binary64_4500 cancel-sign-sub-inv_binary64_4477
47×*-rgt-identity_binary64_4501
39×associate-/r/_binary64_4457
35×sub-neg_binary64_4504 distribute-rgt-neg-in_binary64_4469
34×rem-sqrt-square_binary64_4524
32×swap-sqr_binary64_4478 distribute-lft-neg-in_binary64_4468
28×associate-/l/_binary64_4458
20×pow-plus_binary64_4574
19×pow-sqr_binary64_4484 associate-+r+_binary64_4443
18×associate-+l-_binary64_4446 +-commutative_binary64_4441
17×distribute-rgt-out_binary64_4464
16×neg-mul-1_binary64_4507 neg-sub0_binary64_4506
13×unpow3_binary64_4577 cube-unmult_binary64_4548 associate-+r-_binary64_4445
12×distribute-lft-neg-out_binary64_4470
10×log-pow_binary64_4600
distribute-rgt-neg-out_binary64_4471
unpow1/2_binary64_4575 exp-sum_binary64_4557 rem-square-sqrt_binary64_4523 unsub-neg_binary64_4505 +-rgt-identity_binary64_4496
distribute-rgt-out--_binary64_4465 distribute-lft-out_binary64_4462
unpow2_binary64_4576 cube-mult_binary64_4541 count-2_binary64_4459 associate--r+_binary64_4447
/-rgt-identity_binary64_4502 sub0-neg_binary64_4498
unpow1_binary64_4569 associate--l+_binary64_4448
difference-of-squares_binary64_4480 distribute-neg-in_binary64_4472
1-exp_binary64_4555 exp-1-e_binary64_4554 cube-div_binary64_4540 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 distribute-neg-frac_binary64_4475
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_4774 erf-erfc_binary64_4773 erf-odd_binary64_4772 if-if-and-not_binary64_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 not-gte_binary64_4763 not-lte_binary64_4762 not-gt_binary64_4761 not-lt_binary64_4760 gte-same_binary64_4759 lte-same_binary64_4758 gt-same_binary64_4757 lt-same_binary64_4756 sinh---cosh_binary64_4703 sinh-+-cosh_binary64_4702 sinh-cosh_binary64_4701 tanh-def-c_binary64_4700 tanh-def-b_binary64_4699 tanh-def-a_binary64_4698 cosh-def_binary64_4697 sinh-def_binary64_4696 tan-neg_binary64_4643 cos-neg_binary64_4642 sin-neg_binary64_4641 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 hang-m-tan_binary64_4637 hang-p-tan_binary64_4636 hang-m0-tan_binary64_4635 hang-p0-tan_binary64_4634 hang-0m-tan_binary64_4633 hang-0p-tan_binary64_4632 tan-+PI/2_binary64_4631 tan-+PI_binary64_4630 tan-PI_binary64_4629 tan-PI/3_binary64_4628 tan-PI/4_binary64_4627 tan-PI/6_binary64_4626 cos-+PI/2_binary64_4625 cos-+PI_binary64_4624 cos-PI_binary64_4623 cos-PI/2_binary64_4622 cos-PI/3_binary64_4621 cos-PI/4_binary64_4620 cos-PI/6_binary64_4619 sin-+PI/2_binary64_4618 sin-+PI_binary64_4617 sin-PI_binary64_4616 sin-PI/2_binary64_4615 sin-PI/3_binary64_4614 sin-PI/4_binary64_4613 sin-PI/6_binary64_4612 sub-1-sin_binary64_4611 sub-1-cos_binary64_4610 -1-add-sin_binary64_4609 -1-add-cos_binary64_4608 1-sub-sin_binary64_4607 1-sub-cos_binary64_4606 cos-sin-sum_binary64_4605 log-E_binary64_4601 log-rec_binary64_4599 log-div_binary64_4598 pow-base-0_binary64_4595 unpow1/3_binary64_4578 exp-to-pow_binary64_4573 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-sqrt_binary64_4564 div-exp_binary64_4562 rec-exp_binary64_4561 prod-exp_binary64_4560 exp-diff_binary64_4559 exp-neg_binary64_4558 e-exp-1_binary64_4556 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-neg_binary64_4538 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 sqr-neg_binary64_4525 div-sub_binary64_4516 mul-1-neg_binary64_4503 remove-double-neg_binary64_4499 --rgt-identity_binary64_4497 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 div0_binary64_4492 *-inverses_binary64_4491 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 cancel-sign-sub_binary64_4476 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 distribute-lft-out--_binary64_4463 associate--r-_binary64_4450 associate--l-_binary64_4449
Counts
158 → 84
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01231725
12641649
29301629
322511616
448031517
552541517

prune60.0ms (2.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New84084
Fresh000
Picked011
Done022
Total84387
Error
0b
Counts
87 → 3
Compiler

Compiled 1138 to 277 computations (75.7% saved)

regimes104.0ms (3.9%)

Accuracy

Total 0.0b remaining (80%)

Threshold costs 0.0b (80%)

Compiler

Compiled 596 to 458 computations (23.2% saved)

bsearch0.0ms (0%)

simplify9.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_4442 +-commutative_binary64_4441
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_4771 if-if-and_binary64_4770 if-if-or-not_binary64_4769 if-if-or_binary64_4768 if-not_binary64_4767 if-same_binary64_4766 if-false_binary64_4765 if-true_binary64_4764 tan-0_binary64_4640 cos-0_binary64_4639 sin-0_binary64_4638 unpow1_binary64_4569 e-exp-1_binary64_4556 1-exp_binary64_4555 exp-1-e_binary64_4554 exp-0_binary64_4553 sqr-abs_binary64_4526 sqr-neg_binary64_4525 neg-mul-1_binary64_4507 neg-sub0_binary64_4506 unsub-neg_binary64_4505 sub-neg_binary64_4504 mul-1-neg_binary64_4503 /-rgt-identity_binary64_4502 *-rgt-identity_binary64_4501 *-lft-identity_binary64_4500 remove-double-neg_binary64_4499 sub0-neg_binary64_4498 --rgt-identity_binary64_4497 +-rgt-identity_binary64_4496 +-lft-identity_binary64_4495 cancel-sign-sub-inv_binary64_4477 cancel-sign-sub_binary64_4476 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-neg-in_binary64_4472 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470 distribute-rgt-neg-in_binary64_4469 distribute-lft-neg-in_binary64_4468
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
187
287
Remove

(sort d2 d3)

Compiler

Compiled 10 to 10 computations (0% saved)

end0.0ms (0%)

sample683.0ms (25.9%)

Algorithm
intervals
Results
189.0ms8000×body128valid
15.0ms651×body128invalid
Compiler

Compiled 162 to 127 computations (21.6% saved)

Profiling

Loading profile data...