Details

Time bar (total: 10.6s)

analyze387.0ms (3.6%)

Algorithm
search
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
25%74.9%0.1%7
31.2%68.6%0.1%8
35.9%64%0.1%9
47.6%49.9%2.5%10
49.1%46.8%4%11
51.1%44.1%4.8%12
60.2%29.9%9.9%13
60.6%27.9%11.6%14
Compiler

Compiled 12 to 10 computations (16.7% saved)

sample21.0ms (0.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
1.0ms45×body128invalid
Compiler

Compiled 23 to 22 computations (4.3% saved)

simplify483.0ms (4.5%)

Algorithm
egg-herbie
Rules
768×distribute-rgt-out--_binary64_4465
439×distribute-rgt-out_binary64_4464
293×exp-sum_binary64_4557
255×associate-/l/_binary64_4458
252×distribute-rgt-in_binary64_4461
248×associate-/l*_binary64_4456
238×pow-plus_binary64_4574
208×exp-prod_binary64_4563
198×*-commutative_binary64_4442
184×associate-/r*_binary64_4455
166×sqr-pow_binary64_4483
142×distribute-lft-in_binary64_4460
137×associate-+l+_binary64_4444
128×times-frac_binary64_4517
127×pow-sqr_binary64_4484
115×associate-/r/_binary64_4457
102×unswap-sqr_binary64_4479
101×pow-base-1_binary64_4571
91×distribute-lft-out_binary64_4462
85×associate-*r/_binary64_4453
83×associate-*r*_binary64_4451
78×associate-*l*_binary64_4452
73×associate-*l/_binary64_4454
69×associate-+r+_binary64_4443
66×distribute-rgt-neg-in_binary64_4469
46×+-commutative_binary64_4441
45×cube-prod_binary64_4539
42×distribute-rgt1-in_binary64_4467
27×*-lft-identity_binary64_4500 cancel-sign-sub-inv_binary64_4477 distribute-lft-neg-in_binary64_4468
18×*-rgt-identity_binary64_4501
16×unpow3_binary64_4577 cube-div_binary64_4540
13×count-2_binary64_4459
12×prod-exp_binary64_4560
10×cube-unmult_binary64_4548 /-rgt-identity_binary64_4502
exp-lft-sqr_binary64_4566 div-exp_binary64_4562 distribute-neg-frac_binary64_4475 distribute-lft1-in_binary64_4466
cube-mult_binary64_4541
swap-sqr_binary64_4478
exp-sqrt_binary64_4564 rec-exp_binary64_4561 rem-sqrt-square_binary64_4524
1-exp_binary64_4555 exp-1-e_binary64_4554 neg-mul-1_binary64_4507 neg-sub0_binary64_4506 sub-neg_binary64_4504 --rgt-identity_binary64_4497 +-rgt-identity_binary64_4496 div0_binary64_4492 *-inverses_binary64_4491 remove-double-div_binary64_4487
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 unpow2_binary64_4576 unpow1/2_binary64_4575 exp-to-pow_binary64_4573 unpow0_binary64_4570 unpow1_binary64_4569 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-cbrt_binary64_4565 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-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 div-sub_binary64_4516 unsub-neg_binary64_4505 mul-1-neg_binary64_4503 remove-double-neg_binary64_4499 sub0-neg_binary64_4498 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 +-inverses_binary64_4490 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 distribute-neg-out_binary64_4473 distribute-neg-in_binary64_4472 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470 distribute-lft-out--_binary64_4463 associate--r-_binary64_4450 associate--l-_binary64_4449 associate--l+_binary64_4448 associate--r+_binary64_4447 associate-+l-_binary64_4446 associate-+r-_binary64_4445
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
13016
27616
318616
430416
537616
641616
769716
8163416
9203216
10464116

prune12.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New145
Fresh011
Picked000
Done000
Total156
Error
4.7b
Counts
6 → 5
Compiler

Compiled 110 to 72 computations (34.5% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 y (+.f64 z 1))
4.6b
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (+.f64 z 1)))
9.9b
(/.f64 x (*.f64 z z))

rewrite149.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
38×*-un-lft-identity_binary64_4511
34×add-sqr-sqrt_binary64_4533 times-frac_binary64_4517
31×add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547
24×add-cube-cbrt_binary64_4546
18×associate-*r*_binary64_4451
10×div-exp_binary64_4562 cbrt-undiv_binary64_4545
prod-exp_binary64_4560 cbrt-unprod_binary64_4544
associate-*l*_binary64_4452 distribute-lft-out_binary64_4462
associate-/l*_binary64_4456
pow1_binary64_4572 associate-/r*_binary64_4455
div-inv_binary64_4508 unswap-sqr_binary64_4479 associate-/r/_binary64_4457
add-log-exp_binary64_4550
frac-2neg_binary64_4522 clear-num_binary64_4510 flip3-+_binary64_4514 flip-+_binary64_4485
pow-prod-down_binary64_4582 frac-times_binary64_4521 associate-*l/_binary64_4454 associate-*r/_binary64_4453 *-commutative_binary64_4442
Counts
3 → 107
Calls

3 calls:

15.0ms
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (+.f64 z 1)))
5.0ms
(/.f64 y (+.f64 z 1))
5.0ms
(/.f64 x (*.f64 z z))
Compiler

Compiled 2044 to 909 computations (55.5% saved)

series544.0ms (5.1%)

Error
4.7b
Counts
3 → 39
Calls

3 calls:

306.0ms
(*.f64 (/.f64 x (*.f64 z z)) (/.f64 y (+.f64 z 1)))
110.0ms
(/.f64 x (*.f64 z z))
92.0ms
(/.f64 y (+.f64 z 1))
Compiler

Compiled 1323 to 847 computations (36% saved)

simplify578.0ms (5.4%)

Algorithm
egg-herbie
Rules
376×associate-/r/_binary64_4457
317×*-commutative_binary64_4442
265×sub-neg_binary64_4504
198×distribute-rgt-out--_binary64_4465
184×unswap-sqr_binary64_4479
149×associate-*r/_binary64_4453
148×associate-*l/_binary64_4454
141×cancel-sign-sub-inv_binary64_4477
132×log-prod_binary64_4597
129×associate-/l*_binary64_4456
128×sqr-pow_binary64_4483
118×times-frac_binary64_4517
106×associate-*l*_binary64_4452
100×cube-prod_binary64_4539
99×associate-/r*_binary64_4455
98×distribute-rgt-neg-in_binary64_4469
95×distribute-lft-neg-in_binary64_4468
83×unsub-neg_binary64_4505
80×log-div_binary64_4598 associate-*r*_binary64_4451
79×+-commutative_binary64_4441
71×div-sub_binary64_4516
68×cube-div_binary64_4540
63×pow-sqr_binary64_4484
58×associate-+l-_binary64_4446
57×associate-+l+_binary64_4444
56×associate--l+_binary64_4448
55×neg-mul-1_binary64_4507
52×neg-sub0_binary64_4506
51×swap-sqr_binary64_4478
49×associate-+r+_binary64_4443
47×associate-+r-_binary64_4445
44×exp-prod_binary64_4563 associate-/l/_binary64_4458
43×distribute-neg-in_binary64_4472
42×distribute-neg-frac_binary64_4475
38×cancel-sign-sub_binary64_4476
36×*-rgt-identity_binary64_4501 associate--r+_binary64_4447
33×pow-plus_binary64_4574
31×distribute-rgt-in_binary64_4461
27×*-lft-identity_binary64_4500 distribute-lft-neg-out_binary64_4470
25×unpow3_binary64_4577 cube-mult_binary64_4541
24×+-rgt-identity_binary64_4496 distribute-neg-out_binary64_4473
23×distribute-rgt-out_binary64_4464
21×sub0-neg_binary64_4498
19×log-pow_binary64_4600
18×distribute-lft-in_binary64_4460
17×distribute-rgt1-in_binary64_4467
16×div-exp_binary64_4562 prod-exp_binary64_4560
15×difference-of-squares_binary64_4480
14×/-rgt-identity_binary64_4502
11×distribute-rgt-neg-out_binary64_4471
10×cube-unmult_binary64_4548
distribute-lft-out--_binary64_4463
distribute-lft1-in_binary64_4466 associate--r-_binary64_4450
pow-base-1_binary64_4571 distribute-lft-out_binary64_4462
exp-lft-sqr_binary64_4566
log-rec_binary64_4599 rec-exp_binary64_4561
remove-double-neg_binary64_4499 div0_binary64_4492 difference-of-sqr-1_binary64_4481 distribute-frac-neg_binary64_4474 associate--l-_binary64_4449
count-2_binary64_4459
unpow2_binary64_4576 unpow1_binary64_4569 exp-sqrt_binary64_4564 exp-diff_binary64_4559 1-exp_binary64_4555 exp-1-e_binary64_4554 rem-log-exp_binary64_4552 --rgt-identity_binary64_4497 +-lft-identity_binary64_4495 mul0-rgt_binary64_4494 mul0-lft_binary64_4493 *-inverses_binary64_4491 rgt-mult-inverse_binary64_4488
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 unpow1/2_binary64_4575 exp-to-pow_binary64_4573 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-cbrt_binary64_4565 exp-neg_binary64_4558 exp-sum_binary64_4557 e-exp-1_binary64_4556 exp-0_binary64_4553 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-sqrt-square_binary64_4524 rem-square-sqrt_binary64_4523 mul-1-neg_binary64_4503 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482
Counts
146 → 201
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01922591
15172273
219572232
333542226

prune202.0ms (1.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1965201
Fresh314
Picked101
Done000
Total2006206
Error
0b
Counts
206 → 6
Compiler

Compiled 3638 to 1635 computations (55.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite99.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×cbrt-prod_binary64_4542
23×add-sqr-sqrt_binary64_4533
15×add-cube-cbrt_binary64_4546 *-un-lft-identity_binary64_4511
11×pow1_binary64_4572
pow1/3_binary64_4593
add-exp-log_binary64_4549 swap-sqr_binary64_4478 associate-*l*_binary64_4452 associate-*r*_binary64_4451
add-log-exp_binary64_4550 add-cbrt-cube_binary64_4547 unswap-sqr_binary64_4479
pow-prod-down_binary64_4582 pow-prod-up_binary64_4581 pow-sqr_binary64_4484
pow2_binary64_4592 pow-plus_binary64_4574 prod-exp_binary64_4560 cbrt-unprod_binary64_4544 *-commutative_binary64_4442
Counts
4 → 73
Calls

4 calls:

7.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1670 to 598 computations (64.2% saved)

series496.0ms (4.7%)

Error
0b
Counts
4 → 12
Calls

4 calls:

141.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
119.0ms
(cbrt.f64 x)
112.0ms
(cbrt.f64 x)
111.0ms
(cbrt.f64 x)
Compiler

Compiled 735 to 517 computations (29.7% saved)

simplify349.0ms (3.3%)

Algorithm
egg-herbie
Rules
545×log-prod_binary64_4597
427×log-div_binary64_4598
416×associate-/l*_binary64_4456
347×associate-*l*_binary64_4452
293×associate-/r*_binary64_4455
231×associate-*r*_binary64_4451
203×*-commutative_binary64_4442
184×associate-/r/_binary64_4457
150×distribute-rgt-neg-in_binary64_4469
144×distribute-lft-neg-in_binary64_4468
140×exp-prod_binary64_4563
128×distribute-rgt-in_binary64_4461
123×unswap-sqr_binary64_4479
112×cube-prod_binary64_4539
95×distribute-lft-in_binary64_4460
86×swap-sqr_binary64_4478
80×associate-/l/_binary64_4458
77×sqr-pow_binary64_4483
55×log-pow_binary64_4600 distribute-rgt-out_binary64_4464
52×times-frac_binary64_4517
47×cancel-sign-sub-inv_binary64_4477
42×associate-+l+_binary64_4444
39×associate-+r+_binary64_4443
38×associate-*l/_binary64_4454
37×pow-sqr_binary64_4484
30×distribute-lft-out_binary64_4462
29×cube-div_binary64_4540
28×distribute-neg-frac_binary64_4475
24×log-rec_binary64_4599 *-rgt-identity_binary64_4501
23×*-lft-identity_binary64_4500
22×pow-plus_binary64_4574
21×associate-*r/_binary64_4453
19×exp-sqrt_binary64_4564
18×rem-sqrt-square_binary64_4524
15×cube-unmult_binary64_4548
13×neg-mul-1_binary64_4507 neg-sub0_binary64_4506
12×associate-+l-_binary64_4446
exp-lft-sqr_binary64_4566 distribute-rgt-neg-out_binary64_4471 distribute-lft-neg-out_binary64_4470
distribute-rgt1-in_binary64_4467 count-2_binary64_4459
unpow3_binary64_4577 associate--l-_binary64_4449 associate--l+_binary64_4448
associate-+r-_binary64_4445 +-commutative_binary64_4441
div-exp_binary64_4562 prod-exp_binary64_4560 distribute-rgt-out--_binary64_4465
unpow1/3_binary64_4578 unpow2_binary64_4576 sub-neg_binary64_4504 distribute-lft-out--_binary64_4463
unpow1_binary64_4569 rec-exp_binary64_4561 exp-sum_binary64_4557 cube-mult_binary64_4541 rem-3cbrt-lft_binary64_4536 rem-cbrt-cube_binary64_4535 /-rgt-identity_binary64_4502 distribute-lft1-in_binary64_4466
pow-base-1_binary64_4571 exp-diff_binary64_4559 1-exp_binary64_4555 exp-1-e_binary64_4554 rem-log-exp_binary64_4552 rem-3cbrt-rft_binary64_4537 rem-square-sqrt_binary64_4523 mul-1-neg_binary64_4503 mul0-lft_binary64_4493 *-inverses_binary64_4491 distribute-neg-out_binary64_4473
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/2_binary64_4575 exp-to-pow_binary64_4573 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-cbrt_binary64_4565 exp-neg_binary64_4558 e-exp-1_binary64_4556 exp-0_binary64_4553 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 unsub-neg_binary64_4505 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 div0_binary64_4492 +-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 difference-of-squares_binary64_4480 cancel-sign-sub_binary64_4476 distribute-frac-neg_binary64_4474 distribute-neg-in_binary64_4472 associate--r-_binary64_4450 associate--r+_binary64_4447
Counts
85 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055718
197656
2345636
31343633
44059633

prune104.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New83083
Fresh055
Picked011
Done000
Total83689
Error
0b
Counts
89 → 6
Compiler

Compiled 1970 to 776 computations (60.6% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 y (+.f64 z 1))
0.8b
(*.f64 (/.f64 1 z) (*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z)))
2.2b
(*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z))

rewrite238.0ms (2.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
94×add-exp-log_binary64_4549
58×add-cbrt-cube_binary64_4547
48×*-un-lft-identity_binary64_4511
46×add-sqr-sqrt_binary64_4533 times-frac_binary64_4517
40×prod-exp_binary64_4560
34×add-cube-cbrt_binary64_4546
31×div-exp_binary64_4562 associate-*l*_binary64_4452
22×cbrt-unprod_binary64_4544
18×cbrt-undiv_binary64_4545
14×associate-*r*_binary64_4451
10×pow1_binary64_4572
distribute-lft-out_binary64_4462
frac-times_binary64_4521 associate-*r/_binary64_4453
1-exp_binary64_4555 rec-exp_binary64_4561
pow-prod-down_binary64_4582 unswap-sqr_binary64_4479 associate-*l/_binary64_4454 div-inv_binary64_4508 associate-/r/_binary64_4457 associate-/r*_binary64_4455
add-log-exp_binary64_4550 associate-/l*_binary64_4456
flip3-+_binary64_4514 flip-+_binary64_4485 *-commutative_binary64_4442
frac-2neg_binary64_4522 clear-num_binary64_4510
Counts
3 → 149
Calls

3 calls:

15.0ms
(*.f64 (/.f64 1 z) (*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z)))
15.0ms
(*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z))
6.0ms
(/.f64 y (+.f64 z 1))
Compiler

Compiled 3240 to 1791 computations (44.7% saved)

series729.0ms (6.9%)

Error
0b
Counts
3 → 51
Calls

3 calls:

312.0ms
(*.f64 (/.f64 1 z) (*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z)))
275.0ms
(*.f64 (/.f64 y (+.f64 z 1)) (/.f64 x z))
91.0ms
(/.f64 y (+.f64 z 1))
Compiler

Compiled 1929 to 1230 computations (36.2% saved)

simplify1.2s (11.3%)

Algorithm
egg-herbie
Rules
384×cancel-sign-sub-inv_binary64_4477
258×associate-*r*_binary64_4451
231×associate-*l/_binary64_4454
222×associate-/l*_binary64_4456
220×associate-*r/_binary64_4453
216×associate-*l*_binary64_4452
205×times-frac_binary64_4517
148×log-div_binary64_4598
142×log-prod_binary64_4597
138×*-commutative_binary64_4442
121×exp-prod_binary64_4563
120×sub-neg_binary64_4504
106×distribute-rgt-neg-in_binary64_4469
105×+-commutative_binary64_4441
104×associate-/r*_binary64_4455
98×associate-+l-_binary64_4446
92×distribute-lft-neg-in_binary64_4468 associate--l+_binary64_4448
90×distribute-rgt-out--_binary64_4465
85×associate-+l+_binary64_4444
80×associate-+r+_binary64_4443
74×distribute-rgt-out_binary64_4464 associate--r+_binary64_4447
69×associate-+r-_binary64_4445
65×distribute-rgt-in_binary64_4461
63×associate-/l/_binary64_4458
58×swap-sqr_binary64_4478
54×unpow3_binary64_4577
53×/-rgt-identity_binary64_4502
51×distribute-neg-frac_binary64_4475
50×cube-prod_binary64_4539
49×sqr-pow_binary64_4483
48×cube-div_binary64_4540
44×distribute-lft-out_binary64_4462
41×distribute-lft-out--_binary64_4463
40×*-rgt-identity_binary64_4501 distribute-lft-in_binary64_4460
39×neg-mul-1_binary64_4507
37×neg-sub0_binary64_4506 distribute-neg-in_binary64_4472
36×*-lft-identity_binary64_4500
32×associate-/r/_binary64_4457
28×associate--l-_binary64_4449
25×unsub-neg_binary64_4505
21×div-sub_binary64_4516
20×log-rec_binary64_4599
19×log-pow_binary64_4600 pow-plus_binary64_4574
18×pow-sqr_binary64_4484 associate--r-_binary64_4450
14×unswap-sqr_binary64_4479
10×distribute-lft-neg-out_binary64_4470
distribute-rgt1-in_binary64_4467
cube-unmult_binary64_4548
pow-base-1_binary64_4571
distribute-neg-out_binary64_4473 distribute-lft1-in_binary64_4466
exp-to-pow_binary64_4573 cube-mult_binary64_4541 difference-of-sqr-1_binary64_4481
unpow2_binary64_4576 unpow1_binary64_4569 exp-sqrt_binary64_4564 div-exp_binary64_4562 rec-exp_binary64_4561 prod-exp_binary64_4560 1-exp_binary64_4555 exp-1-e_binary64_4554 rem-log-exp_binary64_4552 rem-cbrt-cube_binary64_4535 rem-sqrt-square_binary64_4524 sub0-neg_binary64_4498 +-rgt-identity_binary64_4496 *-inverses_binary64_4491 difference-of-squares_binary64_4480 distribute-rgt-neg-out_binary64_4471 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 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow1/2_binary64_4575 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-diff_binary64_4559 exp-neg_binary64_4558 exp-sum_binary64_4557 e-exp-1_binary64_4556 exp-0_binary64_4553 rem-exp-log_binary64_4551 cube-neg_binary64_4538 rem-3cbrt-rft_binary64_4537 rem-3cbrt-lft_binary64_4536 rem-cube-cbrt_binary64_4534 sqr-abs_binary64_4526 sqr-neg_binary64_4525 rem-square-sqrt_binary64_4523 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_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482 cancel-sign-sub_binary64_4476 distribute-frac-neg_binary64_4474
Counts
200 → 352
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02823943
17663374
229873291
348383291

prune601.0ms (5.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3511352
Fresh134
Picked011
Done011
Total3526358
Error
0b
Counts
358 → 6
Compiler

Compiled 6903 to 2561 computations (62.9% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 y (+.f64 z 1))
0.0b
(/.f64 (/.f64 y (+.f64 z 1)) z)
2.9b
(*.f64 (/.f64 (/.f64 y (+.f64 z 1)) z) (/.f64 x z))

rewrite332.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
222×times-frac_binary64_4517
163×*-un-lft-identity_binary64_4511
134×add-sqr-sqrt_binary64_4533
113×add-cube-cbrt_binary64_4546
58×associate-*l*_binary64_4452
31×add-exp-log_binary64_4549 add-cbrt-cube_binary64_4547
25×distribute-lft-out_binary64_4462
21×associate-/l*_binary64_4456
16×associate-/r/_binary64_4457
13×div-exp_binary64_4562 cbrt-undiv_binary64_4545 associate-*r*_binary64_4451
11×div-inv_binary64_4508
flip3-+_binary64_4514 flip-+_binary64_4485
associate-/r*_binary64_4455
prod-exp_binary64_4560 cbrt-unprod_binary64_4544 unswap-sqr_binary64_4479
pow1_binary64_4572
add-log-exp_binary64_4550
frac-2neg_binary64_4522 clear-num_binary64_4510
pow-prod-down_binary64_4582 frac-times_binary64_4521 associate-*l/_binary64_4454 associate-*r/_binary64_4453 *-commutative_binary64_4442 associate-/l/_binary64_4458
Counts
3 → 224
Calls

3 calls:

28.0ms
(*.f64 (/.f64 (/.f64 y (+.f64 z 1)) z) (/.f64 x z))
9.0ms
(/.f64 (/.f64 y (+.f64 z 1)) z)
5.0ms
(/.f64 y (+.f64 z 1))
Compiler

Compiled 4946 to 2498 computations (49.5% saved)

series621.0ms (5.8%)

Error
0b
Counts
3 → 48
Calls

3 calls:

336.0ms
(*.f64 (/.f64 (/.f64 y (+.f64 z 1)) z) (/.f64 x z))
136.0ms
(/.f64 (/.f64 y (+.f64 z 1)) z)
105.0ms
(/.f64 y (+.f64 z 1))
Compiler

Compiled 1608 to 1004 computations (37.6% saved)

simplify817.0ms (7.7%)

Algorithm
egg-herbie
Rules
369×associate-*l/_binary64_4454
287×associate-/r*_binary64_4455
278×associate-/l*_binary64_4456
277×times-frac_binary64_4517
245×associate-*r/_binary64_4453
209×associate-/l/_binary64_4458
207×div-sub_binary64_4516 *-commutative_binary64_4442
206×cancel-sign-sub-inv_binary64_4477
125×sub-neg_binary64_4504
119×/-rgt-identity_binary64_4502
118×distribute-rgt-in_binary64_4461
107×+-commutative_binary64_4441
97×associate-*l*_binary64_4452
96×distribute-lft-in_binary64_4460
89×associate--l+_binary64_4448
88×log-div_binary64_4598
85×log-prod_binary64_4597 associate-+l-_binary64_4446
79×associate-+l+_binary64_4444
77×cube-div_binary64_4540 associate-+r+_binary64_4443
74×associate-*r*_binary64_4451
73×cube-prod_binary64_4539
64×associate-+r-_binary64_4445
61×distribute-rgt-neg-in_binary64_4469 associate-/r/_binary64_4457
57×associate--r+_binary64_4447
48×exp-prod_binary64_4563 distribute-lft-neg-in_binary64_4468
44×*-rgt-identity_binary64_4501
41×distribute-neg-frac_binary64_4475
38×neg-mul-1_binary64_4507 sqr-pow_binary64_4483 distribute-rgt-out--_binary64_4465
37×neg-sub0_binary64_4506
33×distribute-rgt-out_binary64_4464
31×*-lft-identity_binary64_4500
28×unpow3_binary64_4577 cube-mult_binary64_4541
25×swap-sqr_binary64_4478
24×unsub-neg_binary64_4505 unswap-sqr_binary64_4479 distribute-neg-in_binary64_4472
22×pow-plus_binary64_4574
18×log-pow_binary64_4600
17×pow-sqr_binary64_4484
16×div-exp_binary64_4562 prod-exp_binary64_4560
10×distribute-lft-neg-out_binary64_4470 associate--r-_binary64_4450
log-rec_binary64_4599 associate--l-_binary64_4449
pow-base-1_binary64_4571 cube-unmult_binary64_4548
distribute-rgt1-in_binary64_4467
distribute-lft-out--_binary64_4463 distribute-lft-out_binary64_4462
rec-exp_binary64_4561 exp-sum_binary64_4557
+-rgt-identity_binary64_4496
exp-diff_binary64_4559 *-inverses_binary64_4491 difference-of-sqr-1_binary64_4481 distribute-rgt-neg-out_binary64_4471 distribute-lft1-in_binary64_4466
unpow2_binary64_4576 unpow1_binary64_4569 exp-sqrt_binary64_4564 1-exp_binary64_4555 exp-1-e_binary64_4554 rem-log-exp_binary64_4552 sqr-neg_binary64_4525 rem-sqrt-square_binary64_4524 sub0-neg_binary64_4498 div0_binary64_4492 difference-of-squares_binary64_4480 cancel-sign-sub_binary64_4476 distribute-neg-out_binary64_4473 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 pow-base-0_binary64_4595 unpow1/3_binary64_4578 unpow1/2_binary64_4575 exp-to-pow_binary64_4573 unpow0_binary64_4570 unpow-1_binary64_4568 exp-lft-cube_binary64_4567 exp-lft-sqr_binary64_4566 exp-cbrt_binary64_4565 exp-neg_binary64_4558 e-exp-1_binary64_4556 exp-0_binary64_4553 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 rem-square-sqrt_binary64_4523 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 +-inverses_binary64_4490 lft-mult-inverse_binary64_4489 rgt-mult-inverse_binary64_4488 remove-double-div_binary64_4487 difference-of-sqr--1_binary64_4482 distribute-frac-neg_binary64_4474
Counts
272 → 581
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03515561
110165219
233755172
347115172

prune716.0ms (6.7%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New5810581
Fresh033
Picked011
Done022
Total5816587
Error
0b
Counts
587 → 6
Compiler

Compiled 12910 to 5307 computations (58.9% saved)

regimes527.0ms (4.9%)

Accuracy

Total 1.2b remaining (99.5%)

Threshold costs 0b (0%)

Compiler

Compiled 4324 to 3472 computations (19.7% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_4442
1-exp_binary64_4555 +-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 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
01426
11926
Proof
(* f64 (/ f64 (pow f64 (cbrt f64 h0) 2) h1) (* f64 (/ f64 h2 (+ f64 h1 1)) (/ f64 (cbrt f64 h0) h1)))

end0.0ms (0%)

sample1.4s (13%)

Algorithm
intervals
Results
266.0ms8000×body128valid
58.0ms1621×body128invalid
Compiler

Compiled 753 to 598 computations (20.6% saved)

Profiling

Loading profile data...