Details

Time bar (total: 15.7s)

analyze1.1s (6.9%)

Algorithm
search
egg-herbie
Rules
70×*-commutative_binary64_691
57×associate-/l*_binary64_705
30×associate-/r/_binary64_706
26×distribute-rgt-out_binary64_713
24×associate-*r/_binary64_702
18×associate-*r*_binary64_700
16×associate-*l/_binary64_703
12×associate-/l/_binary64_707 associate-*l*_binary64_701
+-commutative_binary64_690
distribute-rgt-in_binary64_710
distribute-lft-out_binary64_711
associate-/r*_binary64_704
swap-a1-a2
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 log-rec_binary64_848 log-div_binary64_847 log-prod_binary64_846 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow3_binary64_826 unpow2_binary64_825 unpow1/2_binary64_824 pow-plus_binary64_823 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow1_binary64_818 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 exp-prod_binary64_812 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 1-exp_binary64_804 exp-1-e_binary64_803 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-unmult_binary64_797 cube-mult_binary64_790 cube-div_binary64_789 cube-prod_binary64_788 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 times-frac_binary64_766 div-sub_binary64_765 neg-mul-1_binary64_756 neg-sub0_binary64_755 unsub-neg_binary64_754 sub-neg_binary64_753 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 pow-sqr_binary64_733 sqr-pow_binary64_732 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 unswap-sqr_binary64_728 swap-sqr_binary64_727 cancel-sign-sub-inv_binary64_726 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-neg-in_binary64_721 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719 distribute-rgt-neg-in_binary64_718 distribute-lft-neg-in_binary64_717 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 distribute-rgt-out--_binary64_714 distribute-lft-out--_binary64_712 distribute-lft-in_binary64_709 count-2_binary64_708 associate--r-_binary64_699 associate--l-_binary64_698 associate--l+_binary64_697 associate--r+_binary64_696 associate-+l-_binary64_695 associate-+r-_binary64_694 associate-+l+_binary64_693 associate-+r+_binary64_692
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02580
16580
212080
317480
422880
525880
628580
727980
827980
033
133
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
25%74.9%0.1%8
25%74.9%0.1%9
25%64%11.1%10
31.2%54.6%14.2%11
39%44.1%16.9%12
39%41.5%19.5%13
42.9%37%20.1%14
Symmetry

(sort a1 a2)

Compiler

Compiled 20 to 16 computations (20% saved)

sample86.0ms (0.5%)

Algorithm
intervals
Results
17.0ms42×body1024invalid
16.0ms48×body1024valid
11.0ms155×body128valid
7.0ms32×body512valid
4.0ms17×body512invalid
3.0ms20×body256valid
1.0msbody256invalid
1.0ms16×body128invalid
0.0msbody2048valid
Compiler

Compiled 39 to 34 computations (12.8% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
23×*-commutative_binary64_691
20×associate-/l*_binary64_705
11×associate-/r/_binary64_706
distribute-rgt-out_binary64_713 associate-*r/_binary64_702
associate-*r*_binary64_700
associate-*l/_binary64_703
associate-/l/_binary64_707 associate-*l*_binary64_701
+-commutative_binary64_690
distribute-rgt-in_binary64_710 associate-/r*_binary64_704
distribute-lft-out_binary64_711
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 log-rec_binary64_848 log-div_binary64_847 log-prod_binary64_846 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow3_binary64_826 unpow2_binary64_825 unpow1/2_binary64_824 pow-plus_binary64_823 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow1_binary64_818 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 exp-prod_binary64_812 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 1-exp_binary64_804 exp-1-e_binary64_803 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-unmult_binary64_797 cube-mult_binary64_790 cube-div_binary64_789 cube-prod_binary64_788 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 times-frac_binary64_766 div-sub_binary64_765 neg-mul-1_binary64_756 neg-sub0_binary64_755 unsub-neg_binary64_754 sub-neg_binary64_753 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 pow-sqr_binary64_733 sqr-pow_binary64_732 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 unswap-sqr_binary64_728 swap-sqr_binary64_727 cancel-sign-sub-inv_binary64_726 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-neg-in_binary64_721 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719 distribute-rgt-neg-in_binary64_718 distribute-lft-neg-in_binary64_717 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 distribute-rgt-out--_binary64_714 distribute-lft-out--_binary64_712 distribute-lft-in_binary64_709 count-2_binary64_708 associate--r-_binary64_699 associate--l-_binary64_698 associate--l+_binary64_697 associate--r+_binary64_696 associate-+l-_binary64_695 associate-+r-_binary64_694 associate-+l+_binary64_693 associate-+r+_binary64_692
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01320
12620
24620
36620
48520
59720
610820
710620
810620

prune5.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 45 to 37 computations (17.8% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
0.2b
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))

rewrite191.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
40×add-sqr-sqrt_binary64_782
38×times-frac_binary64_766
32×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
22×sqrt-prod_binary64_776 associate-*r*_binary64_700
10×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
associate-/r*_binary64_704
pow1_binary64_821 add-log-exp_binary64_799
associate-/l*_binary64_705 unswap-sqr_binary64_728 associate-*l*_binary64_701
div-exp_binary64_811 cbrt-undiv_binary64_794 div-inv_binary64_757 flip3-+_binary64_763 associate-/l/_binary64_707 flip-+_binary64_734 prod-exp_binary64_809 cbrt-unprod_binary64_793
frac-2neg_binary64_771 clear-num_binary64_759 pow-prod-down_binary64_831 associate-*r/_binary64_702 *-commutative_binary64_691 sum-log_binary64_851 +-commutative_binary64_690
Counts
3 → 94
Calls

3 calls:

13.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
8.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
4.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
Compiler

Compiled 2096 to 762 computations (63.6% saved)

series1.1s (6.7%)

Error
0.3b
Counts
3 → 42
Calls

3 calls:

631.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
269.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
124.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
Compiler

Compiled 1297 to 1213 computations (6.5% saved)

simplify129.0ms (0.8%)

Algorithm
egg-herbie
Rules
367×sub-neg_binary64_753
341×unswap-sqr_binary64_728
336×associate-/l*_binary64_705
303×*-commutative_binary64_691
272×associate-*r/_binary64_702
269×associate-*l/_binary64_703
169×associate--l+_binary64_697
153×distribute-rgt-in_binary64_710
148×associate-+l+_binary64_693
138×associate--r+_binary64_696
133×distribute-lft-in_binary64_709
131×associate-/r*_binary64_704
129×associate-/r/_binary64_706
118×associate-*l*_binary64_701
115×associate-*r*_binary64_700
109×associate-/l/_binary64_707
100×cancel-sign-sub-inv_binary64_726
98×times-frac_binary64_766
96×associate-+r+_binary64_692
81×unsub-neg_binary64_754
70×sqr-pow_binary64_732
54×neg-mul-1_binary64_756 neg-sub0_binary64_755
46×*-rgt-identity_binary64_750
44×*-lft-identity_binary64_749 difference-of-squares_binary64_729
40×+-commutative_binary64_690
35×distribute-rgt-neg-in_binary64_718
30×/-rgt-identity_binary64_751
29×associate-+l-_binary64_695
28×cube-prod_binary64_788 distribute-lft-neg-in_binary64_717
26×distribute-neg-in_binary64_721 associate-+r-_binary64_694
24×log-prod_binary64_846 exp-prod_binary64_812
20×log-div_binary64_847
19×div-sub_binary64_765
18×cube-div_binary64_789
17×+-rgt-identity_binary64_745 distribute-neg-frac_binary64_724
16×distribute-rgt-out_binary64_713
15×pow-sqr_binary64_733
12×unpow3_binary64_826
10×cube-unmult_binary64_797 distribute-lft-neg-out_binary64_719
sub0-neg_binary64_747
pow-plus_binary64_823 distribute-rgt-out--_binary64_714 distribute-lft-out_binary64_711
cube-mult_binary64_790 swap-sqr_binary64_727 associate--l-_binary64_698
unpow1/2_binary64_824 rem-sqrt-square_binary64_773
log-rec_binary64_848 unpow2_binary64_825 unpow1_binary64_818 distribute-rgt-neg-out_binary64_720
remove-double-div_binary64_736
prod-exp_binary64_809 exp-sum_binary64_806 1-exp_binary64_804 exp-1-e_binary64_803 rem-square-sqrt_binary64_772 distribute-lft-out--_binary64_712
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 exp-diff_binary64_808 exp-neg_binary64_807 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 mul-1-neg_binary64_752 remove-double-neg_binary64_748 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 count-2_binary64_708 associate--r-_binary64_699
Counts
136 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01743337
14453089
214982993
341682993
450442993

prune143.0ms (0.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1197126
Fresh101
Picked101
Done000
Total1217128
Error
0b
Counts
128 → 7
Compiler

Compiled 1838 to 768 computations (58.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(*.f64 (*.f64 (cos.f64 th) (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
0.4b
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
5.1b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
5.1b
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))

rewrite525.0ms (3.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
84×sqrt-prod_binary64_776
72×times-frac_binary64_766
61×add-sqr-sqrt_binary64_782
59×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
40×associate-*r*_binary64_700
18×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
11×pow1_binary64_821
10×sqrt-div_binary64_777
associate-/l*_binary64_705 associate-/r*_binary64_704 prod-exp_binary64_809 cbrt-unprod_binary64_793
flip3-+_binary64_763 flip-+_binary64_734 associate-*r/_binary64_702
add-log-exp_binary64_799
div-exp_binary64_811 cbrt-undiv_binary64_794 pow-prod-down_binary64_831
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773 div-inv_binary64_757 associate-/l/_binary64_707 frac-times_binary64_770 associate-*l/_binary64_703
sqrt-undiv_binary64_781 frac-2neg_binary64_771 clear-num_binary64_759 associate-*l*_binary64_701 *-commutative_binary64_691
Counts
4 → 157
Calls

4 calls:

23.0ms
(*.f64 (*.f64 (cos.f64 th) (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
8.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
Compiler

Compiled 4768 to 1200 computations (74.8% saved)

series1.1s (7.2%)

Error
0b
Counts
4 → 54
Calls

4 calls:

637.0ms
(*.f64 (*.f64 (cos.f64 th) (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
209.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
117.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
115.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Compiler

Compiled 2838 to 2183 computations (23.1% saved)

simplify230.0ms (1.5%)

Algorithm
egg-herbie
Rules
794×times-frac_binary64_766
242×associate-*l*_binary64_701
214×associate-/l/_binary64_707
207×associate-*r*_binary64_700
182×distribute-rgt-in_binary64_710
174×cancel-sign-sub-inv_binary64_726
160×*-commutative_binary64_691
156×distribute-lft-in_binary64_709
139×associate-/l*_binary64_705
114×associate-*r/_binary64_702
106×sub-neg_binary64_753
97×unswap-sqr_binary64_728
87×distribute-rgt-neg-in_binary64_718
75×distribute-lft-neg-in_binary64_717
73×associate-*l/_binary64_703
57×+-commutative_binary64_690
50×distribute-neg-frac_binary64_724
45×log-prod_binary64_846 associate-/r*_binary64_704
40×cube-prod_binary64_788 sqr-pow_binary64_732
39×neg-sub0_binary64_755
35×neg-mul-1_binary64_756
34×exp-prod_binary64_812
33×unpow3_binary64_826
30×associate--l+_binary64_697
28×log-div_binary64_847 distribute-neg-in_binary64_721 associate-+l+_binary64_693
27×*-rgt-identity_binary64_750
24×cube-div_binary64_789
23×*-lft-identity_binary64_749 associate--r+_binary64_696
22×associate-+r+_binary64_692
18×swap-sqr_binary64_727
17×unsub-neg_binary64_754 associate-/r/_binary64_706
15×cube-unmult_binary64_797
14×distribute-lft-neg-out_binary64_719
13×cube-mult_binary64_790
12×difference-of-squares_binary64_729 distribute-rgt-out--_binary64_714
10×distribute-rgt-out_binary64_713
/-rgt-identity_binary64_751
pow-plus_binary64_823 associate-+r-_binary64_694
unpow1/2_binary64_824 rem-sqrt-square_binary64_773 mul-1-neg_binary64_752 pow-sqr_binary64_733 distribute-lft-out_binary64_711
unpow2_binary64_825 unpow1_binary64_818 rem-square-sqrt_binary64_772 div-sub_binary64_765 associate-+l-_binary64_695
log-rec_binary64_848 +-rgt-identity_binary64_745 distribute-rgt-neg-out_binary64_720 distribute-lft-out--_binary64_712
1-exp_binary64_804 exp-1-e_binary64_803 count-2_binary64_708
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 associate--r-_binary64_699 associate--l-_binary64_698
Counts
211 → 151
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02735812
16745509
223325413
348855413
449775413
549655413

prune172.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1501151
Fresh156
Picked011
Done000
Total1517158
Error
0b
Counts
158 → 7
Compiler

Compiled 2890 to 997 computations (65.5% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2)))
0.3b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
5.1b
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
5.1b
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))

rewrite614.0ms (3.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
149×add-sqr-sqrt_binary64_782
146×times-frac_binary64_766
127×sqrt-prod_binary64_776
90×cbrt-prod_binary64_791
87×add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
58×associate-*r*_binary64_700
27×add-exp-log_binary64_798
21×unswap-sqr_binary64_728
19×add-cbrt-cube_binary64_796
10×associate-*l*_binary64_701
associate-/r*_binary64_704
pow1_binary64_821 div-exp_binary64_811 prod-exp_binary64_809 cbrt-unprod_binary64_793 cbrt-undiv_binary64_794
sqrt-div_binary64_777 associate-/l*_binary64_705
add-log-exp_binary64_799
flip3-+_binary64_763 flip-+_binary64_734 div-inv_binary64_757
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773 associate-/l/_binary64_707
pow-prod-down_binary64_831 frac-times_binary64_770 associate-*l/_binary64_703 associate-*r/_binary64_702 *-commutative_binary64_691 frac-2neg_binary64_771 clear-num_binary64_759
Counts
4 → 226
Calls

4 calls:

39.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
9.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Compiler

Compiled 8391 to 3621 computations (56.8% saved)

series1.0s (6.5%)

Error
0b
Counts
4 → 48
Calls

4 calls:

419.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2)))
299.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
126.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
117.0ms
(sqrt.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Compiler

Compiled 3244 to 2660 computations (18% saved)

simplify346.0ms (2.2%)

Algorithm
egg-herbie
Rules
785×times-frac_binary64_766
397×associate-/r*_binary64_704
219×associate-*r/_binary64_702
213×associate-*l/_binary64_703
196×associate-/r/_binary64_706
168×associate-*l*_binary64_701
157×associate-/l*_binary64_705
152×associate-*r*_binary64_700
151×*-commutative_binary64_691
134×cancel-sign-sub-inv_binary64_726
104×neg-sub0_binary64_755
101×neg-mul-1_binary64_756
97×sub-neg_binary64_753
95×associate-/l/_binary64_707
93×distribute-rgt-neg-in_binary64_718
84×distribute-lft-neg-in_binary64_717
73×unswap-sqr_binary64_728
65×distribute-rgt-in_binary64_710
62×log-div_binary64_847
56×distribute-lft-in_binary64_709
53×log-prod_binary64_846
48×cube-prod_binary64_788
43×*-rgt-identity_binary64_750
39×cube-div_binary64_789
34×*-lft-identity_binary64_749
33×sqr-pow_binary64_732
30×distribute-neg-frac_binary64_724
24×+-commutative_binary64_690
22×exp-prod_binary64_812
20×swap-sqr_binary64_727
18×unpow3_binary64_826
17×unsub-neg_binary64_754
16×distribute-rgt-out--_binary64_714
14×cube-unmult_binary64_797 div-sub_binary64_765
12×/-rgt-identity_binary64_751
11×cube-mult_binary64_790 distribute-rgt-out_binary64_713
10×distribute-neg-in_binary64_721
associate-+l-_binary64_695
pow-plus_binary64_823 distribute-lft-neg-out_binary64_719 associate--r+_binary64_696
rem-sqrt-square_binary64_773 difference-of-squares_binary64_729 associate-+r-_binary64_694
associate--l+_binary64_697 associate-+l+_binary64_693
pow-sqr_binary64_733
log-rec_binary64_848 mul-1-neg_binary64_752
unpow1/2_binary64_824 rem-square-sqrt_binary64_772 distribute-lft-out--_binary64_712
log-pow_binary64_849 unpow2_binary64_825 unpow1_binary64_818 +-rgt-identity_binary64_745 count-2_binary64_708
unpow1/3_binary64_827 1-exp_binary64_804 exp-1-e_binary64_803 rem-3cbrt-lft_binary64_785 distribute-rgt-neg-out_binary64_720 distribute-lft-out_binary64_711 associate--r-_binary64_699 associate-+r+_binary64_692
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 pow-base-0_binary64_844 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 prod-exp_binary64_809 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt1-in_binary64_716 distribute-lft1-in_binary64_715 associate--l-_binary64_698
Counts
274 → 252
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
025210662
16599706
223929242
346379022
449969022
549549022

prune381.0ms (2.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2520252
Fresh055
Picked011
Done011
Total2527259
Error
0b
Counts
259 → 7
Compiler

Compiled 6152 to 2857 computations (53.6% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
0.2b
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
0.4b
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))

rewrite119.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
11×add-sqr-sqrt_binary64_782
10×add-exp-log_binary64_798 add-cbrt-cube_binary64_796
add-cube-cbrt_binary64_795 *-un-lft-identity_binary64_760
times-frac_binary64_766 sqrt-prod_binary64_776 associate-/r*_binary64_704
pow1_binary64_821 add-log-exp_binary64_799
associate-*l/_binary64_703
flip3-+_binary64_763 flip-+_binary64_734 associate-*l*_binary64_701 associate-*r*_binary64_700
prod-exp_binary64_809 div-exp_binary64_811 cbrt-undiv_binary64_794 cbrt-unprod_binary64_793 associate-/l/_binary64_707
frac-2neg_binary64_771 clear-num_binary64_759 div-inv_binary64_757 associate-/l*_binary64_705 pow-prod-down_binary64_831 unswap-sqr_binary64_728 *-commutative_binary64_691 sum-log_binary64_851 +-commutative_binary64_690
Counts
3 → 60
Calls

3 calls:

9.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
7.0ms
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
4.0ms
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
Compiler

Compiled 1281 to 397 computations (69% saved)

series1.2s (7.4%)

Error
0b
Counts
3 → 48
Calls

3 calls:

631.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
384.0ms
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
118.0ms
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
Compiler

Compiled 1644 to 1488 computations (9.5% saved)

simplify132.0ms (0.8%)

Algorithm
egg-herbie
Rules
634×associate-/l*_binary64_705
361×cancel-sign-sub-inv_binary64_726
355×times-frac_binary64_766
279×distribute-rgt-in_binary64_710
254×distribute-lft-in_binary64_709
194×associate-/l/_binary64_707
163×associate-/r/_binary64_706
130×sub-neg_binary64_753
105×distribute-rgt-neg-in_binary64_718
103×associate-*l*_binary64_701
97×associate-*r*_binary64_700
96×unswap-sqr_binary64_728
92×distribute-lft-neg-in_binary64_717
74×*-commutative_binary64_691
63×+-commutative_binary64_690
58×associate--l+_binary64_697
50×distribute-neg-in_binary64_721
47×distribute-rgt-out_binary64_713
45×log-div_binary64_847
40×neg-mul-1_binary64_756 neg-sub0_binary64_755 associate-+l+_binary64_693
38×associate-+r+_binary64_692
37×log-prod_binary64_846
36×sqr-pow_binary64_732 associate-*l/_binary64_703 associate--r+_binary64_696
28×associate-*r/_binary64_702
27×unsub-neg_binary64_754
22×distribute-neg-frac_binary64_724 distribute-lft-out_binary64_711
21×exp-prod_binary64_812
17×*-rgt-identity_binary64_750 distribute-lft-neg-out_binary64_719
16×associate-/r*_binary64_704
15×cube-div_binary64_789
13×log-rec_binary64_848
12×/-rgt-identity_binary64_751 distribute-rgt-out--_binary64_714
11×*-lft-identity_binary64_749
10×cube-prod_binary64_788
exp-sum_binary64_806 pow-sqr_binary64_733 difference-of-squares_binary64_729 swap-sqr_binary64_727
cube-unmult_binary64_797
unpow3_binary64_826
div-sub_binary64_765 distribute-rgt-neg-out_binary64_720
unpow2_binary64_825 unpow1/2_binary64_824 unpow1_binary64_818 cube-mult_binary64_790 distribute-rgt1-in_binary64_716
pow-plus_binary64_823
prod-exp_binary64_809 1-exp_binary64_804 exp-1-e_binary64_803 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 distribute-lft-out--_binary64_712 associate-+l-_binary64_695 associate-+r-_binary64_694
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 pow-base-0_binary64_844 unpow1/3_binary64_827 exp-to-pow_binary64_822 pow-base-1_binary64_820 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-sqrt_binary64_813 div-exp_binary64_811 rec-exp_binary64_810 exp-diff_binary64_808 exp-neg_binary64_807 e-exp-1_binary64_805 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 mul-1-neg_binary64_752 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 *-inverses_binary64_740 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-lft1-in_binary64_715 count-2_binary64_708 associate--r-_binary64_699 associate--l-_binary64_698
Counts
108 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712493
14612188
217482050
349382050
450002050
549672050

prune83.0ms (0.5%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New96197
Fresh134
Picked011
Done022
Total977104
Error
0b
Counts
104 → 7
Compiler

Compiled 1102 to 444 computations (59.7% saved)

regimes4.3s (27.7%)

Accuracy

Total 0.3b remaining (76.8%)

Threshold costs 0.3b (76.8%)

Compiler

Compiled 49740 to 36083 computations (27.5% saved)

bsearch0.0ms (0%)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_691
+-commutative_binary64_690
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_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 unpow1_binary64_818 e-exp-1_binary64_805 1-exp_binary64_804 exp-1-e_binary64_803 exp-0_binary64_802 sqr-abs_binary64_775 sqr-neg_binary64_774 neg-mul-1_binary64_756 neg-sub0_binary64_755 unsub-neg_binary64_754 sub-neg_binary64_753 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 cancel-sign-sub-inv_binary64_726 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-neg-in_binary64_721 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719 distribute-rgt-neg-in_binary64_718 distribute-lft-neg-in_binary64_717
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01534
11734
21734

end9.0ms (0.1%)

Remove

(sort a1 a2)

Compiler

Compiled 66 to 39 computations (40.9% saved)

sample2.7s (16.9%)

Algorithm
intervals
Results
581.0ms1832×body1024valid
483.0ms1553×body1024invalid
357.0ms4806×body128valid
209.0ms904×body512valid
179.0ms801×body512invalid
68.0ms455×body256valid
59.0ms378×body256invalid
57.0ms693×body128invalid
1.0msbody2048valid
Compiler

Compiled 204 to 159 computations (22.1% saved)

Profiling

Loading profile data...