Details

Time bar (total: 1.0s)

analyze32.0ms (3.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%31.2%6.3%6
68.7%18.7%12.6%7
68.7%15.6%15.7%8
71.8%9.4%18.8%9
71.8%7.8%20.4%10
73.4%4.7%22%11
73.4%3.9%22.7%12
74.1%2.3%23.5%13
74.1%2%23.9%14
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample19.0ms (1.9%)

Algorithm
intervals
Results
10.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 13 to 13 computations (0% saved)

simplify244.0ms (23.6%)

Algorithm
egg-herbie
Rules
646×unswap-sqr_binary64_6525
478×associate-/l*_binary64_6502
362×sqr-pow_binary64_6529
333×exp-prod_binary64_6609
278×associate-/r/_binary64_6503
266×pow-sqr_binary64_6530
255×associate-*l*_binary64_6498
199×associate-*r/_binary64_6499
194×pow-plus_binary64_6620
185×associate-*l/_binary64_6500
178×cube-prod_binary64_6585
174×prod-exp_binary64_6606
145×associate-/r*_binary64_6501
130×*-commutative_binary64_6488
115×associate-*r*_binary64_6497
102×swap-sqr_binary64_6524
93×associate-/l/_binary64_6504
79×exp-sqrt_binary64_6610
62×unpow3_binary64_6623
50×cube-mult_binary64_6587
45×distribute-rgt-out_binary64_6510
33×exp-lft-sqr_binary64_6612 cube-div_binary64_6586
31×cube-unmult_binary64_6594
30×times-frac_binary64_6563
26×rem-sqrt-square_binary64_6570
13×*-lft-identity_binary64_6546
12×div-exp_binary64_6608
10×rem-square-sqrt_binary64_6569 distribute-lft-out_binary64_6508
+-commutative_binary64_6487
*-rgt-identity_binary64_6547 remove-double-div_binary64_6533 associate-+l+_binary64_6490
/-rgt-identity_binary64_6548 distribute-rgt1-in_binary64_6513
count-2_binary64_6505
rec-exp_binary64_6607
distribute-rgt-in_binary64_6507 distribute-lft-in_binary64_6506
pow-base-1_binary64_6617 *-inverses_binary64_6537
unpow1_binary64_6615 exp-sum_binary64_6603 1-exp_binary64_6601 exp-1-e_binary64_6600 neg-mul-1_binary64_6553 neg-sub0_binary64_6552 sub-neg_binary64_6550 --rgt-identity_binary64_6543 +-rgt-identity_binary64_6542 lft-mult-inverse_binary64_6535 cancel-sign-sub-inv_binary64_6523 distribute-lft-neg-in_binary64_6514 distribute-lft1-in_binary64_6512 distribute-rgt-out--_binary64_6511 associate-+r+_binary64_6489
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_6820 erf-erfc_binary64_6819 erf-odd_binary64_6818 if-if-and-not_binary64_6817 if-if-and_binary64_6816 if-if-or-not_binary64_6815 if-if-or_binary64_6814 if-not_binary64_6813 if-same_binary64_6812 if-false_binary64_6811 if-true_binary64_6810 not-gte_binary64_6809 not-lte_binary64_6808 not-gt_binary64_6807 not-lt_binary64_6806 gte-same_binary64_6805 lte-same_binary64_6804 gt-same_binary64_6803 lt-same_binary64_6802 sinh---cosh_binary64_6749 sinh-+-cosh_binary64_6748 sinh-cosh_binary64_6747 tanh-def-c_binary64_6746 tanh-def-b_binary64_6745 tanh-def-a_binary64_6744 cosh-def_binary64_6743 sinh-def_binary64_6742 tan-neg_binary64_6689 cos-neg_binary64_6688 sin-neg_binary64_6687 tan-0_binary64_6686 cos-0_binary64_6685 sin-0_binary64_6684 hang-m-tan_binary64_6683 hang-p-tan_binary64_6682 hang-m0-tan_binary64_6681 hang-p0-tan_binary64_6680 hang-0m-tan_binary64_6679 hang-0p-tan_binary64_6678 tan-+PI/2_binary64_6677 tan-+PI_binary64_6676 tan-PI_binary64_6675 tan-PI/3_binary64_6674 tan-PI/4_binary64_6673 tan-PI/6_binary64_6672 cos-+PI/2_binary64_6671 cos-+PI_binary64_6670 cos-PI_binary64_6669 cos-PI/2_binary64_6668 cos-PI/3_binary64_6667 cos-PI/4_binary64_6666 cos-PI/6_binary64_6665 sin-+PI/2_binary64_6664 sin-+PI_binary64_6663 sin-PI_binary64_6662 sin-PI/2_binary64_6661 sin-PI/3_binary64_6660 sin-PI/4_binary64_6659 sin-PI/6_binary64_6658 sub-1-sin_binary64_6657 sub-1-cos_binary64_6656 -1-add-sin_binary64_6655 -1-add-cos_binary64_6654 1-sub-sin_binary64_6653 1-sub-cos_binary64_6652 cos-sin-sum_binary64_6651 log-E_binary64_6647 log-pow_binary64_6646 log-rec_binary64_6645 log-div_binary64_6644 log-prod_binary64_6643 pow-base-0_binary64_6641 unpow1/3_binary64_6624 unpow2_binary64_6622 unpow1/2_binary64_6621 exp-to-pow_binary64_6619 unpow0_binary64_6616 unpow-1_binary64_6614 exp-lft-cube_binary64_6613 exp-cbrt_binary64_6611 exp-diff_binary64_6605 exp-neg_binary64_6604 e-exp-1_binary64_6602 exp-0_binary64_6599 rem-log-exp_binary64_6598 rem-exp-log_binary64_6597 cube-neg_binary64_6584 rem-3cbrt-rft_binary64_6583 rem-3cbrt-lft_binary64_6582 rem-cbrt-cube_binary64_6581 rem-cube-cbrt_binary64_6580 sqr-abs_binary64_6572 sqr-neg_binary64_6571 div-sub_binary64_6562 unsub-neg_binary64_6551 mul-1-neg_binary64_6549 remove-double-neg_binary64_6545 sub0-neg_binary64_6544 +-lft-identity_binary64_6541 mul0-rgt_binary64_6540 mul0-lft_binary64_6539 div0_binary64_6538 +-inverses_binary64_6536 rgt-mult-inverse_binary64_6534 difference-of-sqr--1_binary64_6528 difference-of-sqr-1_binary64_6527 difference-of-squares_binary64_6526 cancel-sign-sub_binary64_6522 distribute-neg-frac_binary64_6521 distribute-frac-neg_binary64_6520 distribute-neg-out_binary64_6519 distribute-neg-in_binary64_6518 distribute-rgt-neg-out_binary64_6517 distribute-lft-neg-out_binary64_6516 distribute-rgt-neg-in_binary64_6515 distribute-lft-out--_binary64_6509 associate--r-_binary64_6496 associate--l-_binary64_6495 associate--l+_binary64_6494 associate--r+_binary64_6493 associate-+l-_binary64_6492 associate-+r-_binary64_6491
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1129
2239
3419
4849
51909
64479
79859
826759
931979
1042769

prune4.0ms (0.3%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New202
Fresh011
Picked000
Done000
Total213
Error
0b
Counts
3 → 1
Compiler

Compiled 18 to 13 computations (27.8% saved)

localize4.0ms (0.4%)

Local error

Found 1 expressions with local error:

0.1b
(*.f64 (*.f64 x y) y)

rewrite19.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_6618 add-exp-log_binary64_6595 add-cbrt-cube_binary64_6593
pow-prod-down_binary64_6628 prod-exp_binary64_6606 cbrt-unprod_binary64_6590 associate-*r*_binary64_6497
add-cube-cbrt_binary64_6592 add-sqr-sqrt_binary64_6579 *-un-lft-identity_binary64_6557
add-log-exp_binary64_6596 associate-*l*_binary64_6498 *-commutative_binary64_6488
Counts
1 → 18
Calls

1 calls:

6.0ms
(*.f64 (*.f64 x y) y)
Compiler

Compiled 202 to 73 computations (63.9% saved)

series84.0ms (8.1%)

Error
0b
Counts
1 → 6
Calls

1 calls:

80.0ms
(*.f64 (*.f64 x y) y)
Compiler

Compiled 108 to 98 computations (9.3% saved)

simplify143.0ms (13.9%)

Algorithm
egg-herbie
Rules
356×associate-*l/_binary64_6500
350×associate-*r/_binary64_6499
287×distribute-rgt-out_binary64_6510
250×associate-+l+_binary64_6490
217×sqr-pow_binary64_6529
202×associate--r-_binary64_6496
170×associate--r+_binary64_6493
166×associate-+l-_binary64_6492
144×associate-+r-_binary64_6491
136×exp-prod_binary64_6609
130×log-prod_binary64_6643
129×cube-prod_binary64_6585
121×associate--l+_binary64_6494
119×associate--l-_binary64_6495
113×pow-sqr_binary64_6530
111×*-commutative_binary64_6488
108×log-div_binary64_6644 cube-div_binary64_6586
102×times-frac_binary64_6563 associate-*l*_binary64_6498
94×sub-neg_binary64_6550
93×distribute-rgt-in_binary64_6507
88×swap-sqr_binary64_6524
74×*-rgt-identity_binary64_6547
73×unswap-sqr_binary64_6525
71×*-lft-identity_binary64_6546
68×associate-*r*_binary64_6497
63×exp-sqrt_binary64_6610
53×cancel-sign-sub-inv_binary64_6523
52×unpow3_binary64_6623
51×associate-/r*_binary64_6501
50×distribute-lft-in_binary64_6506
48×cube-mult_binary64_6587
45×associate-/l*_binary64_6502
44×distribute-neg-in_binary64_6518
41×distribute-lft-out_binary64_6508
37×associate-/r/_binary64_6503
36×count-2_binary64_6505
30×distribute-rgt1-in_binary64_6513
25×/-rgt-identity_binary64_6548
23×exp-sum_binary64_6603
22×exp-lft-sqr_binary64_6612
21×pow-plus_binary64_6620
18×unsub-neg_binary64_6551
17×log-pow_binary64_6646
15×associate-/l/_binary64_6504
14×distribute-rgt-neg-in_binary64_6515
13×neg-mul-1_binary64_6553 distribute-lft-neg-in_binary64_6514 associate-+r+_binary64_6489
11×rem-square-sqrt_binary64_6569
rem-sqrt-square_binary64_6570 distribute-neg-frac_binary64_6521 distribute-rgt-out--_binary64_6511
log-rec_binary64_6645 neg-sub0_binary64_6552 distribute-neg-out_binary64_6519
cube-unmult_binary64_6594
exp-diff_binary64_6605 +-commutative_binary64_6487
prod-exp_binary64_6606 distribute-lft-out--_binary64_6509
distribute-lft-neg-out_binary64_6516 distribute-lft1-in_binary64_6512
exp-to-pow_binary64_6619 pow-base-1_binary64_6617 mul0-rgt_binary64_6540 distribute-rgt-neg-out_binary64_6517
unpow2_binary64_6622 unpow1_binary64_6615 div-exp_binary64_6608 1-exp_binary64_6601 exp-1-e_binary64_6600 rem-log-exp_binary64_6598 rem-exp-log_binary64_6597 +-rgt-identity_binary64_6542 mul0-lft_binary64_6539 *-inverses_binary64_6537
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_6820 erf-erfc_binary64_6819 erf-odd_binary64_6818 if-if-and-not_binary64_6817 if-if-and_binary64_6816 if-if-or-not_binary64_6815 if-if-or_binary64_6814 if-not_binary64_6813 if-same_binary64_6812 if-false_binary64_6811 if-true_binary64_6810 not-gte_binary64_6809 not-lte_binary64_6808 not-gt_binary64_6807 not-lt_binary64_6806 gte-same_binary64_6805 lte-same_binary64_6804 gt-same_binary64_6803 lt-same_binary64_6802 sinh---cosh_binary64_6749 sinh-+-cosh_binary64_6748 sinh-cosh_binary64_6747 tanh-def-c_binary64_6746 tanh-def-b_binary64_6745 tanh-def-a_binary64_6744 cosh-def_binary64_6743 sinh-def_binary64_6742 tan-neg_binary64_6689 cos-neg_binary64_6688 sin-neg_binary64_6687 tan-0_binary64_6686 cos-0_binary64_6685 sin-0_binary64_6684 hang-m-tan_binary64_6683 hang-p-tan_binary64_6682 hang-m0-tan_binary64_6681 hang-p0-tan_binary64_6680 hang-0m-tan_binary64_6679 hang-0p-tan_binary64_6678 tan-+PI/2_binary64_6677 tan-+PI_binary64_6676 tan-PI_binary64_6675 tan-PI/3_binary64_6674 tan-PI/4_binary64_6673 tan-PI/6_binary64_6672 cos-+PI/2_binary64_6671 cos-+PI_binary64_6670 cos-PI_binary64_6669 cos-PI/2_binary64_6668 cos-PI/3_binary64_6667 cos-PI/4_binary64_6666 cos-PI/6_binary64_6665 sin-+PI/2_binary64_6664 sin-+PI_binary64_6663 sin-PI_binary64_6662 sin-PI/2_binary64_6661 sin-PI/3_binary64_6660 sin-PI/4_binary64_6659 sin-PI/6_binary64_6658 sub-1-sin_binary64_6657 sub-1-cos_binary64_6656 -1-add-sin_binary64_6655 -1-add-cos_binary64_6654 1-sub-sin_binary64_6653 1-sub-cos_binary64_6652 cos-sin-sum_binary64_6651 log-E_binary64_6647 pow-base-0_binary64_6641 unpow1/3_binary64_6624 unpow1/2_binary64_6621 unpow0_binary64_6616 unpow-1_binary64_6614 exp-lft-cube_binary64_6613 exp-cbrt_binary64_6611 rec-exp_binary64_6607 exp-neg_binary64_6604 e-exp-1_binary64_6602 exp-0_binary64_6599 cube-neg_binary64_6584 rem-3cbrt-rft_binary64_6583 rem-3cbrt-lft_binary64_6582 rem-cbrt-cube_binary64_6581 rem-cube-cbrt_binary64_6580 sqr-abs_binary64_6572 sqr-neg_binary64_6571 div-sub_binary64_6562 mul-1-neg_binary64_6549 remove-double-neg_binary64_6545 sub0-neg_binary64_6544 --rgt-identity_binary64_6543 +-lft-identity_binary64_6541 div0_binary64_6538 +-inverses_binary64_6536 lft-mult-inverse_binary64_6535 rgt-mult-inverse_binary64_6534 remove-double-div_binary64_6533 difference-of-sqr--1_binary64_6528 difference-of-sqr-1_binary64_6527 difference-of-squares_binary64_6526 cancel-sign-sub_binary64_6522 distribute-frac-neg_binary64_6520
Counts
24 → 30
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037245
193200
2323200
3489200
41864200
52722200

prune19.0ms (1.8%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New30030
Fresh000
Picked011
Done000
Total30131
Error
0b
Counts
31 → 1
Compiler

Compiled 329 to 83 computations (74.8% saved)

simplify3.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_6488
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_6817 if-if-and_binary64_6816 if-if-or-not_binary64_6815 if-if-or_binary64_6814 if-not_binary64_6813 if-same_binary64_6812 if-false_binary64_6811 if-true_binary64_6810 tan-0_binary64_6686 cos-0_binary64_6685 sin-0_binary64_6684 unpow1_binary64_6615 e-exp-1_binary64_6602 1-exp_binary64_6601 exp-1-e_binary64_6600 exp-0_binary64_6599 sqr-abs_binary64_6572 sqr-neg_binary64_6571 neg-mul-1_binary64_6553 neg-sub0_binary64_6552 unsub-neg_binary64_6551 sub-neg_binary64_6550 mul-1-neg_binary64_6549 /-rgt-identity_binary64_6548 *-rgt-identity_binary64_6547 *-lft-identity_binary64_6546 remove-double-neg_binary64_6545 sub0-neg_binary64_6544 --rgt-identity_binary64_6543 +-rgt-identity_binary64_6542 +-lft-identity_binary64_6541 cancel-sign-sub-inv_binary64_6523 cancel-sign-sub_binary64_6522 distribute-neg-frac_binary64_6521 distribute-frac-neg_binary64_6520 distribute-neg-out_binary64_6519 distribute-neg-in_binary64_6518 distribute-rgt-neg-out_binary64_6517 distribute-lft-neg-out_binary64_6516 distribute-rgt-neg-in_binary64_6515 distribute-lft-neg-in_binary64_6514 +-commutative_binary64_6487
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
189
Proof
(exp f64 (=> (* f64 (* f64 h0 h1) h1))) *-commutative_binary64_6488 => (exp f64 (* f64 h1 (* f64 h0 h1)))

end0.0ms (0%)

sample462.0ms (44.7%)

Algorithm
intervals
Results
190.0ms8000×body128valid
3.0ms129×body128invalid
Compiler

Compiled 19 to 18 computations (5.3% saved)

Profiling

Loading profile data...