Details

Time bar (total: 3.1s)

analyze204.0ms (6.6%)

Algorithm
search
egg-herbie
Rules
14×sub-neg_binary64_4504 cancel-sign-sub-inv_binary64_4477 associate--r+_binary64_4447
neg-mul-1_binary64_4507 associate--r-_binary64_4450
distribute-rgt-neg-in_binary64_4469 +-commutative_binary64_4441
neg-sub0_binary64_4506 *-lft-identity_binary64_4500 sub0-neg_binary64_4498 distribute-rgt-in_binary64_4461 *-commutative_binary64_4442
unsub-neg_binary64_4505 +-rgt-identity_binary64_4496 +-lft-identity_binary64_4495 distribute-neg-in_binary64_4472 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470 distribute-lft-neg-in_binary64_4468 associate-+l-_binary64_4446 associate-+r-_binary64_4445 associate-+r+_binary64_4443
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 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 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 mul-1-neg_binary64_4503 /-rgt-identity_binary64_4502 *-rgt-identity_binary64_4501 remove-double-neg_binary64_4499 --rgt-identity_binary64_4497 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_binary64_4476 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 distribute-rgt-out--_binary64_4465 distribute-rgt-out_binary64_4464 distribute-lft-out--_binary64_4463 distribute-lft-out_binary64_4462 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--l-_binary64_4449 associate--l+_binary64_4448 associate-+l+_binary64_4444
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
11522
22322
33322
44722
57422
68222
78822
87422
022
122
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
37.5%62.4%0.1%5
43.7%56.2%0.1%6
71.8%28.1%0.1%7
73.4%25%1.7%8
80.4%16.4%3.2%9
80.8%14%5.2%10
84.1%8.8%7.1%11
84.2%7.4%8.4%12
85.8%4.5%9.7%13
85.8%3.8%10.4%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample20.0ms (0.7%)

Algorithm
intervals
Results
6.0ms256×body128valid
0.0ms10×body128invalid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify12.0ms (0.4%)

Algorithm
egg-herbie
Rules
15×sub-neg_binary64_4504
14×cancel-sign-sub-inv_binary64_4477
10×distribute-rgt-in_binary64_4461
neg-mul-1_binary64_4507
associate--r+_binary64_4447
unsub-neg_binary64_4505
neg-sub0_binary64_4506 associate--r-_binary64_4450
distribute-neg-in_binary64_4472 distribute-lft-neg-out_binary64_4470 distribute-rgt-neg-in_binary64_4469 distribute-lft-in_binary64_4460
*-lft-identity_binary64_4500 sub0-neg_binary64_4498 associate-+l-_binary64_4446 +-commutative_binary64_4441
+-lft-identity_binary64_4495 distribute-rgt-neg-out_binary64_4471 associate-+l+_binary64_4444 *-commutative_binary64_4442
*-rgt-identity_binary64_4501
1-exp_binary64_4555 remove-double-neg_binary64_4499 --rgt-identity_binary64_4497 +-rgt-identity_binary64_4496 distribute-lft-neg-in_binary64_4468 associate--l+_binary64_4448 associate-+r-_binary64_4445 associate-+r+_binary64_4443
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 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 mul-1-neg_binary64_4503 /-rgt-identity_binary64_4502 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_binary64_4476 distribute-neg-frac_binary64_4475 distribute-frac-neg_binary64_4474 distribute-neg-out_binary64_4473 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 distribute-rgt-out--_binary64_4465 distribute-rgt-out_binary64_4464 distribute-lft-out--_binary64_4463 distribute-lft-out_binary64_4462 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--l-_binary64_4449
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1911
21411
32011
42611
54111
66411
77711
88911
99111
108511
117111

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 7 to 6 computations (14.3% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))

rewrite31.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-cube-cbrt_binary64_4546 add-sqr-sqrt_binary64_4533 times-frac_binary64_4517 *-un-lft-identity_binary64_4511
add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547 associate-/l*_binary64_4456 associate-/r*_binary64_4455
pow1_binary64_4572 div-exp_binary64_4562 add-log-exp_binary64_4550 cbrt-undiv_binary64_4545 frac-2neg_binary64_4522 clear-num_binary64_4510 div-inv_binary64_4508
Counts
1 → 27
Calls

1 calls:

3.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 421 to 90 computations (78.6% saved)

series111.0ms (3.6%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

108.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 126 to 78 computations (38.1% saved)

simplify66.0ms (2.1%)

Algorithm
egg-herbie
Rules
603×unsub-neg_binary64_4505
532×div-sub_binary64_4516
443×associate-*l*_binary64_4452
410×distribute-rgt-in_binary64_4461
385×distribute-lft-in_binary64_4460
273×associate-/l/_binary64_4458
248×times-frac_binary64_4517
242×associate-/l*_binary64_4456
222×neg-sub0_binary64_4506
200×neg-mul-1_binary64_4507
136×associate-/r/_binary64_4457
126×associate-/r*_binary64_4455
106×associate-*l/_binary64_4454
88×sub-neg_binary64_4504
82×distribute-rgt-neg-out_binary64_4471
78×distribute-frac-neg_binary64_4474
70×associate-*r/_binary64_4453
67×distribute-lft-neg-out_binary64_4470
44×*-commutative_binary64_4442
41×associate-*r*_binary64_4451
23×*-lft-identity_binary64_4500
21×cancel-sign-sub-inv_binary64_4477
18×/-rgt-identity_binary64_4502 distribute-neg-in_binary64_4472
15×div0_binary64_4492
14×distribute-rgt-neg-in_binary64_4469 distribute-lft-neg-in_binary64_4468 distribute-rgt-out_binary64_4464
13×*-rgt-identity_binary64_4501 unswap-sqr_binary64_4479 associate-+l+_binary64_4444
10×distribute-neg-out_binary64_4473 associate--l-_binary64_4449 associate-+l-_binary64_4446
sqr-pow_binary64_4483 +-commutative_binary64_4441
distribute-lft-out_binary64_4462 associate-+r+_binary64_4443
sqr-neg_binary64_4525
cube-unmult_binary64_4548 distribute-neg-frac_binary64_4475
sub0-neg_binary64_4498 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 associate--l+_binary64_4448
log-div_binary64_4598 --rgt-identity_binary64_4497
+-rgt-identity_binary64_4496 distribute-rgt-out--_binary64_4465 associate--r-_binary64_4450 associate-+r-_binary64_4445
log-prod_binary64_4597 cube-div_binary64_4540 cube-prod_binary64_4539 sqr-abs_binary64_4526 mul-1-neg_binary64_4503 remove-double-neg_binary64_4499 remove-double-div_binary64_4487 associate--r+_binary64_4447
log-rec_binary64_4599 1-exp_binary64_4555 *-inverses_binary64_4491 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466 count-2_binary64_4459
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 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 exp-1-e_binary64_4554 exp-0_binary64_4553 rem-log-exp_binary64_4552 rem-exp-log_binary64_4551 cube-mult_binary64_4541 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 rem-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 +-lft-identity_binary64_4495 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 pow-sqr_binary64_4484 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 difference-of-squares_binary64_4480 swap-sqr_binary64_4478 cancel-sign-sub_binary64_4476 distribute-lft-out--_binary64_4463
Counts
33 → 7
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053619
194573
2212573
3576573
41599573
54371573
65220573

prune9.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New527
Fresh000
Picked011
Done000
Total538
Error
0b
Counts
8 → 3
Compiler

Compiled 102 to 39 computations (61.8% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.3b
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))
0.3b
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))

rewrite134.0ms (4.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
54×add-sqr-sqrt_binary64_4533
40×times-frac_binary64_4517
36×add-cube-cbrt_binary64_4546 *-un-lft-identity_binary64_4511
35×sqrt-prod_binary64_4527
22×associate-*r*_binary64_4451
11×add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547
pow1_binary64_4572
associate-/l*_binary64_4456 unswap-sqr_binary64_4479 associate-*l*_binary64_4452
add-log-exp_binary64_4550
associate-/r*_binary64_4455
div-exp_binary64_4562 cbrt-undiv_binary64_4545 div-inv_binary64_4508 prod-exp_binary64_4560 cbrt-unprod_binary64_4544 pow1/2_binary64_4591 sqrt-pow1_binary64_4529 rem-sqrt-square_binary64_4524
frac-2neg_binary64_4522 clear-num_binary64_4510 pow-prod-down_binary64_4582 associate-*r/_binary64_4453 *-commutative_binary64_4442
Counts
4 → 113
Calls

4 calls:

12.0ms
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))
4.0ms
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 2743 to 343 computations (87.5% saved)

series457.0ms (14.8%)

Error
0b
Counts
4 → 24
Calls

4 calls:

187.0ms
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))
112.0ms
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))
71.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
70.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 918 to 417 computations (54.6% saved)

simplify187.0ms (6.1%)

Algorithm
egg-herbie
Rules
463×div-sub_binary64_4516
392×unswap-sqr_binary64_4479
382×associate-/l*_binary64_4456
300×times-frac_binary64_4517
287×associate-*l*_binary64_4452
256×sub-neg_binary64_4504
236×associate-*l/_binary64_4454
211×associate-*r*_binary64_4451
198×associate--r+_binary64_4447
196×associate-/l/_binary64_4458
184×associate-*r/_binary64_4453
179×sqr-pow_binary64_4483
160×unsub-neg_binary64_4505
142×distribute-rgt-in_binary64_4461
129×associate--r-_binary64_4450
108×distribute-lft-in_binary64_4460
90×associate-/r*_binary64_4455
72×log-prod_binary64_4597
71×log-div_binary64_4598
64×cube-div_binary64_4540 neg-mul-1_binary64_4507
62×cancel-sign-sub-inv_binary64_4477
61×neg-sub0_binary64_4506
60×*-commutative_binary64_4442
58×cube-prod_binary64_4539
57×associate-/r/_binary64_4457
55×*-lft-identity_binary64_4500 pow-sqr_binary64_4484
50×remove-double-div_binary64_4487
48×exp-prod_binary64_4563 associate-+l+_binary64_4444
45×*-rgt-identity_binary64_4501 +-commutative_binary64_4441
43×associate--l+_binary64_4448
41×rem-sqrt-square_binary64_4524
38×associate-+l-_binary64_4446
37×distribute-neg-in_binary64_4472
30×associate--l-_binary64_4449
29×/-rgt-identity_binary64_4502
24×associate-+r+_binary64_4443
22×log-rec_binary64_4599 unpow3_binary64_4577 swap-sqr_binary64_4478
20×cube-mult_binary64_4541 distribute-neg-out_binary64_4473
17×sqr-neg_binary64_4525
15×distribute-lft-neg-out_binary64_4470
14×distribute-rgt-neg-out_binary64_4471
13×associate-+r-_binary64_4445
12×distribute-lft-neg-in_binary64_4468
10×unpow1/2_binary64_4575 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 distribute-rgt-neg-in_binary64_4469
pow-plus_binary64_4574 --rgt-identity_binary64_4497
exp-diff_binary64_4559
cube-unmult_binary64_4548 +-rgt-identity_binary64_4496 distribute-neg-frac_binary64_4475 distribute-rgt-out_binary64_4464
log-pow_binary64_4600
count-2_binary64_4459
remove-double-neg_binary64_4499
unpow2_binary64_4576 sub0-neg_binary64_4498 +-lft-identity_binary64_4495 distribute-rgt-out--_binary64_4465 distribute-lft-out--_binary64_4463
unpow1_binary64_4569 sqr-abs_binary64_4526 rem-square-sqrt_binary64_4523 +-inverses_binary64_4490 distribute-lft1-in_binary64_4466
exp-sum_binary64_4557 1-exp_binary64_4555 exp-1-e_binary64_4554 div0_binary64_4492 distribute-rgt1-in_binary64_4467 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 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-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 mul-1-neg_binary64_4503 *-inverses_binary64_4491 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 difference-of-sqr--1_binary64_4482 difference-of-sqr-1_binary64_4481 difference-of-squares_binary64_4480 cancel-sign-sub_binary64_4476 distribute-frac-neg_binary64_4474
Counts
137 → 69
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01032563
12032454
26862398
321522398
426362398
542222398
647442398
754432398

prune59.0ms (1.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New69069
Fresh011
Picked011
Done011
Total69372
Error
0b
Counts
72 → 3
Compiler

Compiled 1287 to 177 computations (86.2% saved)

localize11.0ms (0.4%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
2.5b
(exp.f64 (log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))))
4.4b
(log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y)))

rewrite89.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
27×times-frac_binary64_4517
26×add-cube-cbrt_binary64_4546 log-prod_binary64_4597 add-sqr-sqrt_binary64_4533 *-un-lft-identity_binary64_4511
13×exp-sum_binary64_4557
add-exp-log_binary64_4549
pow1_binary64_4572 add-cbrt-cube_binary64_4547
exp-prod_binary64_4563
div-inv_binary64_4508 add-log-exp_binary64_4550 associate-/l*_binary64_4456 associate-/r*_binary64_4455
log-pow_binary64_4600 log-div_binary64_4598 div-exp_binary64_4562 rem-log-exp_binary64_4552
exp-diff_binary64_4559 rem-exp-log_binary64_4551 cbrt-undiv_binary64_4545 frac-2neg_binary64_4522 clear-num_binary64_4510
Counts
3 → 77
Calls

3 calls:

7.0ms
(exp.f64 (log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))))
3.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
3.0ms
(log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y)))
Compiler

Compiled 1421 to 310 computations (78.2% saved)

series788.0ms (25.6%)

Error
0b
Counts
3 → 18
Calls

3 calls:

337.0ms
(exp.f64 (log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))))
332.0ms
(log.f64 (/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y)))
109.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 486 to 296 computations (39.1% saved)

simplify134.0ms (4.3%)

Algorithm
egg-herbie
Rules
432×associate--l-_binary64_4449
421×log-div_binary64_4598
401×exp-diff_binary64_4559
340×times-frac_binary64_4517
303×associate-/l*_binary64_4456
269×associate-/l/_binary64_4458
228×div-exp_binary64_4562
202×prod-exp_binary64_4560
185×sub-neg_binary64_4504
180×distribute-rgt-in_binary64_4461
177×distribute-lft-in_binary64_4460
147×associate-/r*_binary64_4455
143×associate-*l*_binary64_4452
142×associate-/r/_binary64_4457
131×associate-*l/_binary64_4454
128×exp-sum_binary64_4557
101×associate--r-_binary64_4450
97×associate-*r*_binary64_4451
85×associate-*r/_binary64_4453
71×log-prod_binary64_4597
62×div-sub_binary64_4516
47×exp-prod_binary64_4563
46×cancel-sign-sub-inv_binary64_4477
43×associate-+r-_binary64_4445
41×associate-+l-_binary64_4446
36×*-commutative_binary64_4442
30×rec-exp_binary64_4561
27×log-pow_binary64_4600 rem-exp-log_binary64_4551 +-commutative_binary64_4441
25×unsub-neg_binary64_4505
24×neg-mul-1_binary64_4507 associate-+l+_binary64_4444
23×neg-sub0_binary64_4506 associate-+r+_binary64_4443
22×associate--l+_binary64_4448
20×log-rec_binary64_4599 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470
19×sqr-pow_binary64_4483
18×exp-to-pow_binary64_4573
15×distribute-neg-in_binary64_4472
/-rgt-identity_binary64_4502 count-2_binary64_4459
+-rgt-identity_binary64_4496
*-rgt-identity_binary64_4501 distribute-neg-out_binary64_4473 distribute-rgt-neg-in_binary64_4469 distribute-lft-neg-in_binary64_4468
cube-prod_binary64_4539 swap-sqr_binary64_4478 distribute-rgt-out_binary64_4464
cube-unmult_binary64_4548 *-lft-identity_binary64_4500 distribute-rgt1-in_binary64_4467 distribute-lft1-in_binary64_4466
pow-sqr_binary64_4484 associate--r+_binary64_4447
cube-div_binary64_4540 sqr-abs_binary64_4526 sqr-neg_binary64_4525 sub0-neg_binary64_4498 distribute-rgt-out--_binary64_4465 distribute-lft-out--_binary64_4463 distribute-lft-out_binary64_4462
unpow3_binary64_4577 exp-lft-sqr_binary64_4566 1-exp_binary64_4555 exp-1-e_binary64_4554 rem-log-exp_binary64_4552 cube-mult_binary64_4541 remove-double-neg_binary64_4499 *-inverses_binary64_4491 +-inverses_binary64_4490 unswap-sqr_binary64_4479 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 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow2_binary64_4576 unpow1/2_binary64_4575 pow-plus_binary64_4574 pow-base-1_binary64_4571 unpow0_binary64_4570 unpow1_binary64_4569 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-cbrt_binary64_4565 exp-sqrt_binary64_4564 exp-neg_binary64_4558 e-exp-1_binary64_4556 exp-0_binary64_4553 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 rem-cube-cbrt_binary64_4534 rem-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 mul-1-neg_binary64_4503 --rgt-identity_binary64_4497 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 div0_binary64_4492 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 difference-of-squares_binary64_4480 cancel-sign-sub_binary64_4476 distribute-frac-neg_binary64_4474
Counts
95 → 52
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01121894
11751762
24031696
312671678
438141656
549761656
650611656

prune40.0ms (1.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New52052
Fresh000
Picked011
Done022
Total52355
Error
0b
Counts
55 → 3
Compiler

Compiled 767 to 184 computations (76% saved)

regimes77.0ms (2.5%)

Accuracy

Total 0.0b remaining (90.7%)

Threshold costs 0.0b (90.7%)

Compiler

Compiled 570 to 380 computations (33.3% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_4504 +-commutative_binary64_4441
neg-mul-1_binary64_4507 neg-sub0_binary64_4506 *-commutative_binary64_4442
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 unsub-neg_binary64_4505 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
0711
1911
21411
31611
41711
51711

end0.0ms (0%)

sample630.0ms (20.4%)

Algorithm
intervals
Results
192.0ms8000×body128valid
5.0ms222×body128invalid
Compiler

Compiled 199 to 135 computations (32.2% saved)

Profiling

Loading profile data...