	.intel_syntax
# Machine code for main():
  <fi #-1> is 4 bytes fixed at location [SP]
  <fi #0> is 1024 bytes
  <fi #1> is 1024 bytes

entry (0x86ddc18):
	%reg1024 = lea <fi#0>, 1, %NOREG, 0
	%reg1025 = lea <fi#1>, 1, %NOREG, 0
	%reg1027 = mov <ga:Initialized.0__>
	%reg1026 = mov %reg1027, 1, %NOREG, 0
	test %reg1026, %reg1026
	jne %disp(label __main.entry)

endif.0.i (0x86dde90):
	%reg1028 = mov <ga:Initialized.0__>
	mov %reg1028, 1, %NOREG, 0, 1

__main.entry (0x86ddf38):
	%reg1029 = mov %reg1025
	%reg1070 = mov 256
	%reg1071 = mov 128
	%reg1072 = mov 2
	%reg1073 = mov 0
	%reg1074 = mov 0
	%reg1075 = mov 0
	jmp %disp(label no_exit.0.i)

loopentry.0.i (0x86de368):
	%reg1030 = sar %reg1031, 1
	%reg1032 = shl %reg1033, 1
	%reg1063 = mov 0
	%reg1065 = mov 0
	%reg1067 = mov 0
	%reg1069 = mov 0

loopentry.2.i (0x86de5c0):
	%reg1060 = PHI %reg1052, bb<no_exit.0.i,0x86de2a8>, %reg1031, bb<loopentry.0.i,0x86de368>, %reg1060, bb<loopexit.2.i,0x86de718>
	%reg1031 = PHI %reg1043, bb<no_exit.0.i,0x86de2a8>, %reg1030, bb<loopentry.0.i,0x86de368>, %reg1031, bb<loopexit.2.i,0x86de718>
	%reg1033 = PHI %reg1061, bb<no_exit.0.i,0x86de2a8>, %reg1032, bb<loopentry.0.i,0x86de368>, %reg1033, bb<loopexit.2.i,0x86de718>
	%reg1039 = PHI %reg1062, bb<no_exit.0.i,0x86de2a8>, %reg1063, bb<loopentry.0.i,0x86de368>, %reg1039, bb<loopexit.2.i,0x86de718>
	%reg1037 = PHI %reg1064, bb<no_exit.0.i,0x86de2a8>, %reg1065, bb<loopentry.0.i,0x86de368>, %reg1037, bb<loopexit.2.i,0x86de718>
	%reg1035 = PHI %reg1059, bb<loopexit.2.i,0x86de718>, %reg1066, bb<no_exit.0.i,0x86de2a8>, %reg1067, bb<loopentry.0.i,0x86de368>
	%reg1068 = PHI %reg1058, bb<loopexit.2.i,0x86de718>, %reg1049, bb<no_exit.0.i,0x86de2a8>, %reg1029, bb<loopentry.0.i,0x86de368>
	%reg1040 = PHI %reg1053, bb<loopexit.2.i,0x86de718>, %reg1051, bb<no_exit.0.i,0x86de2a8>, %reg1069, bb<loopentry.0.i,0x86de368>
	%reg1034 = imul %reg1035, %reg1033
	%reg1036 = add %reg1034, %reg1037
	%reg1038 = add %reg1035, %reg1039
	cmp %reg1040, 256
	jge %disp(label loopexit.2.i)

no_exit.0.i (0x86de2a8):
	%reg1052 = PHI %reg1070, bb<__main.entry,0x86ddf38>, %reg1060, bb<loopentry.2.i,0x86de5c0>
	%reg1043 = PHI %reg1071, bb<__main.entry,0x86ddf38>, %reg1031, bb<loopentry.2.i,0x86de5c0>
	%reg1061 = PHI %reg1072, bb<__main.entry,0x86ddf38>, %reg1033, bb<loopentry.2.i,0x86de5c0>
	%reg1049 = PHI %reg1029, bb<__main.entry,0x86ddf38>, %reg1068, bb<loopentry.2.i,0x86de5c0>
	%reg1062 = PHI %reg1073, bb<__main.entry,0x86ddf38>, %reg1038, bb<loopentry.2.i,0x86de5c0>
	%reg1064 = PHI %reg1074, bb<__main.entry,0x86ddf38>, %reg1036, bb<loopentry.2.i,0x86de5c0>
	%reg1042 = PHI %reg1075, bb<__main.entry,0x86ddf38>, %reg1040, bb<loopentry.2.i,0x86de5c0>
	%reg1041 = add %reg1042, %reg1043
	%reg1044 = mov %reg1024, 4, %reg1042, 0
	%reg1045 = mov %reg1024, 4, %reg1041, 0
	%reg1046 = add %reg1045, %reg1024, 4, %reg1042, 0
	mov %reg1024, 4, %reg1042, 0, %reg1046
	%reg1047 = sub %reg1044, %reg1045
	%reg1048 = mov %reg1049, 1, %NOREG, 0
	%reg1050 = imul %reg1047, %reg1048
	mov %reg1024, 4, %reg1041, 0, %reg1050
	%reg1051 = add %reg1042, %reg1052
	%reg1066 = mov 0
	jmp %disp(label loopentry.2.i)

loopexit.2.i (0x86de718):
	%reg1053 = inc %reg1038
	%reg1054 = add %reg1036, %reg1033
	%reg1056 = mov 256
	%EAX = mov %reg1054
	%reg1057 = sar %reg1054, 31
	%EDX = mov %reg1057
	idiv %reg1056
	%reg1055 = mov %EDX
	%reg1058 = lea %reg1025, 4, %reg1055, 0
	%reg1059 = inc %reg1035
	cmp %reg1053, %reg1031
	jne %disp(label loopentry.2.i)

loopexit.1.i (0x86dfc38):
	cmp %reg1031, 1
	jne %disp(label loopentry.0.i)

return.i (0x86dfd98):
	%EAX = mov 0
	IMPLICIT_USE %EAX, %ESP
	ret

# End machine code for main().

Machine Function
********** REWRITING TWO-ADDR INSTRS **********
********** Function: main
	%reg1030 = sar %reg1031, 1
		prepend:	%reg1030 = mov %reg1031
		rewrite to:	sar %reg1030<def&use>, 1
	%reg1032 = shl %reg1033, 1
		prepend:	%reg1032 = mov %reg1033
		rewrite to:	shl %reg1032<def&use>, 1
	%reg1034 = imul %reg1035, %reg1033
		prepend:	%reg1034 = mov %reg1035
		rewrite to:	imul %reg1034<def&use>, %reg1033
	%reg1036 = add %reg1034, %reg1037
		prepend:	%reg1036 = mov %reg1034
		rewrite to:	add %reg1036<def&use>, %reg1037
	%reg1038 = add %reg1035, %reg1039
		prepend:	%reg1038 = mov %reg1035
		rewrite to:	add %reg1038<def&use>, %reg1039
	%reg1041 = add %reg1042, %reg1043
		prepend:	%reg1041 = mov %reg1042
		rewrite to:	add %reg1041<def&use>, %reg1043
	%reg1046 = add %reg1045, %reg1024, 4, %reg1042, 0
		prepend:	%reg1046 = mov %reg1045
		rewrite to:	add %reg1046<def&use>, %reg1024, 4, %reg1042, 0
	%reg1047 = sub %reg1044, %reg1045
		prepend:	%reg1047 = mov %reg1044
		rewrite to:	sub %reg1047<def&use>, %reg1045
	%reg1050 = imul %reg1047, %reg1048
		prepend:	%reg1050 = mov %reg1047
		rewrite to:	imul %reg1050<def&use>, %reg1048
	%reg1051 = add %reg1042, %reg1052
		prepend:	%reg1051 = mov %reg1042
		rewrite to:	add %reg1051<def&use>, %reg1052
	%reg1053 = inc %reg1038
		prepend:	%reg1053 = mov %reg1038
		rewrite to:	inc %reg1053<def&use>
	%reg1054 = add %reg1036, %reg1033
		prepend:	%reg1054 = mov %reg1036
		rewrite to:	add %reg1054<def&use>, %reg1033
	%reg1057 = sar %reg1054, 31
		prepend:	%reg1057 = mov %reg1054
		rewrite to:	sar %reg1057<def&use>, 31
	%reg1059 = inc %reg1035
		prepend:	%reg1059 = mov %reg1035
		rewrite to:	inc %reg1059<def&use>
********** COMPUTING LIVE INTERVALS **********
********** Function: main
entry:
0	%reg1024 = lea <fi#0>, 1, %NOREG, 0
		register: %reg1024 +[24,32) +[32,92) +[92,156) +[156,248) +[248,376) +[376,472) +[472,480) +[248,326) +[2,24)
4	%reg1025 = lea <fi#1>, 1, %NOREG, 0
		register: %reg1025 +[24,32) +[32,92) +[92,156) +[156,248) +[248,376) +[376,472) +[472,480) +[6,24)
8	%reg1027 = mov <ga:Initialized.0__>
		register: %reg1027 +[10,14)
12	%reg1026 = mov %reg1027, 1, %NOREG, 0
		register: %reg1026 +[14,18)
16	test %reg1026, %reg1026
20	jne %disp(label __main.entry)
endif.0.i:
24	%reg1028 = mov <ga:Initialized.0__>
		register: %reg1028 +[26,30)
28	mov %reg1028, 1, %NOREG, 0, 1
__main.entry:
32	%reg1029 = mov %reg1025
		register: %reg1029 +[92,156) +[156,248) +[248,376) +[376,472) +[472,480) +[34,92)
36	%reg1070 = mov 256
		register: %reg1070 +[38,62)
40	%reg1071 = mov 128
		register: %reg1071 +[42,66)
44	%reg1072 = mov 2
		register: %reg1072 +[46,70)
48	%reg1073 = mov 0
		register: %reg1073 +[50,78)
52	%reg1074 = mov 0
		register: %reg1074 +[54,82)
56	%reg1075 = mov 0
		register: %reg1075 +[58,86)
60	%reg1084 = mov %reg1070
		register: %reg1084 +[248,274) +[62,92)
64	%reg1085 = mov %reg1071
		register: %reg1085 +[248,270) +[66,92)
68	%reg1086 = mov %reg1072
		register: %reg1086 +[248,266) +[70,92)
72	%reg1087 = mov %reg1029
		register: %reg1087 +[248,262) +[74,92)
76	%reg1088 = mov %reg1073
		register: %reg1088 +[248,258) +[78,92)
80	%reg1089 = mov %reg1074
		register: %reg1089 +[248,254) +[82,92)
84	%reg1090 = mov %reg1075
		register: %reg1090 +[248,250) +[86,92)
88	jmp %disp(label no_exit.0.i)
loopentry.0.i:
92	%reg1030 = mov %reg1031
		register: %reg1030 +[94,130)
96	sar %reg1030<def&use>, 1
		register: %reg1030 +[98,130)
100	%reg1032 = mov %reg1033
		register: %reg1032 +[102,134)
104	shl %reg1032<def&use>, 1
		register: %reg1032 +[106,134)
108	%reg1063 = mov 0
		register: %reg1063 +[110,138)
112	%reg1065 = mov 0
		register: %reg1065 +[114,142)
116	%reg1067 = mov 0
		register: %reg1067 +[118,146)
120	%reg1069 = mov 0
		register: %reg1069 +[122,154)
124	%reg1076 = mov %reg1031
		register: %reg1076 +[156,186) +[126,156)
128	%reg1077 = mov %reg1030
		register: %reg1077 +[156,182) +[130,156)
132	%reg1078 = mov %reg1032
		register: %reg1078 +[156,178) +[134,156)
136	%reg1079 = mov %reg1063
		register: %reg1079 +[156,174) +[138,156)
140	%reg1080 = mov %reg1065
		register: %reg1080 +[156,170) +[142,156)
144	%reg1081 = mov %reg1067
		register: %reg1081 +[156,166) +[146,156)
148	%reg1082 = mov %reg1029
		register: %reg1082 +[156,162) +[150,156)
152	%reg1083 = mov %reg1069
		register: %reg1083 +[156,158) +[154,156)
loopentry.2.i:
156	%reg1040 = mov %reg1083
		register: %reg1040 +[158,242)
160	%reg1068 = mov %reg1082
		register: %reg1068 +[162,230)
164	%reg1035 = mov %reg1081
		register: %reg1035 +[376,426) +[166,248)
168	%reg1037 = mov %reg1080
		register: %reg1037 +[376,472) +[376,454) +[170,248)
172	%reg1039 = mov %reg1079
		register: %reg1039 +[376,472) +[376,450) +[174,248)
176	%reg1033 = mov %reg1078
		register: %reg1033 +[376,472) +[472,480) +[92,102) +[178,248)
180	%reg1031 = mov %reg1077
		register: %reg1031 +[92,156) +[376,472) +[472,480) +[182,248)
184	%reg1060 = mov %reg1076
		register: %reg1060 +[376,472) +[376,438) +[186,248)
188	%reg1034 = mov %reg1035
		register: %reg1034 +[190,198)
192	imul %reg1034<def&use>, %reg1033
		register: %reg1034 +[194,198)
196	%reg1036 = mov %reg1034
		register: %reg1036 +[376,386) +[198,248)
200	add %reg1036<def&use>, %reg1037
		register: %reg1036 +[376,386) +[202,248)
204	%reg1038 = mov %reg1035
		register: %reg1038 +[376,378) +[206,248)
208	add %reg1038<def&use>, %reg1039
		register: %reg1038 +[376,378) +[210,248)
212	cmp %reg1040, 256
216	%reg1084 = mov %reg1060
		register: %reg1084 +[248,274) +[218,248)
220	%reg1085 = mov %reg1031
		register: %reg1085 +[248,270) +[222,248)
224	%reg1086 = mov %reg1033
		register: %reg1086 +[248,266) +[226,248)
228	%reg1087 = mov %reg1068
		register: %reg1087 +[248,262) +[230,248)
232	%reg1088 = mov %reg1038
		register: %reg1088 +[248,258) +[234,248)
236	%reg1089 = mov %reg1036
		register: %reg1089 +[248,254) +[238,248)
240	%reg1090 = mov %reg1040
		register: %reg1090 +[248,250) +[242,248)
244	jge %disp(label loopexit.2.i)
no_exit.0.i:
248	%reg1042 = mov %reg1090
		register: %reg1042 +[250,330)
252	%reg1064 = mov %reg1089
		register: %reg1064 +[254,358)
256	%reg1062 = mov %reg1088
		register: %reg1062 +[258,354)
260	%reg1049 = mov %reg1087
		register: %reg1049 +[262,366)
264	%reg1061 = mov %reg1086
		register: %reg1061 +[266,350)
268	%reg1043 = mov %reg1085
		register: %reg1043 +[270,346)
272	%reg1052 = mov %reg1084
		register: %reg1052 +[274,342)
276	%reg1041 = mov %reg1042
		register: %reg1041 +[278,326)
280	add %reg1041<def&use>, %reg1043
		register: %reg1041 +[282,326)
284	%reg1044 = mov %reg1024, 4, %reg1042, 0
		register: %reg1044 +[286,306)
288	%reg1045 = mov %reg1024, 4, %reg1041, 0
		register: %reg1045 +[290,310)
292	%reg1046 = mov %reg1045
		register: %reg1046 +[294,302)
296	add %reg1046<def&use>, %reg1024, 4, %reg1042, 0
		register: %reg1046 +[298,302)
300	mov %reg1024, 4, %reg1042, 0, %reg1046
304	%reg1047 = mov %reg1044
		register: %reg1047 +[306,318)
308	sub %reg1047<def&use>, %reg1045
		register: %reg1047 +[310,318)
312	%reg1048 = mov %reg1049, 1, %NOREG, 0
		register: %reg1048 +[314,322)
316	%reg1050 = mov %reg1047
		register: %reg1050 +[318,326)
320	imul %reg1050<def&use>, %reg1048
		register: %reg1050 +[322,326)
324	mov %reg1024, 4, %reg1041, 0, %reg1050
328	%reg1051 = mov %reg1042
		register: %reg1051 +[330,370)
332	add %reg1051<def&use>, %reg1052
		register: %reg1051 +[334,370)
336	%reg1066 = mov 0
		register: %reg1066 +[338,362)
340	%reg1076 = mov %reg1052
		register: %reg1076 +[156,186) +[342,376)
344	%reg1077 = mov %reg1043
		register: %reg1077 +[156,182) +[346,376)
348	%reg1078 = mov %reg1061
		register: %reg1078 +[156,178) +[350,376)
352	%reg1079 = mov %reg1062
		register: %reg1079 +[156,174) +[354,376)
356	%reg1080 = mov %reg1064
		register: %reg1080 +[156,170) +[358,376)
360	%reg1081 = mov %reg1066
		register: %reg1081 +[156,166) +[362,376)
364	%reg1082 = mov %reg1049
		register: %reg1082 +[156,162) +[366,376)
368	%reg1083 = mov %reg1051
		register: %reg1083 +[156,158) +[370,376)
372	jmp %disp(label loopentry.2.i)
loopexit.2.i:
376	%reg1053 = mov %reg1038
		register: %reg1053 +[378,466)
380	inc %reg1053<def&use>
		register: %reg1053 +[382,466)
384	%reg1054 = mov %reg1036
		register: %reg1054 +[386,402)
388	add %reg1054<def&use>, %reg1033
		register: %reg1054 +[390,402)
392	%reg1056 = mov 256
		register: %reg1056 +[394,414)
396	%EAX = mov %reg1054
		register: EAX killed +[398,414)
		register: AX dead +[398,399)
		register: AL dead +[398,399)
		register: AH dead +[398,399)
400	%reg1057 = mov %reg1054
		register: %reg1057 +[402,410)
404	sar %reg1057<def&use>, 31
		register: %reg1057 +[406,410)
408	%EDX = mov %reg1057
		register: EDX killed +[410,414)
		register: DX dead +[410,411)
		register: DL dead +[410,411)
		register: DH dead +[410,411)
412	idiv %reg1056
		register: EAX dead +[414,415)
		register: AX dead +[414,415)
		register: AL dead +[414,415)
		register: AH dead +[414,415)
		register: EDX killed +[414,418)
		register: DX dead +[414,415)
		register: DL dead +[414,415)
		register: DH dead +[414,415)
416	%reg1055 = mov %EDX
		register: %reg1055 +[418,422)
420	%reg1058 = lea %reg1025, 4, %reg1055, 0
		register: %reg1058 +[422,462)
424	%reg1059 = mov %reg1035
		register: %reg1059 +[426,458)
428	inc %reg1059<def&use>
		register: %reg1059 +[430,458)
432	cmp %reg1053, %reg1031
436	%reg1076 = mov %reg1060
		register: %reg1076 +[156,186) +[438,472)
440	%reg1077 = mov %reg1031
		register: %reg1077 +[156,182) +[442,472)
444	%reg1078 = mov %reg1033
		register: %reg1078 +[156,178) +[446,472)
448	%reg1079 = mov %reg1039
		register: %reg1079 +[156,174) +[450,472)
452	%reg1080 = mov %reg1037
		register: %reg1080 +[156,170) +[454,472)
456	%reg1081 = mov %reg1059
		register: %reg1081 +[156,166) +[458,472)
460	%reg1082 = mov %reg1058
		register: %reg1082 +[156,162) +[462,472)
464	%reg1083 = mov %reg1053
		register: %reg1083 +[156,158) +[466,472)
468	jne %disp(label loopentry.2.i)
loopexit.1.i:
472	cmp %reg1031, 1
476	jne %disp(label loopentry.0.i)
return.i:
480	%EAX = mov 0
		register: EAX killed +[482,486)
		register: AX dead +[482,483)
		register: AL dead +[482,483)
		register: AH dead +[482,483)
484	IMPLICIT_USE %EAX, %ESP
488	ret
********** JOINING INTERVALS ***********
entry:
0	%reg1024 = lea <fi#0>, 1, %NOREG, 0
4	%reg1025 = lea <fi#1>, 1, %NOREG, 0
8	%reg1027 = mov <ga:Initialized.0__>
12	%reg1026 = mov %reg1027, 1, %NOREG, 0
16	test %reg1026, %reg1026
20	jne %disp(label __main.entry)
endif.0.i:
24	%reg1028 = mov <ga:Initialized.0__>
28	mov %reg1028, 1, %NOREG, 0, 1
__main.entry:
32	%reg1029 = mov %reg1025
36	%reg1070 = mov 256
40	%reg1071 = mov 128
44	%reg1072 = mov 2
48	%reg1073 = mov 0
52	%reg1074 = mov 0
56	%reg1075 = mov 0
60	%reg1084 = mov %reg1070
		joining %reg1070,0 {36} = [38,62) with %reg1084,0 {60,216} = [62,92)[218,274)
64	%reg1085 = mov %reg1071
		joining %reg1071,0 {40} = [42,66) with %reg1085,0 {64,220} = [66,92)[222,270)
68	%reg1086 = mov %reg1072
		joining %reg1072,0 {44} = [46,70) with %reg1086,0 {68,224} = [70,92)[226,266)
72	%reg1087 = mov %reg1029
76	%reg1088 = mov %reg1073
		joining %reg1073,0 {48} = [50,78) with %reg1088,0 {76,232} = [78,92)[234,258)
80	%reg1089 = mov %reg1074
		joining %reg1074,0 {52} = [54,82) with %reg1089,0 {80,236} = [82,92)[238,254)
84	%reg1090 = mov %reg1075
		joining %reg1075,0 {56} = [58,86) with %reg1090,0 {84,240} = [86,92)[242,250)
88	jmp %disp(label no_exit.0.i)
loopentry.0.i:
92	%reg1030 = mov %reg1031
96	sar %reg1030<def&use>, 1
100	%reg1032 = mov %reg1033
		joining %reg1033,0 {176} = [92,102)[178,248)[376,480) with %reg1032,0 {100,104} = [102,134)
104	shl %reg1032<def&use>, 1
108	%reg1063 = mov 0
112	%reg1065 = mov 0
116	%reg1067 = mov 0
120	%reg1069 = mov 0
124	%reg1076 = mov %reg1031
128	%reg1077 = mov %reg1030
		joining %reg1030,0 {92,96} = [94,130) with %reg1077,0 {128,344,440} = [130,182)[346,376)[442,472)
132	%reg1078 = mov %reg1032
136	%reg1079 = mov %reg1063
		joining %reg1063,0 {108} = [110,138) with %reg1079,0 {136,352,448} = [138,174)[354,376)[450,472)
140	%reg1080 = mov %reg1065
		joining %reg1065,0 {112} = [114,142) with %reg1080,0 {140,356,452} = [142,170)[358,376)[454,472)
144	%reg1081 = mov %reg1067
		joining %reg1067,0 {116} = [118,146) with %reg1081,0 {144,360,456} = [146,166)[362,376)[458,472)
148	%reg1082 = mov %reg1029
152	%reg1083 = mov %reg1069
		joining %reg1069,0 {120} = [122,154) with %reg1083,0 {152,368,464} = [154,158)[370,376)[466,472)
loopentry.2.i:
156	%reg1040 = mov %reg1083
		joining %reg1069,0 {120,152,368,464} = [122,158)[370,376)[466,472) with %reg1040,0 {156} = [158,242)
160	%reg1068 = mov %reg1082
		joining %reg1082,0 {148,364,460} = [150,162)[366,376)[462,472) with %reg1068,0 {160} = [162,230)
164	%reg1035 = mov %reg1081
		joining %reg1067,0 {116,144,360,456} = [118,166)[362,376)[458,472) with %reg1035,0 {164} = [166,248)[376,426)
168	%reg1037 = mov %reg1080
172	%reg1039 = mov %reg1079
176	%reg1033 = mov %reg1078
180	%reg1031 = mov %reg1077
184	%reg1060 = mov %reg1076
188	%reg1034 = mov %reg1035
192	imul %reg1034<def&use>, %reg1033
196	%reg1036 = mov %reg1034
		joining %reg1034,0 {188,192} = [190,198) with %reg1036,0 {196,200} = [198,248)[376,386)
200	add %reg1036<def&use>, %reg1037
204	%reg1038 = mov %reg1035
208	add %reg1038<def&use>, %reg1039
212	cmp %reg1040, 256
216	%reg1084 = mov %reg1060
220	%reg1085 = mov %reg1031
224	%reg1086 = mov %reg1033
228	%reg1087 = mov %reg1068
		joining %reg1082,0 {148,160,364,460} = [150,230)[366,376)[462,472) with %reg1087,0 {72,228} = [74,92)[230,262)
232	%reg1088 = mov %reg1038
236	%reg1089 = mov %reg1036
240	%reg1090 = mov %reg1040
		joining %reg1069,0 {120,152,156,368,464} = [122,242)[370,376)[466,472) with %reg1075,0 {56,84,240} = [58,92)[242,250)
244	jge %disp(label loopexit.2.i)
no_exit.0.i:
248	%reg1042 = mov %reg1090
		joining %reg1069,0 {56,84,120,152,156,240,368,464} = [58,92)[122,250)[370,376)[466,472) with %reg1042,0 {248} = [250,330)
252	%reg1064 = mov %reg1089
		joining %reg1074,0 {52,80,236} = [54,92)[238,254) with %reg1064,0 {252} = [254,358)
256	%reg1062 = mov %reg1088
		joining %reg1073,0 {48,76,232} = [50,92)[234,258) with %reg1062,0 {256} = [258,354)
260	%reg1049 = mov %reg1087
		joining %reg1082,0 {72,148,160,228,364,460} = [74,92)[150,262)[366,376)[462,472) with %reg1049,0 {260} = [262,366)
264	%reg1061 = mov %reg1086
		joining %reg1072,0 {44,68,224} = [46,92)[226,266) with %reg1061,0 {264} = [266,350)
268	%reg1043 = mov %reg1085
		joining %reg1071,0 {40,64,220} = [42,92)[222,270) with %reg1043,0 {268} = [270,346)
272	%reg1052 = mov %reg1084
		joining %reg1070,0 {36,60,216} = [38,92)[218,274) with %reg1052,0 {272} = [274,342)
276	%reg1041 = mov %reg1042
280	add %reg1041<def&use>, %reg1043
284	%reg1044 = mov %reg1024, 4, %reg1042, 0
288	%reg1045 = mov %reg1024, 4, %reg1041, 0
292	%reg1046 = mov %reg1045
296	add %reg1046<def&use>, %reg1024, 4, %reg1042, 0
300	mov %reg1024, 4, %reg1042, 0, %reg1046
304	%reg1047 = mov %reg1044
		joining %reg1044,0 {284} = [286,306) with %reg1047,0 {304,308} = [306,318)
308	sub %reg1047<def&use>, %reg1045
312	%reg1048 = mov %reg1049, 1, %NOREG, 0
316	%reg1050 = mov %reg1047
		joining %reg1044,0 {284,304,308} = [286,318) with %reg1050,0 {316,320} = [318,326)
320	imul %reg1050<def&use>, %reg1048
324	mov %reg1024, 4, %reg1041, 0, %reg1050
328	%reg1051 = mov %reg1042
		joining %reg1069,0 {56,84,120,152,156,240,248,368,464} = [58,92)[122,330)[370,376)[466,472) with %reg1051,0 {328,332} = [330,370)
332	add %reg1051<def&use>, %reg1052
336	%reg1066 = mov 0
340	%reg1076 = mov %reg1052
		joining %reg1070,0 {36,60,216,272} = [38,92)[218,342) with %reg1076,0 {124,340,436} = [126,186)[342,376)[438,472)
344	%reg1077 = mov %reg1043
		joining %reg1071,0 {40,64,220,268} = [42,92)[222,346) with %reg1030,0 {92,96,128,344,440} = [94,182)[346,376)[442,472)
348	%reg1078 = mov %reg1061
		joining %reg1072,0 {44,68,224,264} = [46,92)[226,350) with %reg1078,0 {132,348,444} = [134,178)[350,376)[446,472)
352	%reg1079 = mov %reg1062
		joining %reg1073,0 {48,76,232,256} = [50,92)[234,354) with %reg1063,0 {108,136,352,448} = [110,174)[354,376)[450,472)
356	%reg1080 = mov %reg1064
		joining %reg1074,0 {52,80,236,252} = [54,92)[238,358) with %reg1065,0 {112,140,356,452} = [114,170)[358,376)[454,472)
360	%reg1081 = mov %reg1066
		joining %reg1066,0 {336} = [338,362) with %reg1067,0 {116,144,164,360,456} = [118,248)[362,426)[458,472)
364	%reg1082 = mov %reg1049
368	%reg1083 = mov %reg1051
372	jmp %disp(label loopentry.2.i)
loopexit.2.i:
376	%reg1053 = mov %reg1038
		joining %reg1038,0 {204,208} = [206,248)[376,378) with %reg1053,0 {376,380} = [378,466)
380	inc %reg1053<def&use>
384	%reg1054 = mov %reg1036
		joining %reg1034,0 {188,192,196,200} = [190,248)[376,386) with %reg1054,0 {384,388} = [386,402)
388	add %reg1054<def&use>, %reg1033
392	%reg1056 = mov 256
396	%EAX = mov %reg1054
400	%reg1057 = mov %reg1054
		joining %reg1034,0 {188,192,196,200,384,388} = [190,248)[376,402) with %reg1057,0 {400,404} = [402,410)
404	sar %reg1057<def&use>, 31
408	%EDX = mov %reg1057
		joining %reg20,0 {408,412} = [410,418) with %reg1034,0 {188,192,196,200,384,388,400,404} = [190,248)[376,410)
412	idiv %reg1056
416	%reg1055 = mov %EDX
		joining %reg20,0 {188,192,196,200,384,388,400,404,408,412} = [190,248)[376,418) with %reg1055,0 {416} = [418,422)
420	%reg1058 = lea %reg1025, 4, %reg1055, 0
424	%reg1059 = mov %reg1035
		joining %reg1066,0 {116,144,164,336,360,456} = [118,248)[338,426)[458,472) with %reg1059,0 {424,428} = [426,458)
428	inc %reg1059<def&use>
432	cmp %reg1053, %reg1031
436	%reg1076 = mov %reg1060
440	%reg1077 = mov %reg1031
444	%reg1078 = mov %reg1033
448	%reg1079 = mov %reg1039
452	%reg1080 = mov %reg1037
456	%reg1081 = mov %reg1059
460	%reg1082 = mov %reg1058
		joining %reg1058,0 {420} = [422,462) with %reg1082,0 {72,148,160,228,260,364,460} = [74,92)[150,376)[462,472)
464	%reg1083 = mov %reg1053
468	jne %disp(label loopentry.2.i)
loopexit.1.i:
472	cmp %reg1031, 1
476	jne %disp(label loopentry.0.i)
return.i:
480	%EAX = mov 0
484	IMPLICIT_USE %EAX, %ESP
488	ret
********** INTERVALS **********
%reg1024,51 {0} = [2,480)
%reg1025,102 {4} = [6,480)
%reg1027,2 {8} = [10,14)
%reg1026,3 {12} = [14,18)
%reg1028,2 {24} = [26,30)
%reg1029,102 {32} = [34,480)
%reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472)
%reg1071,611 {40,92,96,220,440} = [42,92)[94,182)[222,376)[442,472)
%reg1072,401 {44,132,224,444} = [46,92)[134,178)[226,376)[446,472)
%reg1073,401 {48,108,232,448} = [50,92)[110,174)[234,376)[450,472)
%reg1074,401 {52,112,236,452} = [54,92)[114,170)[238,376)[454,472)
%reg1069,361 {56,120,332,464} = [58,92)[122,376)[466,472)
%reg1058,211 {72,148,420} = [74,92)[150,376)[422,472)
%reg1033,800 {104,176} = [92,134)[178,248)[376,480)
%reg1031,700 {180} = [92,156)[182,248)[376,480)
%reg1066,510 {116,336,428} = [118,248)[338,472)
%reg1037,300 {168} = [170,248)[376,472)
%reg1039,300 {172} = [174,248)[376,472)
%reg1060,300 {184} = [186,248)[376,472)
%reg20,1200 {188,192,200,388,404,412} = [190,248)[376,422)
%reg1038,800 {204,208,380} = [206,248)[376,466)
%reg1041,50 {276,280} = [278,326)
%reg1044,60 {284,308,320} = [286,326)
%reg1045,30 {288} = [290,310)
%reg1046,40 {292,296} = [294,302)
%reg1048,20 {312} = [314,322)
%reg1056,200 {392} = [394,414)
%reg15,0 {396,412,480} = [398,415)[482,486)
%reg3,0 {396,412,480} = [398,399)[414,415)[482,483)
%reg2,0 {396,412,480} = [398,399)[414,415)[482,483)
%reg1,0 {396,412,480} = [398,399)[414,415)[482,483)
%reg14,0 {408,412} = [410,411)[414,415)
%reg13,0 {408,412} = [410,411)[414,415)
%reg11,0 {408,412} = [410,411)[414,415)
********** MACHINEINSTRS **********
entry:
0	%reg1024 = lea <fi#0>, 1, %NOREG, 0
4	%reg1025 = lea <fi#1>, 1, %NOREG, 0
8	%reg1027 = mov <ga:Initialized.0__>
12	%reg1026 = mov %reg1027, 1, %NOREG, 0
16	test %reg1026, %reg1026
20	jne %disp(label __main.entry)
endif.0.i:
24	%reg1028 = mov <ga:Initialized.0__>
28	mov %reg1028, 1, %NOREG, 0, 1
__main.entry:
32	%reg1029 = mov %reg1025
36	%reg1070 = mov 256
40	%reg1071 = mov 128
44	%reg1072 = mov 2
48	%reg1073 = mov 0
52	%reg1074 = mov 0
56	%reg1069 = mov 0
72	%reg1058 = mov %reg1029
88	jmp %disp(label no_exit.0.i)
loopentry.0.i:
92	%reg1071 = mov %reg1031
96	sar %reg1071<def&use>, 1
104	shl %reg1033<def&use>, 1
108	%reg1073 = mov 0
112	%reg1074 = mov 0
116	%reg1066 = mov 0
120	%reg1069 = mov 0
124	%reg1070 = mov %reg1031
132	%reg1072 = mov %reg1033
148	%reg1058 = mov %reg1029
loopentry.2.i:
168	%reg1037 = mov %reg1074
172	%reg1039 = mov %reg1073
176	%reg1033 = mov %reg1072
180	%reg1031 = mov %reg1071
184	%reg1060 = mov %reg1070
188	%EDX = mov %reg1066
192	imul %EDX<def&use>, %reg1033
200	add %EDX<def&use>, %reg1037
204	%reg1038 = mov %reg1066
208	add %reg1038<def&use>, %reg1039
212	cmp %reg1069, 256
216	%reg1070 = mov %reg1060
220	%reg1071 = mov %reg1031
224	%reg1072 = mov %reg1033
232	%reg1073 = mov %reg1038
236	%reg1074 = mov %EDX
244	jge %disp(label loopexit.2.i)
no_exit.0.i:
276	%reg1041 = mov %reg1069
280	add %reg1041<def&use>, %reg1071
284	%reg1044 = mov %reg1024, 4, %reg1069, 0
288	%reg1045 = mov %reg1024, 4, %reg1041, 0
292	%reg1046 = mov %reg1045
296	add %reg1046<def&use>, %reg1024, 4, %reg1069, 0
300	mov %reg1024, 4, %reg1069, 0, %reg1046
308	sub %reg1044<def&use>, %reg1045
312	%reg1048 = mov %reg1058, 1, %NOREG, 0
320	imul %reg1044<def&use>, %reg1048
324	mov %reg1024, 4, %reg1041, 0, %reg1044
332	add %reg1069<def&use>, %reg1070
336	%reg1066 = mov 0
372	jmp %disp(label loopentry.2.i)
loopexit.2.i:
380	inc %reg1038<def&use>
388	add %EDX<def&use>, %reg1033
392	%reg1056 = mov 256
396	%EAX = mov %EDX
404	sar %EDX<def&use>, 31
412	idiv %reg1056
420	%reg1058 = lea %reg1025, 4, %EDX, 0
428	inc %reg1066<def&use>
432	cmp %reg1038, %reg1031
436	%reg1070 = mov %reg1060
440	%reg1071 = mov %reg1031
444	%reg1072 = mov %reg1033
448	%reg1073 = mov %reg1039
452	%reg1074 = mov %reg1037
464	%reg1069 = mov %reg1038
468	jne %disp(label loopentry.2.i)
loopexit.1.i:
472	cmp %reg1031, 1
476	jne %disp(label loopentry.0.i)
return.i:
480	%EAX = mov 0
484	IMPLICIT_USE %EAX, %ESP
488	ret
********** LINEAR SCAN **********
********** Function: main
unhandled intervals:
	%reg1024,51 {0} = [2,480) -> NOREG
	%reg1025,102 {4} = [6,480) -> NOREG
	%reg1027,2 {8} = [10,14) -> NOREG
	%reg1026,3 {12} = [14,18) -> NOREG
	%reg1028,2 {24} = [26,30) -> NOREG
	%reg1029,102 {32} = [34,480) -> NOREG
	%reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472) -> NOREG
	%reg1071,611 {40,92,96,220,440} = [42,92)[94,182)[222,376)[442,472) -> NOREG
	%reg1072,401 {44,132,224,444} = [46,92)[134,178)[226,376)[446,472) -> NOREG
	%reg1073,401 {48,108,232,448} = [50,92)[110,174)[234,376)[450,472) -> NOREG
	%reg1074,401 {52,112,236,452} = [54,92)[114,170)[238,376)[454,472) -> NOREG
	%reg1069,361 {56,120,332,464} = [58,92)[122,376)[466,472) -> NOREG
	%reg1058,211 {72,148,420} = [74,92)[150,376)[422,472) -> NOREG
	%reg1033,800 {104,176} = [92,134)[178,248)[376,480) -> NOREG
	%reg1031,700 {180} = [92,156)[182,248)[376,480) -> NOREG
	%reg1066,510 {116,336,428} = [118,248)[338,472) -> NOREG
	%reg1037,300 {168} = [170,248)[376,472) -> NOREG
	%reg1039,300 {172} = [174,248)[376,472) -> NOREG
	%reg1060,300 {184} = [186,248)[376,472) -> NOREG
	%reg20,1200 {188,192,200,388,404,412} = [190,248)[376,422) -> EDX
	%reg1038,800 {204,208,380} = [206,248)[376,466) -> NOREG
	%reg1041,50 {276,280} = [278,326) -> NOREG
	%reg1044,60 {284,308,320} = [286,326) -> NOREG
	%reg1045,30 {288} = [290,310) -> NOREG
	%reg1046,40 {292,296} = [294,302) -> NOREG
	%reg1048,20 {312} = [314,322) -> NOREG
	%reg1056,200 {392} = [394,414) -> NOREG
	%reg15,0 {396,412,480} = [398,415)[482,486) -> EAX
	%reg3,0 {396,412,480} = [398,399)[414,415)[482,483) -> AX
	%reg2,0 {396,412,480} = [398,399)[414,415)[482,483) -> AL
	%reg1,0 {396,412,480} = [398,399)[414,415)[482,483) -> AH
	%reg14,0 {408,412} = [410,411)[414,415) -> DX
	%reg13,0 {408,412} = [410,411)[414,415) -> DL
	%reg11,0 {408,412} = [410,411)[414,415) -> DH
fixed intervals:
	%reg20,1200 {188,192,200,388,404,412} = [190,248)[376,422) -> EDX
	%reg15,0 {396,412,480} = [398,415)[482,486) -> EAX
	%reg3,0 {396,412,480} = [398,399)[414,415)[482,483) -> AX
	%reg2,0 {396,412,480} = [398,399)[414,415)[482,483) -> AL
	%reg1,0 {396,412,480} = [398,399)[414,415)[482,483) -> AH
	%reg14,0 {408,412} = [410,411)[414,415) -> DX
	%reg13,0 {408,412} = [410,411)[414,415) -> DL
	%reg11,0 {408,412} = [410,411)[414,415) -> DH
active intervals:
inactive intervals:

*** CURRENT ***: %reg1024,51 {0} = [2,480)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: ECX
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
inactive intervals:

*** CURRENT ***: %reg1025,102 {4} = [6,480)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: ESI
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
inactive intervals:

*** CURRENT ***: %reg1027,2 {8} = [10,14)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: EAX
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1027,2 {8} = [10,14) -> EAX
inactive intervals:

*** CURRENT ***: %reg1026,3 {12} = [14,18)
	processing active intervals:
		interval %reg1027,2 {8} = [10,14) expired
	processing inactive intervals:
	allocating current interval: AL
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1026,3 {12} = [14,18) -> AL
inactive intervals:

*** CURRENT ***: %reg1028,2 {24} = [26,30)
	processing active intervals:
		interval %reg1026,3 {12} = [14,18) expired
	processing inactive intervals:
	allocating current interval: EAX
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1028,2 {24} = [26,30) -> EAX
inactive intervals:

*** CURRENT ***: %reg1029,102 {32} = [34,480)
	processing active intervals:
		interval %reg1028,2 {24} = [26,30) expired
	processing inactive intervals:
	allocating current interval: EDI
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1029,102 {32} = [34,480) -> EDI
inactive intervals:

*** CURRENT ***: %reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: EAX
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1029,102 {32} = [34,480) -> EDI
	%reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472) -> EAX
inactive intervals:

*** CURRENT ***: %reg1071,611 {40,92,96,220,440} = [42,92)[94,182)[222,376)[442,472)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: EBX
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1029,102 {32} = [34,480) -> EDI
	%reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472) -> EAX
	%reg1071,611 {40,92,96,220,440} = [42,92)[94,182)[222,376)[442,472) -> EBX
inactive intervals:

*** CURRENT ***: %reg1072,401 {44,132,224,444} = [46,92)[134,178)[226,376)[446,472)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: EBP
active intervals:
	%reg1024,51 {0} = [2,480) -> ECX
	%reg1025,102 {4} = [6,480) -> ESI
	%reg1029,102 {32} = [34,480) -> EDI
	%reg1070,411 {36,124,216,436} = [38,92)[126,186)[218,376)[438,472) -> EAX
	%reg1071,611 {40,92,96,220,440} = [42,92)[94,182)[222,376)[442,472) -> EBX
	%reg1072,401 {44,132,224,444} = [46,92)[134,178)[226,376)[446,472) -> EBP
inactive intervals:

*** CURRENT ***: %reg1073,401 {48,108,232,448} = [50,92)[110,174)[234,376)[450,472)
	processing active intervals:
	processing inactive intervals:
	allocating current interval: no free registers
	assigning stack slot at interval %reg1073,401 {48,108,232,448} = [50,92)[110,174)[234,376)[450,472):
		register with min weight: NOREG (0)
llc: /home/finna/llvm/llvm/include/llvm/Target/MRegisterInfo.h:144: static bool llvm::MRegisterInfo::isPhysicalRegister(unsigned int): Assertion `Reg && "this is not a register!"' failed.
	.intel_syntax
llc[0x853c054]
llc[0x853c260]
/lib/tls/libc.so.6[0x420277b8]
/lib/tls/libc.so.6(abort+0x1d5)[0x42028c55]
/lib/tls/libc.so.6[0x42021043]
llc(llvm::MRegisterInfo::isPhysicalRegister(unsigned)+0x25)[0x839af6d]
llc((anonymous namespace)::RA::assignRegOrStackSlotAtInterval(llvm::LiveIntervals::Interval*)+0x844)[0x83f5f7e]
llc((anonymous namespace)::RA::linearScan()+0x3c1)[0x83f4d67]
llc((anonymous namespace)::RA::runOnMachineFunction(llvm::MachineFunction&)+0x1d7)[0x83f4959]
llc(llvm::MachineFunctionPass::runOnFunction(llvm::Function&)+0x28)[0x83516aa]
llc(llvm::PassManagerTraits<llvm::Function>::runPass(llvm::FunctionPass*, llvm::Function*)+0x1b)[0x84b654b]
llc(llvm::PassManagerT<llvm::Function>::runOnUnit(llvm::Function*)+0x5e4)[0x84b1b02]
llc(llvm::PassManagerTraits<llvm::Function>::runOnFunction(llvm::Function&)+0x1b)[0x84af97d]
llc(llvm::FunctionPass::run(llvm::Module&)+0xa6)[0x8460c06]
llc(llvm::PassManagerTraits<llvm::Module>::runPass(llvm::Pass*, llvm::Module*)+0x1b)[0x84b65ed]
llc(llvm::PassManagerT<llvm::Module>::runOnUnit(llvm::Module*)+0x5e4)[0x84b00e6]
llc(llvm::PassManagerTraits<llvm::Module>::run(llvm::Module&)+0x1b)[0x84af741]
llc(llvm::PassManager::run(llvm::Module&)+0x1f)[0x846004d]
llc(main+0xac0)[0x82f4850]
/lib/tls/libc.so.6(__libc_start_main+0xe4)[0x42015704]
llc(std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)+0x41)[0x82f3d01]
