Home | History | Annotate | Download | only in Inputs
      1 #define DEF_FUNC(x)                                                            \
      2   void x() {}
      3 #define DEF_2_FUNCS(x) DEF_FUNC(x##_1) DEF_FUNC(x##_2)
      4 #define DEF_4_FUNCS(x) DEF_2_FUNCS(x##_1) DEF_2_FUNCS(x##_2)
      5 #define DEF_8_FUNCS(x) DEF_4_FUNCS(x##_1) DEF_4_FUNCS(x##_2)
      6 #define DEF_16_FUNCS(x) DEF_8_FUNCS(x##_1) DEF_8_FUNCS(x##_2)
      7 #define DEF_32_FUNCS(x) DEF_16_FUNCS(x##_1) DEF_16_FUNCS(x##_2)
      8 #define DEF_64_FUNCS(x) DEF_32_FUNCS(x##_1) DEF_32_FUNCS(x##_2)
      9 #define DEF_128_FUNCS(x) DEF_64_FUNCS(x##_1) DEF_64_FUNCS(x##_2)
     10 #define DEF_256_FUNCS(x) DEF_128_FUNCS(x##_1) DEF_128_FUNCS(x##_2)
     11 #define DEF_512_FUNCS(x) DEF_256_FUNCS(x##_1) DEF_256_FUNCS(x##_2)
     12 
     13 #define FUNC_ADDR(x) &x,
     14 #define FUNC_2_ADDRS(x) FUNC_ADDR(x##_1) FUNC_ADDR(x##_2)
     15 #define FUNC_4_ADDRS(x) FUNC_2_ADDRS(x##_1) FUNC_2_ADDRS(x##_2)
     16 #define FUNC_8_ADDRS(x) FUNC_4_ADDRS(x##_1) FUNC_4_ADDRS(x##_2)
     17 #define FUNC_16_ADDRS(x) FUNC_8_ADDRS(x##_1) FUNC_8_ADDRS(x##_2)
     18 #define FUNC_32_ADDRS(x) FUNC_16_ADDRS(x##_1) FUNC_16_ADDRS(x##_2)
     19 #define FUNC_64_ADDRS(x) FUNC_32_ADDRS(x##_1) FUNC_32_ADDRS(x##_2)
     20 #define FUNC_128_ADDRS(x) FUNC_64_ADDRS(x##_1) FUNC_64_ADDRS(x##_2)
     21 #define FUNC_256_ADDRS(x) FUNC_128_ADDRS(x##_1) FUNC_128_ADDRS(x##_2)
     22 #define FUNC_512_ADDRS(x) FUNC_256_ADDRS(x##_1) FUNC_256_ADDRS(x##_2)
     23 
     24 DEF_512_FUNCS(foo)
     25 void *CalleeAddrs[] = {FUNC_512_ADDRS(foo)};
     26 
     27 typedef void (*FPT)(void);
     28 
     29 FPT getFunc(int I) { return CalleeAddrs[I]; }
     30 
     31 #ifdef SHARED_LIB
     32 int shared_entry() {
     33 #else
     34 #ifdef CALL_SHARED
     35 extern int shared_entry();
     36 #endif
     37 int main() {
     38 #endif
     39   int I;
     40   for (I = 0; I < 512; I++) {
     41     FPT Fp = getFunc(I);
     42     int J;
     43     for (J = 0; J < 1000 - I; J++)
     44       Fp();
     45 
     46     Fp = getFunc(511 - I);
     47     for (J = 0; J < 2000 - I; J++)
     48       Fp();
     49 #ifdef STRESS
     50     Fp = getFunc(I);
     51     for (J = 0; J < 2000 - I; J++)
     52       Fp();
     53 
     54     Fp = getFunc(I);
     55     for (J = 0; J < 2000 - I; J++)
     56       Fp();
     57 
     58     Fp = getFunc(I);
     59     for (J = 0; J < 2000 - I; J++)
     60       Fp();
     61 
     62     Fp = getFunc(I);
     63     for (J = 0; J < 2000 - I; J++)
     64       Fp();
     65 #endif
     66   }
     67 #ifdef CALL_SHARED
     68   shared_entry();
     69 #endif
     70   return 0;
     71 }
     72 
     73 // IR: :ir
     74 // CHECK-LABEL:  main:
     75 // CHECK:	[ 0, foo_1_1_1_1_1_1_1_1_1, 1000 ]
     76 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_1_1_2, 999 ]
     77 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_1_2_1, 998 ]
     78 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_1_2_2, 997 ]
     79 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_2_1_1, 996 ]
     80 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_2_1_2, 995 ]
     81 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_2_2_1, 994 ]
     82 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_1_2_2_2, 993 ]
     83 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_1_1_1, 992 ]
     84 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_1_1_2, 991 ]
     85 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_1_2_1, 990 ]
     86 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_1_2_2, 989 ]
     87 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_2_1_1, 988 ]
     88 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_2_1_2, 987 ]
     89 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_2_2_1, 986 ]
     90 // CHECK-NEXT:	[ 0, foo_1_1_1_1_1_2_2_2_2, 985 ]
     91 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_1_1_1, 984 ]
     92 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_1_1_2, 983 ]
     93 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_1_2_1, 982 ]
     94 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_1_2_2, 981 ]
     95 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_2_1_1, 980 ]
     96 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_2_1_2, 979 ]
     97 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_2_2_1, 978 ]
     98 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_1_2_2_2, 977 ]
     99 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_1_1_1, 976 ]
    100 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_1_1_2, 975 ]
    101 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_1_2_1, 974 ]
    102 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_1_2_2, 973 ]
    103 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_2_1_1, 972 ]
    104 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_2_1_2, 971 ]
    105 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_2_2_1, 970 ]
    106 // CHECK-NEXT:	[ 0, foo_1_1_1_1_2_2_2_2_2, 969 ]
    107 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_1_1_1, 968 ]
    108 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_1_1_2, 967 ]
    109 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_1_2_1, 966 ]
    110 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_1_2_2, 965 ]
    111 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_2_1_1, 964 ]
    112 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_2_1_2, 963 ]
    113 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_2_2_1, 962 ]
    114 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_1_2_2_2, 961 ]
    115 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_1_1_1, 960 ]
    116 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_1_1_2, 959 ]
    117 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_1_2_1, 958 ]
    118 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_1_2_2, 957 ]
    119 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_2_1_1, 956 ]
    120 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_2_1_2, 955 ]
    121 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_2_2_1, 954 ]
    122 // CHECK-NEXT:	[ 0, foo_1_1_1_2_1_2_2_2_2, 953 ]
    123 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_1_1_1, 952 ]
    124 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_1_1_2, 951 ]
    125 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_1_2_1, 950 ]
    126 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_1_2_2, 949 ]
    127 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_2_1_1, 948 ]
    128 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_2_1_2, 947 ]
    129 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_2_2_1, 946 ]
    130 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_1_2_2_2, 945 ]
    131 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_1_1_1, 944 ]
    132 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_1_1_2, 943 ]
    133 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_1_2_1, 942 ]
    134 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_1_2_2, 941 ]
    135 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_2_1_1, 940 ]
    136 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_2_1_2, 939 ]
    137 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_2_2_1, 938 ]
    138 // CHECK-NEXT:	[ 0, foo_1_1_1_2_2_2_2_2_2, 937 ]
    139 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_1_1_1, 936 ]
    140 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_1_1_2, 935 ]
    141 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_1_2_1, 934 ]
    142 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_1_2_2, 933 ]
    143 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_2_1_1, 932 ]
    144 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_2_1_2, 931 ]
    145 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_2_2_1, 930 ]
    146 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_1_2_2_2, 929 ]
    147 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_1_1_1, 928 ]
    148 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_1_1_2, 927 ]
    149 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_1_2_1, 926 ]
    150 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_1_2_2, 925 ]
    151 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_2_1_1, 924 ]
    152 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_2_1_2, 923 ]
    153 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_2_2_1, 922 ]
    154 // CHECK-NEXT:	[ 0, foo_1_1_2_1_1_2_2_2_2, 921 ]
    155 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_1_1_1, 920 ]
    156 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_1_1_2, 919 ]
    157 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_1_2_1, 918 ]
    158 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_1_2_2, 917 ]
    159 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_2_1_1, 916 ]
    160 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_2_1_2, 915 ]
    161 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_2_2_1, 914 ]
    162 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_1_2_2_2, 913 ]
    163 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_1_1_1, 912 ]
    164 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_1_1_2, 911 ]
    165 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_1_2_1, 910 ]
    166 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_1_2_2, 909 ]
    167 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_2_1_1, 908 ]
    168 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_2_1_2, 907 ]
    169 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_2_2_1, 906 ]
    170 // CHECK-NEXT:	[ 0, foo_1_1_2_1_2_2_2_2_2, 905 ]
    171 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_1_1_1, 904 ]
    172 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_1_1_2, 903 ]
    173 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_1_2_1, 902 ]
    174 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_1_2_2, 901 ]
    175 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_2_1_1, 900 ]
    176 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_2_1_2, 899 ]
    177 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_2_2_1, 898 ]
    178 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_1_2_2_2, 897 ]
    179 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_1_1_1, 896 ]
    180 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_1_1_2, 895 ]
    181 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_1_2_1, 894 ]
    182 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_1_2_2, 893 ]
    183 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_2_1_1, 892 ]
    184 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_2_1_2, 891 ]
    185 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_2_2_1, 890 ]
    186 // CHECK-NEXT:	[ 0, foo_1_1_2_2_1_2_2_2_2, 889 ]
    187 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_1_1_1, 888 ]
    188 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_1_1_2, 887 ]
    189 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_1_2_1, 886 ]
    190 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_1_2_2, 885 ]
    191 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_2_1_1, 884 ]
    192 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_2_1_2, 883 ]
    193 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_2_2_1, 882 ]
    194 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_1_2_2_2, 881 ]
    195 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_1_1_1, 880 ]
    196 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_1_1_2, 879 ]
    197 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_1_2_1, 878 ]
    198 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_1_2_2, 877 ]
    199 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_2_1_1, 876 ]
    200 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_2_1_2, 875 ]
    201 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_2_2_1, 874 ]
    202 // CHECK-NEXT:	[ 0, foo_1_1_2_2_2_2_2_2_2, 873 ]
    203 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_1_1_1, 872 ]
    204 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_1_1_2, 871 ]
    205 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_1_2_1, 870 ]
    206 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_1_2_2, 869 ]
    207 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_2_1_1, 868 ]
    208 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_2_1_2, 867 ]
    209 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_2_2_1, 866 ]
    210 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_1_2_2_2, 865 ]
    211 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_1_1_1, 864 ]
    212 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_1_1_2, 863 ]
    213 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_1_2_1, 862 ]
    214 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_1_2_2, 861 ]
    215 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_2_1_1, 860 ]
    216 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_2_1_2, 859 ]
    217 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_2_2_1, 858 ]
    218 // CHECK-NEXT:	[ 0, foo_1_2_1_1_1_2_2_2_2, 857 ]
    219 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_1_1_1, 856 ]
    220 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_1_1_2, 855 ]
    221 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_1_2_1, 854 ]
    222 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_1_2_2, 853 ]
    223 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_2_1_1, 852 ]
    224 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_2_1_2, 851 ]
    225 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_2_2_1, 850 ]
    226 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_1_2_2_2, 849 ]
    227 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_1_1_1, 848 ]
    228 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_1_1_2, 847 ]
    229 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_1_2_1, 846 ]
    230 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_1_2_2, 845 ]
    231 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_2_1_1, 844 ]
    232 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_2_1_2, 843 ]
    233 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_2_2_1, 842 ]
    234 // CHECK-NEXT:	[ 0, foo_1_2_1_1_2_2_2_2_2, 841 ]
    235 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_1_1_1, 840 ]
    236 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_1_1_2, 839 ]
    237 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_1_2_1, 838 ]
    238 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_1_2_2, 837 ]
    239 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_2_1_1, 836 ]
    240 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_2_1_2, 835 ]
    241 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_2_2_1, 834 ]
    242 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_1_2_2_2, 833 ]
    243 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_1_1_1, 832 ]
    244 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_1_1_2, 831 ]
    245 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_1_2_1, 830 ]
    246 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_1_2_2, 829 ]
    247 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_2_1_1, 828 ]
    248 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_2_1_2, 827 ]
    249 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_2_2_1, 826 ]
    250 // CHECK-NEXT:	[ 0, foo_1_2_1_2_1_2_2_2_2, 825 ]
    251 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_1_1_1, 824 ]
    252 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_1_1_2, 823 ]
    253 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_1_2_1, 822 ]
    254 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_1_2_2, 821 ]
    255 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_2_1_1, 820 ]
    256 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_2_1_2, 819 ]
    257 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_2_2_1, 818 ]
    258 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_1_2_2_2, 817 ]
    259 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_1_1_1, 816 ]
    260 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_1_1_2, 815 ]
    261 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_1_2_1, 814 ]
    262 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_1_2_2, 813 ]
    263 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_2_1_1, 812 ]
    264 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_2_1_2, 811 ]
    265 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_2_2_1, 810 ]
    266 // CHECK-NEXT:	[ 0, foo_1_2_1_2_2_2_2_2_2, 809 ]
    267 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_1_1_1, 808 ]
    268 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_1_1_2, 807 ]
    269 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_1_2_1, 806 ]
    270 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_1_2_2, 805 ]
    271 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_2_1_1, 804 ]
    272 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_2_1_2, 803 ]
    273 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_2_2_1, 802 ]
    274 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_1_2_2_2, 801 ]
    275 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_1_1_1, 800 ]
    276 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_1_1_2, 799 ]
    277 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_1_2_1, 798 ]
    278 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_1_2_2, 797 ]
    279 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_2_1_1, 796 ]
    280 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_2_1_2, 795 ]
    281 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_2_2_1, 794 ]
    282 // CHECK-NEXT:	[ 0, foo_1_2_2_1_1_2_2_2_2, 793 ]
    283 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_1_1_1, 792 ]
    284 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_1_1_2, 791 ]
    285 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_1_2_1, 790 ]
    286 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_1_2_2, 789 ]
    287 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_2_1_1, 788 ]
    288 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_2_1_2, 787 ]
    289 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_2_2_1, 786 ]
    290 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_1_2_2_2, 785 ]
    291 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_1_1_1, 784 ]
    292 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_1_1_2, 783 ]
    293 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_1_2_1, 782 ]
    294 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_1_2_2, 781 ]
    295 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_2_1_1, 780 ]
    296 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_2_1_2, 779 ]
    297 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_2_2_1, 778 ]
    298 // CHECK-NEXT:	[ 0, foo_1_2_2_1_2_2_2_2_2, 777 ]
    299 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_1_1_1, 776 ]
    300 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_1_1_2, 775 ]
    301 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_1_2_1, 774 ]
    302 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_1_2_2, 773 ]
    303 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_2_1_1, 772 ]
    304 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_2_1_2, 771 ]
    305 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_2_2_1, 770 ]
    306 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_1_2_2_2, 769 ]
    307 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_1_1_1, 768 ]
    308 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_1_1_2, 767 ]
    309 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_1_2_1, 766 ]
    310 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_1_2_2, 765 ]
    311 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_2_1_1, 764 ]
    312 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_2_1_2, 763 ]
    313 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_2_2_1, 762 ]
    314 // CHECK-NEXT:	[ 0, foo_1_2_2_2_1_2_2_2_2, 761 ]
    315 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_1_1_1, 760 ]
    316 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_1_1_2, 759 ]
    317 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_1_2_1, 758 ]
    318 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_1_2_2, 757 ]
    319 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_2_1_1, 756 ]
    320 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_2_1_2, 755 ]
    321 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_2_2_1, 754 ]
    322 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_1_2_2_2, 753 ]
    323 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_1_1_1, 752 ]
    324 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_1_1_2, 751 ]
    325 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_1_2_1, 750 ]
    326 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_1_2_2, 749 ]
    327 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_2_1_1, 748 ]
    328 // CHECK-NEXT:	[ 0, foo_1_2_2_2_2_2_2_1_2, 747 ]
    329 // CHECK-NEXT:	[ 0, foo
    330 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_2_2_2, 2000 ]
    331 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_2_2_1, 1999 ]
    332 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_2_1_2, 1998 ]
    333 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_2_1_1, 1997 ]
    334 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_1_2_2, 1996 ]
    335 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_1_2_1, 1995 ]
    336 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_1_1_2, 1994 ]
    337 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_2_1_1_1, 1993 ]
    338 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_2_2_2, 1992 ]
    339 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_2_2_1, 1991 ]
    340 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_2_1_2, 1990 ]
    341 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_2_1_1, 1989 ]
    342 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_1_2_2, 1988 ]
    343 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_1_2_1, 1987 ]
    344 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_1_1_2, 1986 ]
    345 // CHECK-NEXT:	[ 1, foo_2_2_2_2_2_1_1_1_1, 1985 ]
    346 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_2_2_2, 1984 ]
    347 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_2_2_1, 1983 ]
    348 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_2_1_2, 1982 ]
    349 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_2_1_1, 1981 ]
    350 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_1_2_2, 1980 ]
    351 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_1_2_1, 1979 ]
    352 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_1_1_2, 1978 ]
    353 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_2_1_1_1, 1977 ]
    354 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_2_2_2, 1976 ]
    355 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_2_2_1, 1975 ]
    356 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_2_1_2, 1974 ]
    357 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_2_1_1, 1973 ]
    358 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_1_2_2, 1972 ]
    359 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_1_2_1, 1971 ]
    360 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_1_1_2, 1970 ]
    361 // CHECK-NEXT:	[ 1, foo_2_2_2_2_1_1_1_1_1, 1969 ]
    362 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_2_2_2, 1968 ]
    363 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_2_2_1, 1967 ]
    364 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_2_1_2, 1966 ]
    365 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_2_1_1, 1965 ]
    366 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_1_2_2, 1964 ]
    367 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_1_2_1, 1963 ]
    368 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_1_1_2, 1962 ]
    369 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_2_1_1_1, 1961 ]
    370 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_2_2_2, 1960 ]
    371 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_2_2_1, 1959 ]
    372 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_2_1_2, 1958 ]
    373 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_2_1_1, 1957 ]
    374 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_1_2_2, 1956 ]
    375 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_1_2_1, 1955 ]
    376 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_1_1_2, 1954 ]
    377 // CHECK-NEXT:	[ 1, foo_2_2_2_1_2_1_1_1_1, 1953 ]
    378 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_2_2_2, 1952 ]
    379 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_2_2_1, 1951 ]
    380 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_2_1_2, 1950 ]
    381 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_2_1_1, 1949 ]
    382 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_1_2_2, 1948 ]
    383 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_1_2_1, 1947 ]
    384 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_1_1_2, 1946 ]
    385 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_2_1_1_1, 1945 ]
    386 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_2_2_2, 1944 ]
    387 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_2_2_1, 1943 ]
    388 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_2_1_2, 1942 ]
    389 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_2_1_1, 1941 ]
    390 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_1_2_2, 1940 ]
    391 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_1_2_1, 1939 ]
    392 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_1_1_2, 1938 ]
    393 // CHECK-NEXT:	[ 1, foo_2_2_2_1_1_1_1_1_1, 1937 ]
    394 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_2_2_2, 1936 ]
    395 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_2_2_1, 1935 ]
    396 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_2_1_2, 1934 ]
    397 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_2_1_1, 1933 ]
    398 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_1_2_2, 1932 ]
    399 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_1_2_1, 1931 ]
    400 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_1_1_2, 1930 ]
    401 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_2_1_1_1, 1929 ]
    402 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_2_2_2, 1928 ]
    403 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_2_2_1, 1927 ]
    404 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_2_1_2, 1926 ]
    405 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_2_1_1, 1925 ]
    406 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_1_2_2, 1924 ]
    407 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_1_2_1, 1923 ]
    408 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_1_1_2, 1922 ]
    409 // CHECK-NEXT:	[ 1, foo_2_2_1_2_2_1_1_1_1, 1921 ]
    410 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_2_2_2, 1920 ]
    411 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_2_2_1, 1919 ]
    412 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_2_1_2, 1918 ]
    413 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_2_1_1, 1917 ]
    414 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_1_2_2, 1916 ]
    415 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_1_2_1, 1915 ]
    416 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_1_1_2, 1914 ]
    417 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_2_1_1_1, 1913 ]
    418 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_2_2_2, 1912 ]
    419 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_2_2_1, 1911 ]
    420 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_2_1_2, 1910 ]
    421 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_2_1_1, 1909 ]
    422 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_1_2_2, 1908 ]
    423 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_1_2_1, 1907 ]
    424 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_1_1_2, 1906 ]
    425 // CHECK-NEXT:	[ 1, foo_2_2_1_2_1_1_1_1_1, 1905 ]
    426 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_2_2_2, 1904 ]
    427 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_2_2_1, 1903 ]
    428 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_2_1_2, 1902 ]
    429 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_2_1_1, 1901 ]
    430 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_1_2_2, 1900 ]
    431 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_1_2_1, 1899 ]
    432 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_1_1_2, 1898 ]
    433 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_2_1_1_1, 1897 ]
    434 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_2_2_2, 1896 ]
    435 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_2_2_1, 1895 ]
    436 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_2_1_2, 1894 ]
    437 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_2_1_1, 1893 ]
    438 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_1_2_2, 1892 ]
    439 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_1_2_1, 1891 ]
    440 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_1_1_2, 1890 ]
    441 // CHECK-NEXT:	[ 1, foo_2_2_1_1_2_1_1_1_1, 1889 ]
    442 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_2_2_2, 1888 ]
    443 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_2_2_1, 1887 ]
    444 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_2_1_2, 1886 ]
    445 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_2_1_1, 1885 ]
    446 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_1_2_2, 1884 ]
    447 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_1_2_1, 1883 ]
    448 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_1_1_2, 1882 ]
    449 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_2_1_1_1, 1881 ]
    450 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_2_2_2, 1880 ]
    451 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_2_2_1, 1879 ]
    452 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_2_1_2, 1878 ]
    453 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_2_1_1, 1877 ]
    454 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_1_2_2, 1876 ]
    455 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_1_2_1, 1875 ]
    456 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_1_1_2, 1874 ]
    457 // CHECK-NEXT:	[ 1, foo_2_2_1_1_1_1_1_1_1, 1873 ]
    458 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_2_2_2, 1872 ]
    459 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_2_2_1, 1871 ]
    460 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_2_1_2, 1870 ]
    461 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_2_1_1, 1869 ]
    462 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_1_2_2, 1868 ]
    463 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_1_2_1, 1867 ]
    464 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_1_1_2, 1866 ]
    465 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_2_1_1_1, 1865 ]
    466 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_2_2_2, 1864 ]
    467 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_2_2_1, 1863 ]
    468 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_2_1_2, 1862 ]
    469 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_2_1_1, 1861 ]
    470 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_1_2_2, 1860 ]
    471 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_1_2_1, 1859 ]
    472 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_1_1_2, 1858 ]
    473 // CHECK-NEXT:	[ 1, foo_2_1_2_2_2_1_1_1_1, 1857 ]
    474 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_2_2_2, 1856 ]
    475 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_2_2_1, 1855 ]
    476 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_2_1_2, 1854 ]
    477 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_2_1_1, 1853 ]
    478 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_1_2_2, 1852 ]
    479 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_1_2_1, 1851 ]
    480 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_1_1_2, 1850 ]
    481 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_2_1_1_1, 1849 ]
    482 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_2_2_2, 1848 ]
    483 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_2_2_1, 1847 ]
    484 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_2_1_2, 1846 ]
    485 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_2_1_1, 1845 ]
    486 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_1_2_2, 1844 ]
    487 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_1_2_1, 1843 ]
    488 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_1_1_2, 1842 ]
    489 // CHECK-NEXT:	[ 1, foo_2_1_2_2_1_1_1_1_1, 1841 ]
    490 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_2_2_2, 1840 ]
    491 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_2_2_1, 1839 ]
    492 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_2_1_2, 1838 ]
    493 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_2_1_1, 1837 ]
    494 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_1_2_2, 1836 ]
    495 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_1_2_1, 1835 ]
    496 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_1_1_2, 1834 ]
    497 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_2_1_1_1, 1833 ]
    498 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_2_2_2, 1832 ]
    499 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_2_2_1, 1831 ]
    500 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_2_1_2, 1830 ]
    501 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_2_1_1, 1829 ]
    502 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_1_2_2, 1828 ]
    503 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_1_2_1, 1827 ]
    504 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_1_1_2, 1826 ]
    505 // CHECK-NEXT:	[ 1, foo_2_1_2_1_2_1_1_1_1, 1825 ]
    506 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_2_2_2, 1824 ]
    507 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_2_2_1, 1823 ]
    508 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_2_1_2, 1822 ]
    509 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_2_1_1, 1821 ]
    510 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_1_2_2, 1820 ]
    511 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_1_2_1, 1819 ]
    512 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_1_1_2, 1818 ]
    513 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_2_1_1_1, 1817 ]
    514 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_2_2_2, 1816 ]
    515 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_2_2_1, 1815 ]
    516 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_2_1_2, 1814 ]
    517 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_2_1_1, 1813 ]
    518 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_1_2_2, 1812 ]
    519 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_1_2_1, 1811 ]
    520 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_1_1_2, 1810 ]
    521 // CHECK-NEXT:	[ 1, foo_2_1_2_1_1_1_1_1_1, 1809 ]
    522 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_2_2_2, 1808 ]
    523 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_2_2_1, 1807 ]
    524 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_2_1_2, 1806 ]
    525 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_2_1_1, 1805 ]
    526 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_1_2_2, 1804 ]
    527 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_1_2_1, 1803 ]
    528 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_1_1_2, 1802 ]
    529 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_2_1_1_1, 1801 ]
    530 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_2_2_2, 1800 ]
    531 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_2_2_1, 1799 ]
    532 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_2_1_2, 1798 ]
    533 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_2_1_1, 1797 ]
    534 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_1_2_2, 1796 ]
    535 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_1_2_1, 1795 ]
    536 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_1_1_2, 1794 ]
    537 // CHECK-NEXT:	[ 1, foo_2_1_1_2_2_1_1_1_1, 1793 ]
    538 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_2_2_2, 1792 ]
    539 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_2_2_1, 1791 ]
    540 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_2_1_2, 1790 ]
    541 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_2_1_1, 1789 ]
    542 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_1_2_2, 1788 ]
    543 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_1_2_1, 1787 ]
    544 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_1_1_2, 1786 ]
    545 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_2_1_1_1, 1785 ]
    546 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_2_2_2, 1784 ]
    547 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_2_2_1, 1783 ]
    548 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_2_1_2, 1782 ]
    549 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_2_1_1, 1781 ]
    550 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_1_2_2, 1780 ]
    551 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_1_2_1, 1779 ]
    552 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_1_1_2, 1778 ]
    553 // CHECK-NEXT:	[ 1, foo_2_1_1_2_1_1_1_1_1, 1777 ]
    554 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_2_2_2, 1776 ]
    555 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_2_2_1, 1775 ]
    556 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_2_1_2, 1774 ]
    557 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_2_1_1, 1773 ]
    558 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_1_2_2, 1772 ]
    559 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_1_2_1, 1771 ]
    560 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_1_1_2, 1770 ]
    561 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_2_1_1_1, 1769 ]
    562 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_2_2_2, 1768 ]
    563 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_2_2_1, 1767 ]
    564 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_2_1_2, 1766 ]
    565 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_2_1_1, 1765 ]
    566 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_1_2_2, 1764 ]
    567 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_1_2_1, 1763 ]
    568 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_1_1_2, 1762 ]
    569 // CHECK-NEXT:	[ 1, foo_2_1_1_1_2_1_1_1_1, 1761 ]
    570 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_2_2_2, 1760 ]
    571 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_2_2_1, 1759 ]
    572 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_2_1_2, 1758 ]
    573 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_2_1_1, 1757 ]
    574 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_1_2_2, 1756 ]
    575 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_1_2_1, 1755 ]
    576 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_1_1_2, 1754 ]
    577 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_2_1_1_1, 1753 ]
    578 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_2_2_2, 1752 ]
    579 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_2_2_1, 1751 ]
    580 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_2_1_2, 1750 ]
    581 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_2_1_1, 1749 ]
    582 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_1_2_2, 1748 ]
    583 // CHECK-NEXT:	[ 1, foo_2_1_1_1_1_1_1_2_1, 1747 ]
    584 // CHECK-NEXT:	[ 1, foo
    585 
    586 // SHARED-LABEL:  shared_entry:
    587 // SHARED:	[ 0, foo_1_1_1_1_1_1_1_1_1, 1000 ]
    588 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_1_1_2, 999 ]
    589 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_1_2_1, 998 ]
    590 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_1_2_2, 997 ]
    591 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_2_1_1, 996 ]
    592 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_2_1_2, 995 ]
    593 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_2_2_1, 994 ]
    594 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_1_2_2_2, 993 ]
    595 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_1_1_1, 992 ]
    596 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_1_1_2, 991 ]
    597 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_1_2_1, 990 ]
    598 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_1_2_2, 989 ]
    599 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_2_1_1, 988 ]
    600 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_2_1_2, 987 ]
    601 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_2_2_1, 986 ]
    602 // SHARED-NEXT:	[ 0, foo_1_1_1_1_1_2_2_2_2, 985 ]
    603 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_1_1_1, 984 ]
    604 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_1_1_2, 983 ]
    605 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_1_2_1, 982 ]
    606 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_1_2_2, 981 ]
    607 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_2_1_1, 980 ]
    608 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_2_1_2, 979 ]
    609 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_2_2_1, 978 ]
    610 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_1_2_2_2, 977 ]
    611 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_1_1_1, 976 ]
    612 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_1_1_2, 975 ]
    613 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_1_2_1, 974 ]
    614 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_1_2_2, 973 ]
    615 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_2_1_1, 972 ]
    616 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_2_1_2, 971 ]
    617 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_2_2_1, 970 ]
    618 // SHARED-NEXT:	[ 0, foo_1_1_1_1_2_2_2_2_2, 969 ]
    619 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_1_1_1, 968 ]
    620 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_1_1_2, 967 ]
    621 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_1_2_1, 966 ]
    622 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_1_2_2, 965 ]
    623 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_2_1_1, 964 ]
    624 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_2_1_2, 963 ]
    625 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_2_2_1, 962 ]
    626 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_1_2_2_2, 961 ]
    627 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_1_1_1, 960 ]
    628 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_1_1_2, 959 ]
    629 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_1_2_1, 958 ]
    630 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_1_2_2, 957 ]
    631 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_2_1_1, 956 ]
    632 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_2_1_2, 955 ]
    633 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_2_2_1, 954 ]
    634 // SHARED-NEXT:	[ 0, foo_1_1_1_2_1_2_2_2_2, 953 ]
    635 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_1_1_1, 952 ]
    636 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_1_1_2, 951 ]
    637 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_1_2_1, 950 ]
    638 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_1_2_2, 949 ]
    639 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_2_1_1, 948 ]
    640 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_2_1_2, 947 ]
    641 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_2_2_1, 946 ]
    642 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_1_2_2_2, 945 ]
    643 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_1_1_1, 944 ]
    644 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_1_1_2, 943 ]
    645 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_1_2_1, 942 ]
    646 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_1_2_2, 941 ]
    647 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_2_1_1, 940 ]
    648 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_2_1_2, 939 ]
    649 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_2_2_1, 938 ]
    650 // SHARED-NEXT:	[ 0, foo_1_1_1_2_2_2_2_2_2, 937 ]
    651 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_1_1_1, 936 ]
    652 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_1_1_2, 935 ]
    653 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_1_2_1, 934 ]
    654 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_1_2_2, 933 ]
    655 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_2_1_1, 932 ]
    656 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_2_1_2, 931 ]
    657 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_2_2_1, 930 ]
    658 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_1_2_2_2, 929 ]
    659 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_1_1_1, 928 ]
    660 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_1_1_2, 927 ]
    661 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_1_2_1, 926 ]
    662 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_1_2_2, 925 ]
    663 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_2_1_1, 924 ]
    664 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_2_1_2, 923 ]
    665 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_2_2_1, 922 ]
    666 // SHARED-NEXT:	[ 0, foo_1_1_2_1_1_2_2_2_2, 921 ]
    667 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_1_1_1, 920 ]
    668 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_1_1_2, 919 ]
    669 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_1_2_1, 918 ]
    670 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_1_2_2, 917 ]
    671 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_2_1_1, 916 ]
    672 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_2_1_2, 915 ]
    673 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_2_2_1, 914 ]
    674 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_1_2_2_2, 913 ]
    675 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_1_1_1, 912 ]
    676 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_1_1_2, 911 ]
    677 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_1_2_1, 910 ]
    678 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_1_2_2, 909 ]
    679 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_2_1_1, 908 ]
    680 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_2_1_2, 907 ]
    681 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_2_2_1, 906 ]
    682 // SHARED-NEXT:	[ 0, foo_1_1_2_1_2_2_2_2_2, 905 ]
    683 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_1_1_1, 904 ]
    684 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_1_1_2, 903 ]
    685 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_1_2_1, 902 ]
    686 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_1_2_2, 901 ]
    687 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_2_1_1, 900 ]
    688 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_2_1_2, 899 ]
    689 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_2_2_1, 898 ]
    690 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_1_2_2_2, 897 ]
    691 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_1_1_1, 896 ]
    692 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_1_1_2, 895 ]
    693 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_1_2_1, 894 ]
    694 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_1_2_2, 893 ]
    695 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_2_1_1, 892 ]
    696 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_2_1_2, 891 ]
    697 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_2_2_1, 890 ]
    698 // SHARED-NEXT:	[ 0, foo_1_1_2_2_1_2_2_2_2, 889 ]
    699 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_1_1_1, 888 ]
    700 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_1_1_2, 887 ]
    701 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_1_2_1, 886 ]
    702 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_1_2_2, 885 ]
    703 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_2_1_1, 884 ]
    704 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_2_1_2, 883 ]
    705 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_2_2_1, 882 ]
    706 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_1_2_2_2, 881 ]
    707 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_1_1_1, 880 ]
    708 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_1_1_2, 879 ]
    709 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_1_2_1, 878 ]
    710 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_1_2_2, 877 ]
    711 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_2_1_1, 876 ]
    712 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_2_1_2, 875 ]
    713 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_2_2_1, 874 ]
    714 // SHARED-NEXT:	[ 0, foo_1_1_2_2_2_2_2_2_2, 873 ]
    715 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_1_1_1, 872 ]
    716 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_1_1_2, 871 ]
    717 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_1_2_1, 870 ]
    718 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_1_2_2, 869 ]
    719 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_2_1_1, 868 ]
    720 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_2_1_2, 867 ]
    721 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_2_2_1, 866 ]
    722 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_1_2_2_2, 865 ]
    723 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_1_1_1, 864 ]
    724 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_1_1_2, 863 ]
    725 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_1_2_1, 862 ]
    726 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_1_2_2, 861 ]
    727 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_2_1_1, 860 ]
    728 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_2_1_2, 859 ]
    729 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_2_2_1, 858 ]
    730 // SHARED-NEXT:	[ 0, foo_1_2_1_1_1_2_2_2_2, 857 ]
    731 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_1_1_1, 856 ]
    732 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_1_1_2, 855 ]
    733 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_1_2_1, 854 ]
    734 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_1_2_2, 853 ]
    735 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_2_1_1, 852 ]
    736 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_2_1_2, 851 ]
    737 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_2_2_1, 850 ]
    738 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_1_2_2_2, 849 ]
    739 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_1_1_1, 848 ]
    740 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_1_1_2, 847 ]
    741 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_1_2_1, 846 ]
    742 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_1_2_2, 845 ]
    743 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_2_1_1, 844 ]
    744 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_2_1_2, 843 ]
    745 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_2_2_1, 842 ]
    746 // SHARED-NEXT:	[ 0, foo_1_2_1_1_2_2_2_2_2, 841 ]
    747 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_1_1_1, 840 ]
    748 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_1_1_2, 839 ]
    749 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_1_2_1, 838 ]
    750 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_1_2_2, 837 ]
    751 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_2_1_1, 836 ]
    752 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_2_1_2, 835 ]
    753 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_2_2_1, 834 ]
    754 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_1_2_2_2, 833 ]
    755 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_1_1_1, 832 ]
    756 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_1_1_2, 831 ]
    757 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_1_2_1, 830 ]
    758 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_1_2_2, 829 ]
    759 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_2_1_1, 828 ]
    760 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_2_1_2, 827 ]
    761 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_2_2_1, 826 ]
    762 // SHARED-NEXT:	[ 0, foo_1_2_1_2_1_2_2_2_2, 825 ]
    763 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_1_1_1, 824 ]
    764 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_1_1_2, 823 ]
    765 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_1_2_1, 822 ]
    766 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_1_2_2, 821 ]
    767 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_2_1_1, 820 ]
    768 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_2_1_2, 819 ]
    769 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_2_2_1, 818 ]
    770 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_1_2_2_2, 817 ]
    771 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_1_1_1, 816 ]
    772 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_1_1_2, 815 ]
    773 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_1_2_1, 814 ]
    774 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_1_2_2, 813 ]
    775 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_2_1_1, 812 ]
    776 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_2_1_2, 811 ]
    777 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_2_2_1, 810 ]
    778 // SHARED-NEXT:	[ 0, foo_1_2_1_2_2_2_2_2_2, 809 ]
    779 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_1_1_1, 808 ]
    780 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_1_1_2, 807 ]
    781 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_1_2_1, 806 ]
    782 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_1_2_2, 805 ]
    783 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_2_1_1, 804 ]
    784 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_2_1_2, 803 ]
    785 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_2_2_1, 802 ]
    786 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_1_2_2_2, 801 ]
    787 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_1_1_1, 800 ]
    788 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_1_1_2, 799 ]
    789 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_1_2_1, 798 ]
    790 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_1_2_2, 797 ]
    791 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_2_1_1, 796 ]
    792 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_2_1_2, 795 ]
    793 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_2_2_1, 794 ]
    794 // SHARED-NEXT:	[ 0, foo_1_2_2_1_1_2_2_2_2, 793 ]
    795 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_1_1_1, 792 ]
    796 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_1_1_2, 791 ]
    797 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_1_2_1, 790 ]
    798 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_1_2_2, 789 ]
    799 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_2_1_1, 788 ]
    800 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_2_1_2, 787 ]
    801 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_2_2_1, 786 ]
    802 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_1_2_2_2, 785 ]
    803 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_1_1_1, 784 ]
    804 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_1_1_2, 783 ]
    805 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_1_2_1, 782 ]
    806 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_1_2_2, 781 ]
    807 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_2_1_1, 780 ]
    808 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_2_1_2, 779 ]
    809 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_2_2_1, 778 ]
    810 // SHARED-NEXT:	[ 0, foo_1_2_2_1_2_2_2_2_2, 777 ]
    811 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_1_1_1, 776 ]
    812 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_1_1_2, 775 ]
    813 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_1_2_1, 774 ]
    814 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_1_2_2, 773 ]
    815 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_2_1_1, 772 ]
    816 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_2_1_2, 771 ]
    817 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_2_2_1, 770 ]
    818 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_1_2_2_2, 769 ]
    819 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_1_1_1, 768 ]
    820 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_1_1_2, 767 ]
    821 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_1_2_1, 766 ]
    822 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_1_2_2, 765 ]
    823 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_2_1_1, 764 ]
    824 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_2_1_2, 763 ]
    825 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_2_2_1, 762 ]
    826 // SHARED-NEXT:	[ 0, foo_1_2_2_2_1_2_2_2_2, 761 ]
    827 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_1_1_1, 760 ]
    828 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_1_1_2, 759 ]
    829 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_1_2_1, 758 ]
    830 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_1_2_2, 757 ]
    831 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_2_1_1, 756 ]
    832 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_2_1_2, 755 ]
    833 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_2_2_1, 754 ]
    834 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_1_2_2_2, 753 ]
    835 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_1_1_1, 752 ]
    836 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_1_1_2, 751 ]
    837 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_1_2_1, 750 ]
    838 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_1_2_2, 749 ]
    839 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_2_1_1, 748 ]
    840 // SHARED-NEXT:	[ 0, foo_1_2_2_2_2_2_2_1_2, 747 ]
    841 // SHARED-NEXT:	[ 0, foo
    842 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_2_2_2, 2000 ]
    843 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_2_2_1, 1999 ]
    844 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_2_1_2, 1998 ]
    845 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_2_1_1, 1997 ]
    846 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_1_2_2, 1996 ]
    847 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_1_2_1, 1995 ]
    848 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_1_1_2, 1994 ]
    849 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_2_1_1_1, 1993 ]
    850 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_2_2_2, 1992 ]
    851 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_2_2_1, 1991 ]
    852 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_2_1_2, 1990 ]
    853 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_2_1_1, 1989 ]
    854 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_1_2_2, 1988 ]
    855 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_1_2_1, 1987 ]
    856 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_1_1_2, 1986 ]
    857 // SHARED-NEXT:	[ 1, foo_2_2_2_2_2_1_1_1_1, 1985 ]
    858 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_2_2_2, 1984 ]
    859 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_2_2_1, 1983 ]
    860 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_2_1_2, 1982 ]
    861 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_2_1_1, 1981 ]
    862 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_1_2_2, 1980 ]
    863 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_1_2_1, 1979 ]
    864 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_1_1_2, 1978 ]
    865 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_2_1_1_1, 1977 ]
    866 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_2_2_2, 1976 ]
    867 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_2_2_1, 1975 ]
    868 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_2_1_2, 1974 ]
    869 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_2_1_1, 1973 ]
    870 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_1_2_2, 1972 ]
    871 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_1_2_1, 1971 ]
    872 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_1_1_2, 1970 ]
    873 // SHARED-NEXT:	[ 1, foo_2_2_2_2_1_1_1_1_1, 1969 ]
    874 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_2_2_2, 1968 ]
    875 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_2_2_1, 1967 ]
    876 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_2_1_2, 1966 ]
    877 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_2_1_1, 1965 ]
    878 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_1_2_2, 1964 ]
    879 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_1_2_1, 1963 ]
    880 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_1_1_2, 1962 ]
    881 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_2_1_1_1, 1961 ]
    882 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_2_2_2, 1960 ]
    883 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_2_2_1, 1959 ]
    884 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_2_1_2, 1958 ]
    885 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_2_1_1, 1957 ]
    886 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_1_2_2, 1956 ]
    887 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_1_2_1, 1955 ]
    888 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_1_1_2, 1954 ]
    889 // SHARED-NEXT:	[ 1, foo_2_2_2_1_2_1_1_1_1, 1953 ]
    890 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_2_2_2, 1952 ]
    891 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_2_2_1, 1951 ]
    892 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_2_1_2, 1950 ]
    893 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_2_1_1, 1949 ]
    894 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_1_2_2, 1948 ]
    895 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_1_2_1, 1947 ]
    896 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_1_1_2, 1946 ]
    897 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_2_1_1_1, 1945 ]
    898 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_2_2_2, 1944 ]
    899 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_2_2_1, 1943 ]
    900 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_2_1_2, 1942 ]
    901 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_2_1_1, 1941 ]
    902 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_1_2_2, 1940 ]
    903 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_1_2_1, 1939 ]
    904 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_1_1_2, 1938 ]
    905 // SHARED-NEXT:	[ 1, foo_2_2_2_1_1_1_1_1_1, 1937 ]
    906 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_2_2_2, 1936 ]
    907 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_2_2_1, 1935 ]
    908 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_2_1_2, 1934 ]
    909 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_2_1_1, 1933 ]
    910 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_1_2_2, 1932 ]
    911 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_1_2_1, 1931 ]
    912 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_1_1_2, 1930 ]
    913 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_2_1_1_1, 1929 ]
    914 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_2_2_2, 1928 ]
    915 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_2_2_1, 1927 ]
    916 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_2_1_2, 1926 ]
    917 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_2_1_1, 1925 ]
    918 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_1_2_2, 1924 ]
    919 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_1_2_1, 1923 ]
    920 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_1_1_2, 1922 ]
    921 // SHARED-NEXT:	[ 1, foo_2_2_1_2_2_1_1_1_1, 1921 ]
    922 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_2_2_2, 1920 ]
    923 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_2_2_1, 1919 ]
    924 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_2_1_2, 1918 ]
    925 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_2_1_1, 1917 ]
    926 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_1_2_2, 1916 ]
    927 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_1_2_1, 1915 ]
    928 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_1_1_2, 1914 ]
    929 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_2_1_1_1, 1913 ]
    930 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_2_2_2, 1912 ]
    931 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_2_2_1, 1911 ]
    932 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_2_1_2, 1910 ]
    933 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_2_1_1, 1909 ]
    934 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_1_2_2, 1908 ]
    935 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_1_2_1, 1907 ]
    936 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_1_1_2, 1906 ]
    937 // SHARED-NEXT:	[ 1, foo_2_2_1_2_1_1_1_1_1, 1905 ]
    938 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_2_2_2, 1904 ]
    939 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_2_2_1, 1903 ]
    940 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_2_1_2, 1902 ]
    941 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_2_1_1, 1901 ]
    942 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_1_2_2, 1900 ]
    943 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_1_2_1, 1899 ]
    944 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_1_1_2, 1898 ]
    945 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_2_1_1_1, 1897 ]
    946 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_2_2_2, 1896 ]
    947 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_2_2_1, 1895 ]
    948 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_2_1_2, 1894 ]
    949 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_2_1_1, 1893 ]
    950 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_1_2_2, 1892 ]
    951 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_1_2_1, 1891 ]
    952 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_1_1_2, 1890 ]
    953 // SHARED-NEXT:	[ 1, foo_2_2_1_1_2_1_1_1_1, 1889 ]
    954 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_2_2_2, 1888 ]
    955 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_2_2_1, 1887 ]
    956 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_2_1_2, 1886 ]
    957 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_2_1_1, 1885 ]
    958 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_1_2_2, 1884 ]
    959 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_1_2_1, 1883 ]
    960 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_1_1_2, 1882 ]
    961 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_2_1_1_1, 1881 ]
    962 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_2_2_2, 1880 ]
    963 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_2_2_1, 1879 ]
    964 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_2_1_2, 1878 ]
    965 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_2_1_1, 1877 ]
    966 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_1_2_2, 1876 ]
    967 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_1_2_1, 1875 ]
    968 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_1_1_2, 1874 ]
    969 // SHARED-NEXT:	[ 1, foo_2_2_1_1_1_1_1_1_1, 1873 ]
    970 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_2_2_2, 1872 ]
    971 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_2_2_1, 1871 ]
    972 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_2_1_2, 1870 ]
    973 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_2_1_1, 1869 ]
    974 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_1_2_2, 1868 ]
    975 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_1_2_1, 1867 ]
    976 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_1_1_2, 1866 ]
    977 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_2_1_1_1, 1865 ]
    978 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_2_2_2, 1864 ]
    979 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_2_2_1, 1863 ]
    980 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_2_1_2, 1862 ]
    981 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_2_1_1, 1861 ]
    982 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_1_2_2, 1860 ]
    983 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_1_2_1, 1859 ]
    984 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_1_1_2, 1858 ]
    985 // SHARED-NEXT:	[ 1, foo_2_1_2_2_2_1_1_1_1, 1857 ]
    986 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_2_2_2, 1856 ]
    987 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_2_2_1, 1855 ]
    988 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_2_1_2, 1854 ]
    989 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_2_1_1, 1853 ]
    990 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_1_2_2, 1852 ]
    991 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_1_2_1, 1851 ]
    992 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_1_1_2, 1850 ]
    993 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_2_1_1_1, 1849 ]
    994 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_2_2_2, 1848 ]
    995 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_2_2_1, 1847 ]
    996 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_2_1_2, 1846 ]
    997 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_2_1_1, 1845 ]
    998 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_1_2_2, 1844 ]
    999 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_1_2_1, 1843 ]
   1000 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_1_1_2, 1842 ]
   1001 // SHARED-NEXT:	[ 1, foo_2_1_2_2_1_1_1_1_1, 1841 ]
   1002 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_2_2_2, 1840 ]
   1003 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_2_2_1, 1839 ]
   1004 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_2_1_2, 1838 ]
   1005 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_2_1_1, 1837 ]
   1006 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_1_2_2, 1836 ]
   1007 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_1_2_1, 1835 ]
   1008 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_1_1_2, 1834 ]
   1009 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_2_1_1_1, 1833 ]
   1010 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_2_2_2, 1832 ]
   1011 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_2_2_1, 1831 ]
   1012 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_2_1_2, 1830 ]
   1013 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_2_1_1, 1829 ]
   1014 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_1_2_2, 1828 ]
   1015 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_1_2_1, 1827 ]
   1016 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_1_1_2, 1826 ]
   1017 // SHARED-NEXT:	[ 1, foo_2_1_2_1_2_1_1_1_1, 1825 ]
   1018 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_2_2_2, 1824 ]
   1019 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_2_2_1, 1823 ]
   1020 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_2_1_2, 1822 ]
   1021 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_2_1_1, 1821 ]
   1022 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_1_2_2, 1820 ]
   1023 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_1_2_1, 1819 ]
   1024 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_1_1_2, 1818 ]
   1025 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_2_1_1_1, 1817 ]
   1026 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_2_2_2, 1816 ]
   1027 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_2_2_1, 1815 ]
   1028 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_2_1_2, 1814 ]
   1029 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_2_1_1, 1813 ]
   1030 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_1_2_2, 1812 ]
   1031 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_1_2_1, 1811 ]
   1032 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_1_1_2, 1810 ]
   1033 // SHARED-NEXT:	[ 1, foo_2_1_2_1_1_1_1_1_1, 1809 ]
   1034 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_2_2_2, 1808 ]
   1035 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_2_2_1, 1807 ]
   1036 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_2_1_2, 1806 ]
   1037 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_2_1_1, 1805 ]
   1038 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_1_2_2, 1804 ]
   1039 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_1_2_1, 1803 ]
   1040 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_1_1_2, 1802 ]
   1041 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_2_1_1_1, 1801 ]
   1042 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_2_2_2, 1800 ]
   1043 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_2_2_1, 1799 ]
   1044 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_2_1_2, 1798 ]
   1045 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_2_1_1, 1797 ]
   1046 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_1_2_2, 1796 ]
   1047 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_1_2_1, 1795 ]
   1048 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_1_1_2, 1794 ]
   1049 // SHARED-NEXT:	[ 1, foo_2_1_1_2_2_1_1_1_1, 1793 ]
   1050 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_2_2_2, 1792 ]
   1051 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_2_2_1, 1791 ]
   1052 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_2_1_2, 1790 ]
   1053 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_2_1_1, 1789 ]
   1054 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_1_2_2, 1788 ]
   1055 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_1_2_1, 1787 ]
   1056 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_1_1_2, 1786 ]
   1057 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_2_1_1_1, 1785 ]
   1058 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_2_2_2, 1784 ]
   1059 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_2_2_1, 1783 ]
   1060 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_2_1_2, 1782 ]
   1061 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_2_1_1, 1781 ]
   1062 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_1_2_2, 1780 ]
   1063 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_1_2_1, 1779 ]
   1064 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_1_1_2, 1778 ]
   1065 // SHARED-NEXT:	[ 1, foo_2_1_1_2_1_1_1_1_1, 1777 ]
   1066 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_2_2_2, 1776 ]
   1067 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_2_2_1, 1775 ]
   1068 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_2_1_2, 1774 ]
   1069 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_2_1_1, 1773 ]
   1070 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_1_2_2, 1772 ]
   1071 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_1_2_1, 1771 ]
   1072 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_1_1_2, 1770 ]
   1073 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_2_1_1_1, 1769 ]
   1074 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_2_2_2, 1768 ]
   1075 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_2_2_1, 1767 ]
   1076 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_2_1_2, 1766 ]
   1077 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_2_1_1, 1765 ]
   1078 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_1_2_2, 1764 ]
   1079 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_1_2_1, 1763 ]
   1080 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_1_1_2, 1762 ]
   1081 // SHARED-NEXT:	[ 1, foo_2_1_1_1_2_1_1_1_1, 1761 ]
   1082 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_2_2_2, 1760 ]
   1083 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_2_2_1, 1759 ]
   1084 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_2_1_2, 1758 ]
   1085 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_2_1_1, 1757 ]
   1086 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_1_2_2, 1756 ]
   1087 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_1_2_1, 1755 ]
   1088 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_1_1_2, 1754 ]
   1089 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_2_1_1_1, 1753 ]
   1090 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_2_2_2, 1752 ]
   1091 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_2_2_1, 1751 ]
   1092 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_2_1_2, 1750 ]
   1093 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_2_1_1, 1749 ]
   1094 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_1_2_2, 1748 ]
   1095 // SHARED-NEXT:	[ 1, foo_2_1_1_1_1_1_1_2_1, 1747 ]
   1096 // SHARED-NEXT:	[ 1, foo
   1097