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