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
24DEF_512_FUNCS(foo)
25void *CalleeAddrs[] = {FUNC_512_ADDRS(foo)};
26
27typedef void (*FPT)(void);
28
29FPT getFunc(int I) { return CalleeAddrs[I]; }
30
31int 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