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