Details

Time bar (total: 2.2s)

analyze398.0ms (17.9%)

Algorithm
search
egg-herbie
Rules
23×*-commutative_binary64_12626
10×distribute-rgt-out_binary64_12648
distribute-rgt-in_binary64_12645 associate-*l*_binary64_12636 associate-*r*_binary64_12635
distribute-lft-out_binary64_12646
distribute-lft-in_binary64_12644
+-commutative_binary64_12625
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-lft-out--_binary64_12647 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--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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
13020
24920
36120
45720
55620
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
25%74.9%0.1%5
37.5%50%12.6%6
43.7%40.6%15.7%7
56.2%23.4%20.4%8
57.8%21.1%21.2%9
64%12.5%23.5%10
64.8%10.7%24.5%11
67.9%6.4%25.7%12
68.3%5.4%26.3%13
69.9%3.3%26.9%14
Compiler

Compiled 10 to 8 computations (20% saved)

sample15.0ms (0.7%)

Algorithm
intervals
Results
6.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 19 to 17 computations (10.5% saved)

simplify9.0ms (0.4%)

Algorithm
egg-herbie
Rules
16×*-commutative_binary64_12626
distribute-rgt-out_binary64_12648
associate-*l*_binary64_12636 associate-*r*_binary64_12635
distribute-rgt-in_binary64_12645
distribute-lft-out_binary64_12646
distribute-lft-in_binary64_12644 +-commutative_binary64_12625
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-lft-out--_binary64_12647 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--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
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11910
23410
34110
43910
53910

prune4.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 23 to 19 computations (17.4% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 2 (*.f64 x (+.f64 x y)))
0.0b
(*.f64 x (+.f64 x y))

rewrite54.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_12756 add-exp-log_binary64_12733 add-cbrt-cube_binary64_12731
add-sqr-sqrt_binary64_12717 *-un-lft-identity_binary64_12695
associate-*r/_binary64_12637 associate-*l*_binary64_12636
add-cube-cbrt_binary64_12730 distribute-rgt-in_binary64_12645 distribute-lft-in_binary64_12644 associate-*r*_binary64_12635
pow-prod-down_binary64_12766 prod-exp_binary64_12744 cbrt-unprod_binary64_12728
add-log-exp_binary64_12734 flip3-+_binary64_12698 flip-+_binary64_12669 *-commutative_binary64_12626
unswap-sqr_binary64_12663 distribute-lft-out_binary64_12646
Counts
2 → 47
Calls

2 calls:

8.0ms
(*.f64 2 (*.f64 x (+.f64 x y)))
7.0ms
(*.f64 x (+.f64 x y))
Compiler

Compiled 615 to 250 computations (59.3% saved)

series260.0ms (11.7%)

Error
0.0b
Counts
2 → 24
Calls

2 calls:

143.0ms
(*.f64 2 (*.f64 x (+.f64 x y)))
103.0ms
(*.f64 x (+.f64 x y))
Compiler

Compiled 480 to 393 computations (18.1% saved)

simplify126.0ms (5.7%)

Algorithm
egg-herbie
Rules
643×associate-+r+_binary64_12627
494×distribute-rgt-in_binary64_12645
493×distribute-lft-in_binary64_12644
408×unswap-sqr_binary64_12663
237×*-commutative_binary64_12626
216×sqr-pow_binary64_12667
165×+-commutative_binary64_12625
114×distribute-rgt-out_binary64_12648
110×associate-*l*_binary64_12636
108×associate-*r*_binary64_12635
98×log-div_binary64_12782
90×pow-sqr_binary64_12668
83×rem-sqrt-square_binary64_12708
81×exp-prod_binary64_12747
73×log-prod_binary64_12781
67×associate-/l*_binary64_12640
49×swap-sqr_binary64_12662
46×distribute-lft-out_binary64_12646
42×associate-+l+_binary64_12628
39×sub-neg_binary64_12688
38×neg-mul-1_binary64_12691
36×neg-sub0_binary64_12690
35×cube-prod_binary64_12723
32×*-rgt-identity_binary64_12685
28×*-lft-identity_binary64_12684
26×times-frac_binary64_12701
25×unpow3_binary64_12761 distribute-rgt-neg-in_binary64_12653
24×associate-/l/_binary64_12642
21×associate-*r/_binary64_12637
19×unsub-neg_binary64_12689
18×exp-sum_binary64_12741 distribute-lft-neg-in_binary64_12652 associate-/r/_binary64_12641
14×distribute-lft-neg-out_binary64_12654
13×cube-div_binary64_12724 associate-/r*_binary64_12639
12×unpow1/2_binary64_12759 distribute-neg-in_binary64_12656 distribute-rgt-neg-out_binary64_12655
10×log-rec_binary64_12783 prod-exp_binary64_12744
cancel-sign-sub-inv_binary64_12661 distribute-rgt1-in_binary64_12651
pow-plus_binary64_12758 exp-sqrt_binary64_12748 sub0-neg_binary64_12682 associate-+l-_binary64_12630
log-pow_binary64_12784 exp-lft-sqr_binary64_12750
cube-unmult_binary64_12732 /-rgt-identity_binary64_12686 associate--r+_binary64_12631 associate-+r-_binary64_12629
cube-mult_binary64_12725 +-rgt-identity_binary64_12680
difference-of-squares_binary64_12664 distribute-rgt-out--_binary64_12649 count-2_binary64_12643
unpow2_binary64_12760 --rgt-identity_binary64_12681
unpow1_binary64_12753 1-exp_binary64_12739 exp-1-e_binary64_12738 remove-double-neg_binary64_12683 distribute-lft1-in_binary64_12650 associate-*l/_binary64_12638 associate--l+_binary64_12632
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 pow-base-0_binary64_12779 unpow1/3_binary64_12762 exp-to-pow_binary64_12757 pow-base-1_binary64_12755 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 div-exp_binary64_12746 rec-exp_binary64_12745 exp-diff_binary64_12743 exp-neg_binary64_12742 e-exp-1_binary64_12740 exp-0_binary64_12737 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 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-square-sqrt_binary64_12707 div-sub_binary64_12700 mul-1-neg_binary64_12687 +-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 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659 distribute-frac-neg_binary64_12658 distribute-neg-out_binary64_12657 distribute-lft-out--_binary64_12647 associate--r-_binary64_12634 associate--l-_binary64_12633
Counts
71 → 51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
077765
1194681
2728681
32104681
43445681
54543681
64880681
74952681
84967681

prune33.0ms (1.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New50151
Fresh011
Picked101
Done000
Total51253
Error
0b
Counts
53 → 2
Compiler

Compiled 489 to 235 computations (51.9% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 x (*.f64 2 (+.f64 x y)))

rewrite27.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
pow1_binary64_12756 add-exp-log_binary64_12733 add-cbrt-cube_binary64_12731
distribute-rgt-in_binary64_12645 distribute-lft-in_binary64_12644 associate-*r/_binary64_12637
pow-prod-down_binary64_12766 prod-exp_binary64_12744 cbrt-unprod_binary64_12728 associate-*l*_binary64_12636
add-cube-cbrt_binary64_12730 add-sqr-sqrt_binary64_12717 *-un-lft-identity_binary64_12695
add-log-exp_binary64_12734 flip3-+_binary64_12698 flip-+_binary64_12669 associate-*r*_binary64_12635 *-commutative_binary64_12626
Counts
1 → 24
Calls

1 calls:

8.0ms
(*.f64 x (*.f64 2 (+.f64 x y)))
Compiler

Compiled 320 to 171 computations (46.6% saved)

series132.0ms (5.9%)

Error
0b
Counts
1 → 12
Calls

1 calls:

125.0ms
(*.f64 x (*.f64 2 (+.f64 x y)))
Compiler

Compiled 258 to 216 computations (16.3% saved)

simplify63.0ms (2.8%)

Algorithm
egg-herbie
Rules
658×associate-*l*_binary64_12636
463×associate-*r*_binary64_12635
393×distribute-rgt-in_binary64_12645
388×distribute-lft-in_binary64_12644
380×associate-+l+_binary64_12628
371×associate-*l/_binary64_12638
292×associate-+r+_binary64_12627
265×unswap-sqr_binary64_12663
238×distribute-rgt-out_binary64_12648
151×distribute-lft-out_binary64_12646
121×*-commutative_binary64_12626
93×sqr-pow_binary64_12667
71×exp-prod_binary64_12747
67×+-commutative_binary64_12625
36×distribute-rgt-neg-in_binary64_12653
35×swap-sqr_binary64_12662
33×distribute-lft-neg-in_binary64_12652
31×unsub-neg_binary64_12689
28×log-prod_binary64_12781
25×cube-prod_binary64_12723
22×neg-sub0_binary64_12690
21×neg-mul-1_binary64_12691
19×distribute-lft-neg-out_binary64_12654 associate-/l*_binary64_12640
18×exp-sum_binary64_12741
16×pow-sqr_binary64_12668
15×distribute-rgt-neg-out_binary64_12655
14×associate-/l/_binary64_12642
12×sub-neg_binary64_12688 distribute-neg-in_binary64_12656
11×unpow3_binary64_12761 exp-lft-sqr_binary64_12750
cube-unmult_binary64_12732
prod-exp_binary64_12744
cube-mult_binary64_12725
log-div_binary64_12782 cube-div_binary64_12724 cancel-sign-sub-inv_binary64_12661 count-2_binary64_12643
pow-plus_binary64_12758 associate-/r/_binary64_12641
unpow1_binary64_12753
log-pow_binary64_12784 associate-*r/_binary64_12637
exp-sqrt_binary64_12748 sub0-neg_binary64_12682 +-rgt-identity_binary64_12680 difference-of-squares_binary64_12664 associate-+l-_binary64_12630 associate-+r-_binary64_12629
unpow2_binary64_12760 unpow1/2_binary64_12759 1-exp_binary64_12739 rem-sqrt-square_binary64_12708 /-rgt-identity_binary64_12686 distribute-rgt1-in_binary64_12651 associate-/r*_binary64_12639
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-rec_binary64_12783 pow-base-0_binary64_12779 unpow1/3_binary64_12762 exp-to-pow_binary64_12757 pow-base-1_binary64_12755 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 div-exp_binary64_12746 rec-exp_binary64_12745 exp-diff_binary64_12743 exp-neg_binary64_12742 e-exp-1_binary64_12740 exp-1-e_binary64_12738 exp-0_binary64_12737 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 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-square-sqrt_binary64_12707 times-frac_binary64_12701 div-sub_binary64_12700 mul-1-neg_binary64_12687 *-rgt-identity_binary64_12685 *-lft-identity_binary64_12684 remove-double-neg_binary64_12683 --rgt-identity_binary64_12681 +-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 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659 distribute-frac-neg_binary64_12658 distribute-neg-out_binary64_12657 distribute-lft1-in_binary64_12650 distribute-rgt-out--_binary64_12649 distribute-lft-out--_binary64_12647 associate--r-_binary64_12634 associate--l-_binary64_12633 associate--l+_binary64_12632 associate--r+_binary64_12631
Counts
36 → 28
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
065478
1160397
2550397
32021397
43710397
55062397

prune17.0ms (0.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New28028
Fresh011
Picked011
Done000
Total28230
Error
0b
Counts
30 → 2
Compiler

Compiled 278 to 126 computations (54.7% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 2 (+.f64 (*.f64 x x) (*.f64 x y)))
0.0b
(+.f64 (*.f64 x x) (*.f64 x y))

rewrite43.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-sqr-sqrt_binary64_12717
add-log-exp_binary64_12734 pow1_binary64_12756 add-exp-log_binary64_12733 add-cbrt-cube_binary64_12731 add-cube-cbrt_binary64_12730 *-un-lft-identity_binary64_12695 associate-*r*_binary64_12635
associate-*l*_binary64_12636
flip3-+_binary64_12698 flip-+_binary64_12669 distribute-lft-out_binary64_12646 associate-*r/_binary64_12637
sum-log_binary64_12786 +-commutative_binary64_12625 pow-prod-down_binary64_12766 prod-exp_binary64_12744 cbrt-unprod_binary64_12728 unswap-sqr_binary64_12663 distribute-rgt-in_binary64_12645 distribute-lft-in_binary64_12644 *-commutative_binary64_12626
Counts
2 → 35
Calls

2 calls:

7.0ms
(*.f64 2 (+.f64 (*.f64 x x) (*.f64 x y)))
4.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 608 to 186 computations (69.4% saved)

series278.0ms (12.5%)

Error
0b
Counts
2 → 24
Calls

2 calls:

156.0ms
(*.f64 2 (+.f64 (*.f64 x x) (*.f64 x y)))
109.0ms
(+.f64 (*.f64 x x) (*.f64 x y))
Compiler

Compiled 480 to 393 computations (18.1% saved)

simplify94.0ms (4.2%)

Algorithm
egg-herbie
Rules
584×associate-*l*_binary64_12636
462×associate-*r*_binary64_12635
437×distribute-rgt-out_binary64_12648
406×distribute-lft-out_binary64_12646
216×distribute-rgt-in_binary64_12645
197×distribute-lft-in_binary64_12644
163×associate-+l+_binary64_12628
157×associate-+r+_binary64_12627
148×unswap-sqr_binary64_12663
131×*-commutative_binary64_12626
121×cancel-sign-sub-inv_binary64_12661
87×sub-neg_binary64_12688
72×exp-prod_binary64_12747
71×distribute-rgt-neg-in_binary64_12653
70×+-commutative_binary64_12625
60×unsub-neg_binary64_12689
59×distribute-lft-neg-in_binary64_12652
58×neg-mul-1_binary64_12691 sqr-pow_binary64_12667
57×neg-sub0_binary64_12690
52×cube-prod_binary64_12723
40×log-prod_binary64_12781 unpow3_binary64_12761
38×swap-sqr_binary64_12662
35×distribute-rgt-out--_binary64_12649
27×distribute-lft-neg-out_binary64_12654
26×distribute-lft-out--_binary64_12647
23×associate-+l-_binary64_12630
18×associate-+r-_binary64_12629
17×distribute-rgt-neg-out_binary64_12655
16×prod-exp_binary64_12744
14×pow-sqr_binary64_12668
13×cube-mult_binary64_12725
11×exp-sum_binary64_12741 cube-unmult_binary64_12732
difference-of-squares_binary64_12664
pow-plus_binary64_12758
associate-/l*_binary64_12640
exp-lft-sqr_binary64_12750 associate-/l/_binary64_12642 associate-*r/_binary64_12637
+-rgt-identity_binary64_12680 associate--l+_binary64_12632
log-pow_binary64_12784 unpow1_binary64_12753 distribute-neg-in_binary64_12656 associate--r+_binary64_12631
sub0-neg_binary64_12682 associate-/r/_binary64_12641
unpow1/2_binary64_12759 times-frac_binary64_12701 count-2_binary64_12643 associate-/r*_binary64_12639
unpow2_binary64_12760 1-exp_binary64_12739 rem-sqrt-square_binary64_12708
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-rec_binary64_12783 log-div_binary64_12782 pow-base-0_binary64_12779 unpow1/3_binary64_12762 exp-to-pow_binary64_12757 pow-base-1_binary64_12755 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 exp-sqrt_binary64_12748 div-exp_binary64_12746 rec-exp_binary64_12745 exp-diff_binary64_12743 exp-neg_binary64_12742 e-exp-1_binary64_12740 exp-1-e_binary64_12738 exp-0_binary64_12737 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 cube-div_binary64_12724 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-square-sqrt_binary64_12707 div-sub_binary64_12700 mul-1-neg_binary64_12687 /-rgt-identity_binary64_12686 *-rgt-identity_binary64_12685 *-lft-identity_binary64_12684 remove-double-neg_binary64_12683 --rgt-identity_binary64_12681 +-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 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 cancel-sign-sub_binary64_12660 distribute-neg-frac_binary64_12659 distribute-frac-neg_binary64_12658 distribute-neg-out_binary64_12657 distribute-rgt1-in_binary64_12651 distribute-lft1-in_binary64_12650 associate-*l/_binary64_12638 associate--r-_binary64_12634 associate--l-_binary64_12633
Counts
59 → 49
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
064676
1189610
2588610
32155610
44675610
54994610
64981610

prune30.0ms (1.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New49049
Fresh000
Picked011
Done011
Total49251
Error
0b
Counts
51 → 2
Compiler

Compiled 534 to 225 computations (57.9% saved)

regimes65.0ms (2.9%)

Accuracy

Total 0.0b remaining (72.4%)

Threshold costs 0.0b (72.4%)

Compiler

Compiled 280 to 256 computations (8.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_12626
+-commutative_binary64_12625
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 1-exp_binary64_12739 exp-1-e_binary64_12738 exp-0_binary64_12737 sqr-abs_binary64_12710 sqr-neg_binary64_12709 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 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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11010
21010

end0.0ms (0%)

sample553.0ms (24.9%)

Algorithm
intervals
Results
207.0ms8000×body128valid
3.0ms144×body128invalid
Compiler

Compiled 85 to 78 computations (8.2% saved)

Profiling

Loading profile data...