Details

Time bar (total: 20.7s)

analyze286.0ms (1.4%)

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
50%50%0.1%5
50%50%0.1%6
62.4%34.3%3.2%7
62.4%32.8%4.8%8
68.7%21.1%10.2%9
68.7%19.1%12.2%10
71.8%11.5%16.7%11
71.8%10.2%18%12
73.4%6%20.6%13
73.4%5.3%21.3%14
Compiler

Compiled 6 to 5 computations (16.7% saved)

sample15.0ms (0.1%)

Algorithm
intervals
Results
5.0ms256×body128valid
0.0ms17×body128invalid
Compiler

Compiled 11 to 11 computations (0% saved)

simplify154.0ms (0.7%)

Algorithm
egg-herbie
Rules
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-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-*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
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
177

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 5 to 4 computations (20% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

10.0b
(/.f64 x (*.f64 y y))

rewrite28.0ms (0.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-exp-log_binary64_12733 add-cbrt-cube_binary64_12731
add-cube-cbrt_binary64_12730 add-sqr-sqrt_binary64_12717 times-frac_binary64_12701 *-un-lft-identity_binary64_12695 associate-/l*_binary64_12640
div-exp_binary64_12746 cbrt-undiv_binary64_12729
pow1_binary64_12756 prod-exp_binary64_12744 add-log-exp_binary64_12734 cbrt-unprod_binary64_12728 frac-2neg_binary64_12706 clear-num_binary64_12694 div-inv_binary64_12692 associate-/r*_binary64_12639
Counts
1 → 21
Calls

1 calls:

5.0ms
(/.f64 x (*.f64 y y))
Compiler

Compiled 214 to 66 computations (69.2% saved)

series107.0ms (0.5%)

Error
10.2b
Counts
1 → 6
Calls

1 calls:

104.0ms
(/.f64 x (*.f64 y y))
Compiler

Compiled 90 to 80 computations (11.1% saved)

simplify135.0ms (0.7%)

Algorithm
egg-herbie
Rules
770×times-frac_binary64_12701
560×unswap-sqr_binary64_12663
330×associate-/l*_binary64_12640
303×associate-/l/_binary64_12642
297×associate-/r*_binary64_12639
264×distribute-rgt-in_binary64_12645
205×distribute-lft-in_binary64_12644
187×cancel-sign-sub-inv_binary64_12661
166×associate-*l*_binary64_12636
140×associate-*l/_binary64_12638
111×sqr-pow_binary64_12667
106×distribute-rgt-out_binary64_12648
101×associate-/r/_binary64_12641
99×associate-*r*_binary64_12635
90×sub-neg_binary64_12688
81×associate-*r/_binary64_12637
80×div-sub_binary64_12700
69×pow-sqr_binary64_12668
67×distribute-rgt-neg-in_binary64_12653
64×distribute-lft-neg-in_binary64_12652
54×distribute-rgt-out--_binary64_12649
46×distribute-neg-in_binary64_12656
42×pow-plus_binary64_12758
40×log-prod_binary64_12781
38×associate--r-_binary64_12634
35×neg-mul-1_binary64_12691 unsub-neg_binary64_12689
34×neg-sub0_binary64_12690
33×cube-prod_binary64_12723 distribute-lft-out_binary64_12646
24×associate-+l+_binary64_12628 *-commutative_binary64_12626
23×swap-sqr_binary64_12662 associate--r+_binary64_12631
20×cube-div_binary64_12724 distribute-neg-frac_binary64_12659 distribute-rgt1-in_binary64_12651
19×log-div_binary64_12782 distribute-rgt-neg-out_binary64_12655 distribute-lft-neg-out_binary64_12654
18×unpow3_binary64_12761 *-rgt-identity_binary64_12685 *-lft-identity_binary64_12684 associate--l+_binary64_12632
16×log-pow_binary64_12784 cube-unmult_binary64_12732 associate-+l-_binary64_12630
14×count-2_binary64_12643
13×distribute-lft-out--_binary64_12647 associate-+r+_binary64_12627 +-commutative_binary64_12625
10×exp-prod_binary64_12747
div-exp_binary64_12746
prod-exp_binary64_12744 cube-mult_binary64_12725 sub0-neg_binary64_12682
--rgt-identity_binary64_12681 mul0-rgt_binary64_12678
+-rgt-identity_binary64_12680 mul0-lft_binary64_12677 associate-+r-_binary64_12629
/-rgt-identity_binary64_12686 associate--l-_binary64_12633
remove-double-neg_binary64_12683 distribute-neg-out_binary64_12657
rec-exp_binary64_12745 distribute-lft1-in_binary64_12650
unpow2_binary64_12760 unpow1_binary64_12753 exp-lft-sqr_binary64_12750 exp-sqrt_binary64_12748 exp-sum_binary64_12741 1-exp_binary64_12739 sqr-neg_binary64_12709 +-lft-identity_binary64_12679 *-inverses_binary64_12675 rgt-mult-inverse_binary64_12672
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 unpow1/2_binary64_12759 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-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 rem-sqrt-square_binary64_12708 rem-square-sqrt_binary64_12707 mul-1-neg_binary64_12687 div0_binary64_12676 +-inverses_binary64_12674 lft-mult-inverse_binary64_12673 remove-double-div_binary64_12671 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 difference-of-squares_binary64_12664 cancel-sign-sub_binary64_12660 distribute-frac-neg_binary64_12658
Counts
27 → 30
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
044289
193244
2261244
3559244
42290244
53765244

prune29.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New24630
Fresh000
Picked011
Done000
Total24731
Error
0.0b
Counts
31 → 7
Compiler

Compiled 326 to 101 computations (69% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

0.2b
(/.f64 y (/.f64 x y))
0.5b
(/.f64 1 (/.f64 y (/.f64 x y)))

rewrite360.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
471×times-frac_binary64_12701
229×add-cube-cbrt_binary64_12730 add-sqr-sqrt_binary64_12717 *-un-lft-identity_binary64_12695
57×associate-/r*_binary64_12639
28×add-exp-log_binary64_12733
22×div-inv_binary64_12692
18×div-exp_binary64_12746
16×add-cbrt-cube_binary64_12731
cbrt-undiv_binary64_12729
associate-/r/_binary64_12641 associate-/l*_binary64_12640
pow1_binary64_12756 1-exp_binary64_12739 rec-exp_binary64_12745
add-log-exp_binary64_12734 frac-2neg_binary64_12706 clear-num_binary64_12694
inv-pow_binary64_12780 pow-flip_binary64_12769
Counts
2 → 274
Calls

2 calls:

18.0ms
(/.f64 1 (/.f64 y (/.f64 x y)))
6.0ms
(/.f64 y (/.f64 x y))
Compiler

Compiled 5275 to 1993 computations (62.2% saved)

series191.0ms (0.9%)

Error
0.0b
Counts
2 → 12
Calls

2 calls:

94.0ms
(/.f64 y (/.f64 x y))
91.0ms
(/.f64 1 (/.f64 y (/.f64 x y)))
Compiler

Compiled 216 to 194 computations (10.2% saved)

simplify4.0s (19.5%)

Algorithm
egg-herbie
Rules
961×div-sub_binary64_12700
434×associate-/r/_binary64_12641
373×associate-/l*_binary64_12640
366×associate-/l/_binary64_12642
334×times-frac_binary64_12701
276×associate-*r/_binary64_12637
246×associate-*l/_binary64_12638
232×associate-/r*_binary64_12639
204×*-commutative_binary64_12626
152×unswap-sqr_binary64_12663
106×associate-*l*_binary64_12636
98×exp-prod_binary64_12747
91×associate-*r*_binary64_12635
85×log-prod_binary64_12781
76×distribute-rgt-in_binary64_12645
65×cancel-sign-sub-inv_binary64_12661
60×log-div_binary64_12782
59×cube-prod_binary64_12723
57×unsub-neg_binary64_12689
55×exp-sum_binary64_12741
54×distribute-lft-in_binary64_12644
52×sqr-pow_binary64_12667
49×distribute-rgt-neg-in_binary64_12653
48×swap-sqr_binary64_12662
47×*-rgt-identity_binary64_12685
46×cube-div_binary64_12724
42×distribute-neg-frac_binary64_12659
41×distribute-lft-neg-in_binary64_12652
37×associate--l-_binary64_12633
35×neg-mul-1_binary64_12691
34×sub-neg_binary64_12688 associate-+l-_binary64_12630
33×exp-diff_binary64_12743
32×*-lft-identity_binary64_12684
31×remove-double-div_binary64_12671
30×exp-to-pow_binary64_12757
29×/-rgt-identity_binary64_12686
26×neg-sub0_binary64_12690
25×associate--r+_binary64_12631
22×log-pow_binary64_12784 pow-sqr_binary64_12668 associate-+r-_binary64_12629
21×associate--r-_binary64_12634
19×log-rec_binary64_12783 pow-plus_binary64_12758
17×associate-+r+_binary64_12627
16×associate--l+_binary64_12632
15×cube-unmult_binary64_12732 +-commutative_binary64_12625
14×distribute-neg-out_binary64_12657 distribute-lft-neg-out_binary64_12654 distribute-rgt-out_binary64_12648
13×unpow3_binary64_12761 associate-+l+_binary64_12628
11×distribute-rgt-out--_binary64_12649
10×distribute-rgt-neg-out_binary64_12655
sqr-neg_binary64_12709 sub0-neg_binary64_12682 mul0-lft_binary64_12677 distribute-neg-in_binary64_12656
cube-mult_binary64_12725 rem-sqrt-square_binary64_12708 mul0-rgt_binary64_12678
div0_binary64_12676 distribute-lft-out--_binary64_12647
count-2_binary64_12643
pow-base-1_binary64_12755 exp-neg_binary64_12742 +-lft-identity_binary64_12679 distribute-rgt1-in_binary64_12651 distribute-lft-out_binary64_12646
exp-sqrt_binary64_12748 cube-neg_binary64_12722
cancel-sign-sub_binary64_12660
unpow2_binary64_12760 unpow1_binary64_12753 exp-lft-sqr_binary64_12750 div-exp_binary64_12746 rec-exp_binary64_12745 prod-exp_binary64_12744 1-exp_binary64_12739 exp-1-e_binary64_12738 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 rem-3cbrt-rft_binary64_12721 rem-3cbrt-lft_binary64_12720 rem-cbrt-cube_binary64_12719 rem-square-sqrt_binary64_12707 remove-double-neg_binary64_12683 *-inverses_binary64_12675 rgt-mult-inverse_binary64_12672 distribute-frac-neg_binary64_12658
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 unpow1/2_binary64_12759 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 e-exp-1_binary64_12740 exp-0_binary64_12737 rem-cube-cbrt_binary64_12718 sqr-abs_binary64_12710 mul-1-neg_binary64_12687 --rgt-identity_binary64_12681 +-rgt-identity_binary64_12680 +-inverses_binary64_12674 lft-mult-inverse_binary64_12673 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 difference-of-squares_binary64_12664 distribute-lft1-in_binary64_12650
Counts
286 → 2350
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04187488
18766962
231085071
323705071
434215071

prune3.4s (16.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New234642350
Fresh325
Picked101
Done011
Total235072357
Error
0b
Counts
2357 → 7
Compiler

Compiled 48905 to 16790 computations (65.7% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

0.2b
(/.f64 (/.f64 x y) y)

rewrite61.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×times-frac_binary64_12701
43×add-cube-cbrt_binary64_12730 add-sqr-sqrt_binary64_12717 *-un-lft-identity_binary64_12695
13×associate-/l*_binary64_12640
add-exp-log_binary64_12733 add-cbrt-cube_binary64_12731
div-inv_binary64_12692
div-exp_binary64_12746 cbrt-undiv_binary64_12729 associate-/r*_binary64_12639
pow1_binary64_12756 add-log-exp_binary64_12734 frac-2neg_binary64_12706 clear-num_binary64_12694 associate-/l/_binary64_12642
Counts
1 → 70
Calls

1 calls:

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

Compiled 1011 to 278 computations (72.5% saved)

series105.0ms (0.5%)

Error
0b
Counts
1 → 6
Calls

1 calls:

100.0ms
(/.f64 (/.f64 x y) y)
Compiler

Compiled 90 to 80 computations (11.1% saved)

simplify281.0ms (1.4%)

Algorithm
egg-herbie
Rules
465×times-frac_binary64_12701
341×*-commutative_binary64_12626
308×associate-/l/_binary64_12642
229×associate-/l*_binary64_12640
187×associate-/r*_binary64_12639
186×cancel-sign-sub-inv_binary64_12661
167×distribute-rgt-in_binary64_12645
158×associate--l-_binary64_12633
151×associate--r-_binary64_12634
150×associate--l+_binary64_12632
134×associate-/r/_binary64_12641
131×log-prod_binary64_12781
121×unswap-sqr_binary64_12663
111×distribute-lft-in_binary64_12644
108×cube-prod_binary64_12723
97×associate-*l/_binary64_12638
91×log-div_binary64_12782
87×sqr-pow_binary64_12667
86×associate-*r/_binary64_12637
82×distribute-rgt-neg-in_binary64_12653
81×div-sub_binary64_12700
80×sub-neg_binary64_12688
77×distribute-rgt-out_binary64_12648
75×associate-*l*_binary64_12636
73×swap-sqr_binary64_12662
72×cube-div_binary64_12724
71×distribute-rgt-out--_binary64_12649
67×distribute-lft-neg-in_binary64_12652
60×distribute-lft-out_binary64_12646
48×distribute-lft-out--_binary64_12647
45×distribute-neg-frac_binary64_12659
41×pow-sqr_binary64_12668
39×exp-prod_binary64_12747
37×neg-mul-1_binary64_12691
32×pow-plus_binary64_12758 neg-sub0_binary64_12690
31×distribute-neg-in_binary64_12656
29×*-rgt-identity_binary64_12685
28×associate-*r*_binary64_12635
27×/-rgt-identity_binary64_12686
26×unpow3_binary64_12761 *-lft-identity_binary64_12684
23×cube-mult_binary64_12725
20×log-pow_binary64_12784 unsub-neg_binary64_12689
19×associate-+l-_binary64_12630
16×div-exp_binary64_12746 prod-exp_binary64_12744
15×log-rec_binary64_12783 cube-unmult_binary64_12732
13×distribute-rgt1-in_binary64_12651
11×count-2_binary64_12643
10×exp-to-pow_binary64_12757 distribute-rgt-neg-out_binary64_12655
sub0-neg_binary64_12682 distribute-lft-neg-out_binary64_12654 associate-+r-_binary64_12629
distribute-neg-out_binary64_12657 associate--r+_binary64_12631
+-commutative_binary64_12625
exp-diff_binary64_12743 +-lft-identity_binary64_12679
rem-sqrt-square_binary64_12708
rec-exp_binary64_12745 exp-sum_binary64_12741 associate-+l+_binary64_12628
exp-lft-sqr_binary64_12750 exp-sqrt_binary64_12748 div0_binary64_12676 distribute-frac-neg_binary64_12658 distribute-lft1-in_binary64_12650
remove-double-neg_binary64_12683 --rgt-identity_binary64_12681 +-inverses_binary64_12674 associate-+r+_binary64_12627
unpow2_binary64_12760 pow-base-1_binary64_12755 unpow1_binary64_12753 1-exp_binary64_12739 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 rem-3cbrt-rft_binary64_12721 rem-3cbrt-lft_binary64_12720 sqr-neg_binary64_12709 rem-square-sqrt_binary64_12707 *-inverses_binary64_12675 rgt-mult-inverse_binary64_12672 remove-double-div_binary64_12671 cancel-sign-sub_binary64_12660
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 unpow1/2_binary64_12759 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 exp-neg_binary64_12742 e-exp-1_binary64_12740 exp-1-e_binary64_12738 exp-0_binary64_12737 cube-neg_binary64_12722 rem-cbrt-cube_binary64_12719 rem-cube-cbrt_binary64_12718 sqr-abs_binary64_12710 mul-1-neg_binary64_12687 +-rgt-identity_binary64_12680 mul0-rgt_binary64_12678 mul0-lft_binary64_12677 lft-mult-inverse_binary64_12673 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 difference-of-squares_binary64_12664
Counts
76 → 243
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01411330
12991229
26291157
317211157
426171157

prune180.0ms (0.9%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2421243
Fresh235
Picked011
Done011
Total2446250
Error
0b
Counts
250 → 6
Compiler

Compiled 3954 to 647 computations (83.6% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x)) (/.f64 1 y))
0.3b
(/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x))

rewrite212.0ms (1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
91×add-exp-log_binary64_12733
77×times-frac_binary64_12701
55×add-sqr-sqrt_binary64_12717
43×add-cbrt-cube_binary64_12731
40×div-exp_binary64_12746
34×*-un-lft-identity_binary64_12695
31×add-cube-cbrt_binary64_12730
30×prod-exp_binary64_12744
23×cbrt-undiv_binary64_12729
18×associate-*l*_binary64_12636
16×cbrt-unprod_binary64_12728
13×associate-/r*_binary64_12639 associate-*r*_binary64_12635
unswap-sqr_binary64_12663
div-inv_binary64_12692
1-exp_binary64_12739 rec-exp_binary64_12745
pow1_binary64_12756
add-log-exp_binary64_12734 associate-/r/_binary64_12641
frac-2neg_binary64_12706 clear-num_binary64_12694 associate-/l*_binary64_12640 pow-prod-down_binary64_12766 frac-times_binary64_12705 un-div-inv_binary64_12693 associate-*l/_binary64_12638 associate-*r/_binary64_12637 *-commutative_binary64_12626
Counts
2 → 129
Calls

2 calls:

18.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x)) (/.f64 1 y))
9.0ms
(/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x))
Compiler

Compiled 2802 to 1779 computations (36.5% saved)

series187.0ms (0.9%)

Error
0b
Counts
2 → 12
Calls

2 calls:

109.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x)) (/.f64 1 y))
72.0ms
(/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (/.f64 y x))
Compiler

Compiled 216 to 171 computations (20.8% saved)

simplify7.8s (37.6%)

Algorithm
egg-herbie
Rules
393×div-sub_binary64_12700
338×distribute-lft-out--_binary64_12647
337×distribute-lft-out_binary64_12646
304×*-commutative_binary64_12626
214×unswap-sqr_binary64_12663
207×associate-/l*_binary64_12640
199×associate-*l/_binary64_12638
166×associate-*l*_binary64_12636
152×associate-*r/_binary64_12637
150×cancel-sign-sub-inv_binary64_12661
137×associate-/r/_binary64_12641
134×associate-/l/_binary64_12642
124×distribute-rgt-neg-out_binary64_12655
119×distribute-lft-neg-out_binary64_12654
111×distribute-rgt-out--_binary64_12649
108×sqr-pow_binary64_12667
96×distribute-rgt-out_binary64_12648
82×distribute-frac-neg_binary64_12658
81×associate-*r*_binary64_12635
74×times-frac_binary64_12701
73×sub-neg_binary64_12688
70×log-div_binary64_12782
57×*-rgt-identity_binary64_12685 pow-sqr_binary64_12668
56×unsub-neg_binary64_12689
55×log-prod_binary64_12781
51×exp-prod_binary64_12747 distribute-rgt-neg-in_binary64_12653
50×associate-/r*_binary64_12639
49×cube-div_binary64_12724
36×cube-prod_binary64_12723
34×distribute-rgt-in_binary64_12645
32×swap-sqr_binary64_12662 distribute-lft-neg-in_binary64_12652
28×/-rgt-identity_binary64_12686
27×associate--l-_binary64_12633 associate-+l-_binary64_12630
23×neg-mul-1_binary64_12691
22×exp-to-pow_binary64_12757
21×distribute-neg-in_binary64_12656
20×log-pow_binary64_12784 neg-sub0_binary64_12690 associate--r-_binary64_12634
19×pow-plus_binary64_12758
18×*-lft-identity_binary64_12684
17×log-rec_binary64_12783
15×distribute-neg-frac_binary64_12659 distribute-lft-in_binary64_12644 associate-+r-_binary64_12629
14×exp-diff_binary64_12743
13×associate--l+_binary64_12632 +-commutative_binary64_12625
12×cube-unmult_binary64_12732 associate--r+_binary64_12631
10×distribute-neg-out_binary64_12657 distribute-rgt1-in_binary64_12651
unpow3_binary64_12761 associate-+l+_binary64_12628
exp-sum_binary64_12741 sub0-neg_binary64_12682
cube-mult_binary64_12725 mul0-rgt_binary64_12678 mul0-lft_binary64_12677
rem-sqrt-square_binary64_12708
pow-base-1_binary64_12755 +-lft-identity_binary64_12679
exp-sqrt_binary64_12748 sqr-neg_binary64_12709 remove-double-neg_binary64_12683 +-inverses_binary64_12674 remove-double-div_binary64_12671 count-2_binary64_12643 associate-+r+_binary64_12627
exp-lft-sqr_binary64_12750
unpow2_binary64_12760 unpow1_binary64_12753 div-exp_binary64_12746 rec-exp_binary64_12745 prod-exp_binary64_12744 1-exp_binary64_12739 exp-1-e_binary64_12738 rem-log-exp_binary64_12736 rem-exp-log_binary64_12735 cube-neg_binary64_12722 rem-3cbrt-rft_binary64_12721 rem-cbrt-cube_binary64_12719 div0_binary64_12676 *-inverses_binary64_12675 rgt-mult-inverse_binary64_12672
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 unpow1/2_binary64_12759 unpow0_binary64_12754 unpow-1_binary64_12752 exp-lft-cube_binary64_12751 exp-cbrt_binary64_12749 exp-neg_binary64_12742 e-exp-1_binary64_12740 exp-0_binary64_12737 rem-3cbrt-lft_binary64_12720 rem-cube-cbrt_binary64_12718 sqr-abs_binary64_12710 rem-square-sqrt_binary64_12707 mul-1-neg_binary64_12687 --rgt-identity_binary64_12681 +-rgt-identity_binary64_12680 lft-mult-inverse_binary64_12673 difference-of-sqr--1_binary64_12666 difference-of-sqr-1_binary64_12665 difference-of-squares_binary64_12664 cancel-sign-sub_binary64_12660 distribute-lft1-in_binary64_12650
Counts
141 → 505
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02113015
15432316
218811435
312941435
417661435

prune638.0ms (3.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New5050505
Fresh033
Picked011
Done022
Total5056511
Error
0b
Counts
511 → 6
Compiler

Compiled 9373 to 5055 computations (46.1% saved)

regimes712.0ms (3.4%)

Accuracy

Total 0.2b remaining (99.7%)

Threshold costs 0.2b (99.7%)

Compiler

Compiled 6792 to 4625 computations (31.9% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64_12739 *-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 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 +-commutative_binary64_12625
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11112
Proof
(/ f64 (/ f64 (* f64 (cbrt f64 1) h0) h1) h1)

end0.0ms (0%)

sample1.8s (8.7%)

Algorithm
intervals
Results
156.0ms8000×body128valid
8.0ms424×body128invalid
Compiler

Compiled 1628 to 1122 computations (31.1% saved)

Profiling

Loading profile data...