Details

Time bar (total: 781.0ms)

analyze4.0ms (0.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0.1%13
99.9%0%0.1%14
Compiler

Compiled 6 to 5 computations (16.7% saved)

sample11.0ms (1.4%)

Algorithm
intervals
Results
4.0ms256×body128valid
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify421.0ms (54%)

Algorithm
egg-herbie
Rules
730×exp-diff_binary64_12743
700×exp-prod_binary64_12747
678×times-frac_binary64_12701
586×div-sub_binary64_12700
235×unsub-neg_binary64_12689
222×associate--r-_binary64_12634
192×associate--r+_binary64_12631
191×associate-+r-_binary64_12629
177×swap-sqr_binary64_12662
174×associate--l-_binary64_12633
137×associate--l+_binary64_12632
128×associate-+l-_binary64_12630
108×associate-/r/_binary64_12641
103×pow-plus_binary64_12758
97×distribute-rgt-in_binary64_12645
93×exp-sum_binary64_12741
81×distribute-rgt1-in_binary64_12651
74×associate-/l*_binary64_12640
71×distribute-rgt-neg-in_binary64_12653
69×distribute-rgt-out--_binary64_12649 distribute-rgt-out_binary64_12648
67×cancel-sign-sub-inv_binary64_12661
56×distribute-rgt-neg-out_binary64_12655
50×associate-*l*_binary64_12636
48×associate-*r*_binary64_12635
43×distribute-frac-neg_binary64_12658 distribute-lft-neg-out_binary64_12654
41×distribute-lft-neg-in_binary64_12652
40×sub-neg_binary64_12688
37×distribute-neg-out_binary64_12657
35×neg-sub0_binary64_12690 sqr-pow_binary64_12667
32×neg-mul-1_binary64_12691
31×distribute-lft-in_binary64_12644
30×pow-sqr_binary64_12668
28×distribute-neg-in_binary64_12656 distribute-lft-out--_binary64_12647 distribute-lft-out_binary64_12646
26×*-commutative_binary64_12626
24×+-commutative_binary64_12625
22×pow-base-1_binary64_12755
20×exp-sqrt_binary64_12748
14×associate-+r+_binary64_12627
13×sqr-neg_binary64_12709 associate-/r*_binary64_12639 associate-*l/_binary64_12638
11×unswap-sqr_binary64_12663
10×exp-lft-sqr_binary64_12750 exp-neg_binary64_12742 remove-double-neg_binary64_12683
mul0-lft_binary64_12677
cube-prod_binary64_12723 *-rgt-identity_binary64_12685 *-lft-identity_binary64_12684 mul0-rgt_binary64_12678 count-2_binary64_12643
+-inverses_binary64_12674 associate-+l+_binary64_12628
cube-unmult_binary64_12732 /-rgt-identity_binary64_12686
+-rgt-identity_binary64_12680 difference-of-squares_binary64_12664
sub0-neg_binary64_12682 distribute-lft1-in_binary64_12650
cube-div_binary64_12724 +-lft-identity_binary64_12679 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659
div0_binary64_12676 *-inverses_binary64_12675
prod-exp_binary64_12744 1-exp_binary64_12739 exp-1-e_binary64_12738 --rgt-identity_binary64_12681 rgt-mult-inverse_binary64_12672 difference-of-sqr--1_binary64_12666
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_12958 erf-erfc_binary64_12957 erf-odd_binary64_12956 if-if-and-not_binary64_12955 if-if-and_binary64_12954 if-if-or-not_binary64_12953 if-if-or_binary64_12952 if-not_binary64_12951 if-same_binary64_12950 if-false_binary64_12949 if-true_binary64_12948 not-gte_binary64_12947 not-lte_binary64_12946 not-gt_binary64_12945 not-lt_binary64_12944 gte-same_binary64_12943 lte-same_binary64_12942 gt-same_binary64_12941 lt-same_binary64_12940 sinh---cosh_binary64_12887 sinh-+-cosh_binary64_12886 sinh-cosh_binary64_12885 tanh-def-c_binary64_12884 tanh-def-b_binary64_12883 tanh-def-a_binary64_12882 cosh-def_binary64_12881 sinh-def_binary64_12880 tan-neg_binary64_12827 cos-neg_binary64_12826 sin-neg_binary64_12825 tan-0_binary64_12824 cos-0_binary64_12823 sin-0_binary64_12822 hang-m-tan_binary64_12821 hang-p-tan_binary64_12820 hang-m0-tan_binary64_12819 hang-p0-tan_binary64_12818 hang-0m-tan_binary64_12817 hang-0p-tan_binary64_12816 tan-+PI/2_binary64_12815 tan-+PI_binary64_12814 tan-PI_binary64_12813 tan-PI/3_binary64_12812 tan-PI/4_binary64_12811 tan-PI/6_binary64_12810 cos-+PI/2_binary64_12809 cos-+PI_binary64_12808 cos-PI_binary64_12807 cos-PI/2_binary64_12806 cos-PI/3_binary64_12805 cos-PI/4_binary64_12804 cos-PI/6_binary64_12803 sin-+PI/2_binary64_12802 sin-+PI_binary64_12801 sin-PI_binary64_12800 sin-PI/2_binary64_12799 sin-PI/3_binary64_12798 sin-PI/4_binary64_12797 sin-PI/6_binary64_12796 sub-1-sin_binary64_12795 sub-1-cos_binary64_12794 -1-add-sin_binary64_12793 -1-add-cos_binary64_12792 1-sub-sin_binary64_12791 1-sub-cos_binary64_12790 cos-sin-sum_binary64_12789 log-E_binary64_12785 log-pow_binary64_12784 log-rec_binary64_12783 log-div_binary64_12782 log-prod_binary64_12781 pow-base-0_binary64_12779 unpow1/3_binary64_12762 unpow3_binary64_12761 unpow2_binary64_12760 unpow1/2_binary64_12759 exp-to-pow_binary64_12757 unpow0_binary64_12754 unpow1_binary64_12753 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 div-exp_binary64_12746 rec-exp_binary64_12745 e-exp-1_binary64_12740 exp-0_binary64_12737 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 cube-mult_binary64_12725 cube-neg_binary64_12722 rem-3cbrt-rft_binary64_12721 rem-3cbrt-lft_binary64_12720 rem-cbrt-cube_binary64_12719 rem-cube-cbrt_binary64_12718 sqr-abs_binary64_12710 rem-sqrt-square_binary64_12708 rem-square-sqrt_binary64_12707 mul-1-neg_binary64_12687 lft-mult-inverse_binary64_12673 remove-double-div_binary64_12671 difference-of-sqr-1_binary64_12665 associate-/l/_binary64_12642 associate-*r/_binary64_12637
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1137
2207
3317
4597
5957
61927
75427
810207
936127

prune3.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 15 to 11 computations (26.7% saved)

localize3.0ms (0.4%)

rewrite0.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
0b
Counts
0 → 0
Compiler

Compiled 0 to 0 computations (0% saved)

series0.0ms (0%)

Error
0b
Counts
0 → 0
Compiler

Compiled 0 to 0 computations (0% saved)

simplify9.0ms (1.1%)

Algorithm
egg-herbie
Rules
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_12958 erf-erfc_binary64_12957 erf-odd_binary64_12956 if-if-and-not_binary64_12955 if-if-and_binary64_12954 if-if-or-not_binary64_12953 if-if-or_binary64_12952 if-not_binary64_12951 if-same_binary64_12950 if-false_binary64_12949 if-true_binary64_12948 not-gte_binary64_12947 not-lte_binary64_12946 not-gt_binary64_12945 not-lt_binary64_12944 gte-same_binary64_12943 lte-same_binary64_12942 gt-same_binary64_12941 lt-same_binary64_12940 sinh---cosh_binary64_12887 sinh-+-cosh_binary64_12886 sinh-cosh_binary64_12885 tanh-def-c_binary64_12884 tanh-def-b_binary64_12883 tanh-def-a_binary64_12882 cosh-def_binary64_12881 sinh-def_binary64_12880 tan-neg_binary64_12827 cos-neg_binary64_12826 sin-neg_binary64_12825 tan-0_binary64_12824 cos-0_binary64_12823 sin-0_binary64_12822 hang-m-tan_binary64_12821 hang-p-tan_binary64_12820 hang-m0-tan_binary64_12819 hang-p0-tan_binary64_12818 hang-0m-tan_binary64_12817 hang-0p-tan_binary64_12816 tan-+PI/2_binary64_12815 tan-+PI_binary64_12814 tan-PI_binary64_12813 tan-PI/3_binary64_12812 tan-PI/4_binary64_12811 tan-PI/6_binary64_12810 cos-+PI/2_binary64_12809 cos-+PI_binary64_12808 cos-PI_binary64_12807 cos-PI/2_binary64_12806 cos-PI/3_binary64_12805 cos-PI/4_binary64_12804 cos-PI/6_binary64_12803 sin-+PI/2_binary64_12802 sin-+PI_binary64_12801 sin-PI_binary64_12800 sin-PI/2_binary64_12799 sin-PI/3_binary64_12798 sin-PI/4_binary64_12797 sin-PI/6_binary64_12796 sub-1-sin_binary64_12795 sub-1-cos_binary64_12794 -1-add-sin_binary64_12793 -1-add-cos_binary64_12792 1-sub-sin_binary64_12791 1-sub-cos_binary64_12790 cos-sin-sum_binary64_12789 log-E_binary64_12785 log-pow_binary64_12784 log-rec_binary64_12783 log-div_binary64_12782 log-prod_binary64_12781 pow-base-0_binary64_12779 unpow1/3_binary64_12762 unpow3_binary64_12761 unpow2_binary64_12760 unpow1/2_binary64_12759 pow-plus_binary64_12758 exp-to-pow_binary64_12757 pow-base-1_binary64_12755 unpow0_binary64_12754 unpow1_binary64_12753 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-lft-sqr_binary64_12750 exp-cbrt_binary64_12749 exp-sqrt_binary64_12748 exp-prod_binary64_12747 div-exp_binary64_12746 rec-exp_binary64_12745 prod-exp_binary64_12744 exp-diff_binary64_12743 exp-neg_binary64_12742 exp-sum_binary64_12741 e-exp-1_binary64_12740 1-exp_binary64_12739 exp-1-e_binary64_12738 exp-0_binary64_12737 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 cube-unmult_binary64_12732 cube-mult_binary64_12725 cube-div_binary64_12724 cube-prod_binary64_12723 cube-neg_binary64_12722 rem-3cbrt-rft_binary64_12721 rem-3cbrt-lft_binary64_12720 rem-cbrt-cube_binary64_12719 rem-cube-cbrt_binary64_12718 sqr-abs_binary64_12710 sqr-neg_binary64_12709 rem-sqrt-square_binary64_12708 rem-square-sqrt_binary64_12707 times-frac_binary64_12701 div-sub_binary64_12700 neg-mul-1_binary64_12691 neg-sub0_binary64_12690 unsub-neg_binary64_12689 sub-neg_binary64_12688 mul-1-neg_binary64_12687 /-rgt-identity_binary64_12686 *-rgt-identity_binary64_12685 *-lft-identity_binary64_12684 remove-double-neg_binary64_12683 sub0-neg_binary64_12682 --rgt-identity_binary64_12681 +-rgt-identity_binary64_12680 +-lft-identity_binary64_12679 mul0-rgt_binary64_12678 mul0-lft_binary64_12677 div0_binary64_12676 *-inverses_binary64_12675 +-inverses_binary64_12674 lft-mult-inverse_binary64_12673 rgt-mult-inverse_binary64_12672 remove-double-div_binary64_12671 pow-sqr_binary64_12668 sqr-pow_binary64_12667 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 difference-of-squares_binary64_12664 unswap-sqr_binary64_12663 swap-sqr_binary64_12662 cancel-sign-sub-inv_binary64_12661 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659 distribute-frac-neg_binary64_12658 distribute-neg-out_binary64_12657 distribute-neg-in_binary64_12656 distribute-rgt-neg-out_binary64_12655 distribute-lft-neg-out_binary64_12654 distribute-rgt-neg-in_binary64_12653 distribute-lft-neg-in_binary64_12652 distribute-rgt1-in_binary64_12651 distribute-lft1-in_binary64_12650 distribute-rgt-out--_binary64_12649 distribute-rgt-out_binary64_12648 distribute-lft-out--_binary64_12647 distribute-lft-out_binary64_12646 distribute-rgt-in_binary64_12645 distribute-lft-in_binary64_12644 count-2_binary64_12643 associate-/l/_binary64_12642 associate-/r/_binary64_12641 associate-/l*_binary64_12640 associate-/r*_binary64_12639 associate-*l/_binary64_12638 associate-*r/_binary64_12637 associate-*l*_binary64_12636 associate-*r*_binary64_12635 associate--r-_binary64_12634 associate--l-_binary64_12633 associate--l+_binary64_12632 associate--r+_binary64_12631 associate-+l-_binary64_12630 associate-+r-_binary64_12629 associate-+l+_binary64_12628 associate-+r+_binary64_12627 *-commutative_binary64_12626 +-commutative_binary64_12625
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000

prune1.0ms (0.2%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Error
0b
Counts
1 → 1
Compiler

Compiled 5 to 4 computations (20% saved)

simplify4.0ms (0.5%)

Algorithm
egg-herbie
Rules
neg-mul-1_binary64_12691 neg-sub0_binary64_12690 sub-neg_binary64_12688 *-rgt-identity_binary64_12685 +-commutative_binary64_12625
1-exp_binary64_12739 unsub-neg_binary64_12689 distribute-rgt-neg-out_binary64_12655 *-commutative_binary64_12626
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_12955 if-if-and_binary64_12954 if-if-or-not_binary64_12953 if-if-or_binary64_12952 if-not_binary64_12951 if-same_binary64_12950 if-false_binary64_12949 if-true_binary64_12948 tan-0_binary64_12824 cos-0_binary64_12823 sin-0_binary64_12822 unpow1_binary64_12753 e-exp-1_binary64_12740 exp-1-e_binary64_12738 exp-0_binary64_12737 sqr-abs_binary64_12710 sqr-neg_binary64_12709 mul-1-neg_binary64_12687 /-rgt-identity_binary64_12686 *-lft-identity_binary64_12684 remove-double-neg_binary64_12683 sub0-neg_binary64_12682 --rgt-identity_binary64_12681 +-rgt-identity_binary64_12680 +-lft-identity_binary64_12679 cancel-sign-sub-inv_binary64_12661 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659 distribute-frac-neg_binary64_12658 distribute-neg-out_binary64_12657 distribute-neg-in_binary64_12656 distribute-lft-neg-out_binary64_12654 distribute-rgt-neg-in_binary64_12653 distribute-lft-neg-in_binary64_12652
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
197
2137
3157
4187
5177
Proof
(=> (- f64 (+ f64 h0 h0) 1)) sub-neg_binary64_12688 => (+ f64 (+ f64 h0 h0) (=> (neg f64 1))) neg-mul-1_binary64_12691 => (+ f64 (+ f64 h0 h0) (=> (* f64 -1 1))) *-rgt-identity_binary64_12685 => (+ f64 (+ f64 h0 h0) -1)

end0.0ms (0%)

sample324.0ms (41.5%)

Algorithm
intervals
Results
122.0ms8000×body128valid
Compiler

Compiled 16 to 14 computations (12.5% saved)

Profiling

Loading profile data...