1 ; Testcase unanalyzed, not checked in yet.
2 ; RUN: as < %s | opt -adce
4 %FILE = type { [16 x long] }
5 %arc_t = type { %node_t*, %node_t*, %arc_t*, %arc_t*, long, long, long, long }
6 %network_t = type { [200 x sbyte], [200 x sbyte], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, long, %node_t*, %node_t*, %arc_t*, %arc_t*, %arc_t*, %arc_t*, long, long, long }
7 %node_t = type { long, sbyte*, %node_t*, %node_t*, %node_t*, %node_t*, long, long, %arc_t*, %arc_t*, %arc_t*, long, long, long, long }
8 %struct.__FILE = type { [16 x long] }
9 %struct.arc = type { %node_t*, %node_t*, %arc_t*, %arc_t*, long, long, long, long }
10 %struct.network = type { [200 x sbyte], [200 x sbyte], long, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, long, %node_t*, %node_t*, %arc_t*, %arc_t*, %arc_t*, %arc_t*, long, long, long }
11 %struct.node = type { long, sbyte*, %node_t*, %node_t*, %node_t*, %node_t*, long, long, %arc_t*, %arc_t*, %arc_t*, long, long, long, long }
12 %.LC0 = internal global [2 x sbyte] c"r\00" ; <[2 x sbyte]*> [#uses=1]
13 %.LC1 = internal global [8 x sbyte] c"%ld %ld\00" ; <[8 x sbyte]*> [#uses=1]
14 %.LC2 = internal global [30 x sbyte] c"read_min(): not enough memory\00" ; <[30 x sbyte]*> [#uses=1]
15 %.LC3 = internal global [12 x sbyte] c"%ld %ld %ld\00" ; <[12 x sbyte]*> [#uses=1]
17 implementation ; Functions:
19 long %read_min(%network_t* %net) {
21 %instring = alloca sbyte, uint 201 ; <sbyte*> [#uses=6]
22 %t = alloca long ; <long*> [#uses=11]
23 %h = alloca long ; <long*> [#uses=8]
24 %c = alloca long ; <long*> [#uses=3]
28 %cast518 = getelementptr %network_t* %net, uint 0, ubyte 0, uint 0 ; <sbyte*> [#uses=15]
29 %cast1028 = getelementptr [2 x sbyte]* %.LC0, uint 0, uint 0 ; <sbyte*> [#uses=1]
30 %reg520 = call %FILE* %fopen( sbyte* %cast518, sbyte* %cast1028 ) ; <%FILE*> [#uses=5]
31 %cond522 = setne %FILE* %reg520, null ; <bool> [#uses=1]
32 br bool %cond522, label %bb3, label %bb2
38 %reg526 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0]
39 %cast1029 = getelementptr [8 x sbyte]* %.LC1, uint 0, uint 0 ; <sbyte*> [#uses=2]
40 %reg530 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1029, long* %t, long* %h ) ; <int> [#uses=1]
41 %cond534 = seteq int %reg530, 2 ; <bool> [#uses=1]
42 br bool %cond534, label %bb5, label %bb4
48 %reg129 = load long* %t, uint 0 ; <long> [#uses=1]
49 %reg5381 = getelementptr sbyte* %cast518, uint 408 ; <sbyte*> [#uses=1]
50 %cast540 = cast sbyte* %reg5381 to long* ; <long*> [#uses=12]
51 store long %reg129, long* %cast540
52 %reg130 = load long* %h, uint 0 ; <long> [#uses=1]
53 %reg5421 = getelementptr sbyte* %cast518, uint 432 ; <sbyte*> [#uses=2]
54 %cast544 = cast sbyte* %reg5421 to long* ; <long*> [#uses=3]
55 store long %reg130, long* %cast544
56 %reg131 = load long* %t, uint 0 ; <long> [#uses=1]
57 %reg132 = load long* %t ; <long> [#uses=1]
58 %reg133 = add long %reg131, %reg132 ; <long> [#uses=1]
59 %reg134 = add long %reg133, 1 ; <long> [#uses=1]
60 %reg5481 = getelementptr sbyte* %cast518, uint 400 ; <sbyte*> [#uses=3]
61 %cast550 = cast sbyte* %reg5481 to long* ; <long*> [#uses=3]
62 store long %reg134, long* %cast550
63 %reg135 = load long* %t, uint 0 ; <long> [#uses=1]
64 %reg136 = load long* %t ; <long> [#uses=2]
65 %reg137 = add long %reg135, %reg136 ; <long> [#uses=1]
66 %reg139 = add long %reg137, %reg136 ; <long> [#uses=1]
67 %reg140 = load long* %h ; <long> [#uses=1]
68 %reg141 = add long %reg139, %reg140 ; <long> [#uses=1]
69 %reg5551 = getelementptr sbyte* %cast518, uint 424 ; <sbyte*> [#uses=3]
70 %cast557 = cast sbyte* %reg5551 to long* ; <long*> [#uses=1]
71 store long %reg141, long* %cast557
72 %reg5581 = getelementptr sbyte* %cast518, uint 416 ; <sbyte*> [#uses=1]
73 %cast560 = cast sbyte* %reg5581 to ulong* ; <ulong*> [#uses=2]
74 store ulong 3014656, ulong* %cast560
75 %cast563 = cast sbyte* %reg5481 to ulong* ; <ulong*> [#uses=2]
76 %reg143 = load ulong* %cast563 ; <ulong> [#uses=1]
77 %reg144 = add ulong %reg143, 1 ; <ulong> [#uses=1]
78 %reg566 = call sbyte* %calloc( ulong %reg144, ulong 120 ) ; <sbyte*> [#uses=1]
79 %reg5681 = getelementptr sbyte* %cast518, uint 536 ; <sbyte*> [#uses=2]
80 %cast570 = cast sbyte* %reg5681 to sbyte** ; <sbyte**> [#uses=2]
81 store sbyte* %reg566, sbyte** %cast570
82 %reg148 = load ulong* %cast563 ; <ulong> [#uses=1]
83 %reg575 = call sbyte* %calloc( ulong %reg148, ulong 64 ) ; <sbyte*> [#uses=1]
84 %reg5771 = getelementptr sbyte* %cast518, uint 568 ; <sbyte*> [#uses=1]
85 %cast579 = cast sbyte* %reg5771 to sbyte** ; <sbyte**> [#uses=3]
86 store sbyte* %reg575, sbyte** %cast579
87 %reg152 = load ulong* %cast560 ; <ulong> [#uses=1]
88 %reg584 = call sbyte* %calloc( ulong %reg152, ulong 64 ) ; <sbyte*> [#uses=1]
89 %reg5861 = getelementptr sbyte* %cast518, uint 552 ; <sbyte*> [#uses=3]
90 %cast588 = cast sbyte* %reg5861 to sbyte** ; <sbyte**> [#uses=4]
91 store sbyte* %reg584, sbyte** %cast588
92 %reg156 = load sbyte** %cast570 ; <sbyte*> [#uses=2]
93 %cond592 = seteq sbyte* %reg156, null ; <bool> [#uses=1]
94 br bool %cond592, label %bb8, label %bb6
97 %reg157 = load sbyte** %cast588 ; <sbyte*> [#uses=1]
98 %cond597 = seteq sbyte* %reg157, null ; <bool> [#uses=1]
99 br bool %cond597, label %bb8, label %bb7
102 %reg158 = load sbyte** %cast579 ; <sbyte*> [#uses=1]
103 %cond602 = setne sbyte* %reg158, null ; <bool> [#uses=1]
104 br bool %cond602, label %bb9, label %bb8
107 %cast1030 = getelementptr [30 x sbyte]* %.LC2, uint 0, uint 0 ; <sbyte*> [#uses=1]
108 %reg605 = call int %puts( sbyte* %cast1030 ) ; <int> [#uses=0]
109 %cast607 = cast sbyte* %cast518 to %network_t* ; <%network_t*> [#uses=1]
110 %reg607 = call long %getfree( %network_t* %cast607 ) ; <long> [#uses=0]
114 %cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=2]
115 %reg162 = load sbyte** %cast611 ; <sbyte*> [#uses=1]
116 %reg165 = sub sbyte* null, %reg162 ; <sbyte*> [#uses=0]
117 %reg1701 = getelementptr sbyte* %reg156, uint 120 ; <sbyte*> [#uses=1]
118 %reg6181 = getelementptr sbyte* %cast518, uint 544 ; <sbyte*> [#uses=1]
119 %cast620 = cast sbyte* %reg6181 to sbyte** ; <sbyte**> [#uses=1]
120 store sbyte* %reg1701, sbyte** %cast620
121 %cast623 = cast sbyte* %reg5551 to sbyte** ; <sbyte**> [#uses=1]
122 %reg171 = load sbyte** %cast623 ; <sbyte*> [#uses=0]
123 %reg175 = load sbyte** %cast588 ; <sbyte*> [#uses=1]
124 %reg6281 = getelementptr sbyte* %cast518, uint 560 ; <sbyte*> [#uses=2]
125 %cast630 = cast sbyte* %reg6281 to sbyte** ; <sbyte**> [#uses=3]
126 store sbyte* %reg175, sbyte** %cast630
127 %reg177 = load sbyte** %cast611 ; <sbyte*> [#uses=0]
128 %reg181 = load sbyte** %cast579 ; <sbyte*> [#uses=1]
129 %reg6381 = getelementptr sbyte* %cast518, uint 576 ; <sbyte*> [#uses=1]
130 %cast640 = cast sbyte* %reg6381 to sbyte** ; <sbyte**> [#uses=1]
131 store sbyte* %reg181, sbyte** %cast640
132 %cast643 = cast sbyte* %reg5681 to long* ; <long*> [#uses=1]
133 %reg117 = load long* %cast643 ; <long> [#uses=10]
134 %cast646 = cast sbyte* %reg5861 to ulong* ; <ulong*> [#uses=1]
135 %reg116 = load ulong* %cast646 ; <ulong> [#uses=2]
136 %reg378 = load long* %cast540 ; <long> [#uses=1]
137 %cond650 = setlt long %reg378, 1 ; <bool> [#uses=1]
138 %reg7201 = getelementptr sbyte* %cast518, uint 512 ; <sbyte*> [#uses=2]
139 %cast722 = cast sbyte* %reg7201 to ulong* ; <ulong*> [#uses=3]
140 %cast817 = cast sbyte* %reg7201 to long* ; <long*> [#uses=1]
141 br bool %cond650, label %bb16, label %bb10
144 %cann-indvar3 = phi uint [ 0, %bb9 ], [ %add1-indvar3, %bb15 ] ; <uint> [#uses=3]
145 %add1-indvar3 = add uint %cann-indvar3, 1 ; <uint> [#uses=1]
146 %cann-indvar3-casted = cast uint %cann-indvar3 to ulong ; <ulong> [#uses=1]
147 %reg392-scale = mul ulong %cann-indvar3-casted, 192 ; <ulong> [#uses=1]
148 %reg392 = add ulong %reg392-scale, %reg116 ; <ulong> [#uses=23]
149 %cann-indvar3-casted1 = cast uint %cann-indvar3 to long ; <long> [#uses=2]
150 %reg393 = add long %cann-indvar3-casted1, 1 ; <long> [#uses=9]
151 %reg654 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0]
152 %reg658 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1029, long* %t, long* %h ) ; <int> [#uses=1]
153 %cond662 = setne int %reg658, 2 ; <bool> [#uses=1]
154 br bool %cond662, label %bb12, label %bb11
157 %reg189 = load long* %t, uint 0 ; <long> [#uses=1]
158 %reg190 = load long* %h, uint 0 ; <long> [#uses=1]
159 %cond666 = setle long %reg189, %reg190 ; <bool> [#uses=1]
160 br bool %cond666, label %bb13, label %bb12
166 %reg194 = shl long %reg393, ubyte 4 ; <long> [#uses=1]
167 %reg195 = sub long %reg194, %reg393 ; <long> [#uses=1]
168 %reg196 = shl long %reg195, ubyte 3 ; <long> [#uses=1]
169 %reg198 = add long %reg117, %reg196 ; <long> [#uses=5]
170 %reg199 = sub long 0, %reg393 ; <long> [#uses=1]
171 %cast674 = cast long %reg198 to long* ; <long*> [#uses=1]
172 store long %reg199, long* %cast674
173 %reg677 = add long %reg198, 96 ; <long> [#uses=1]
174 %cast679 = cast long %reg677 to ulong* ; <ulong*> [#uses=1]
175 store ulong 18446744073709551615, ulong* %cast679
176 %reg207 = load long* %cast540 ; <long> [#uses=1]
177 %reg208 = add long %reg393, %reg207 ; <long> [#uses=2]
178 %reg210 = shl long %reg208, ubyte 4 ; <long> [#uses=1]
179 %reg211 = sub long %reg210, %reg208 ; <long> [#uses=1]
180 %reg212 = shl long %reg211, ubyte 3 ; <long> [#uses=1]
181 %reg214 = add long %reg117, %reg212 ; <long> [#uses=1]
182 %cast685 = cast long %reg214 to long* ; <long*> [#uses=1]
183 store long %reg393, long* %cast685
184 %reg215 = load long* %cast540 ; <long> [#uses=1]
185 %reg216 = add long %reg393, %reg215 ; <long> [#uses=2]
186 %reg218 = shl long %reg216, ubyte 4 ; <long> [#uses=1]
187 %reg219 = sub long %reg218, %reg216 ; <long> [#uses=1]
188 %reg220 = shl long %reg219, ubyte 3 ; <long> [#uses=1]
189 %reg222 = add long %reg117, %reg220 ; <long> [#uses=1]
190 %reg691 = add long %reg222, 96 ; <long> [#uses=1]
191 %cast693 = cast long %reg691 to ulong* ; <ulong*> [#uses=1]
192 store ulong 1, ulong* %cast693
193 %reg230 = load long* %t, uint 0 ; <long> [#uses=1]
194 %reg697 = add long %reg198, 112 ; <long> [#uses=1]
195 %cast699 = cast long %reg697 to long* ; <long*> [#uses=1]
196 store long %reg230, long* %cast699
197 %reg231 = load long* %cast540 ; <long> [#uses=1]
198 %reg232 = add long %reg393, %reg231 ; <long> [#uses=2]
199 %reg234 = shl long %reg232, ubyte 4 ; <long> [#uses=1]
200 %reg235 = sub long %reg234, %reg232 ; <long> [#uses=1]
201 %reg236 = shl long %reg235, ubyte 3 ; <long> [#uses=1]
202 %reg238 = add long %reg117, %reg236 ; <long> [#uses=1]
203 %reg239 = load long* %h, uint 0 ; <long> [#uses=1]
204 %reg706 = add long %reg238, 112 ; <long> [#uses=1]
205 %cast708 = cast long %reg706 to long* ; <long*> [#uses=1]
206 store long %reg239, long* %cast708
207 %reg240 = load long* %cast550 ; <long> [#uses=2]
208 %reg242 = shl long %reg240, ubyte 4 ; <long> [#uses=1]
209 %reg243 = sub long %reg242, %reg240 ; <long> [#uses=1]
210 %reg244 = shl long %reg243, ubyte 3 ; <long> [#uses=1]
211 %reg246 = add long %reg117, %reg244 ; <long> [#uses=1]
212 %cast714 = cast ulong %reg392 to long* ; <long*> [#uses=1]
213 store long %reg246, long* %cast714
214 %reg717 = add ulong %reg392, 8 ; <ulong> [#uses=3]
215 %cast719 = cast ulong %reg717 to long* ; <long*> [#uses=1]
216 store long %reg198, long* %cast719
217 %reg253 = load ulong* %cast722 ; <ulong> [#uses=1]
218 %reg254 = add ulong %reg253, 15 ; <ulong> [#uses=2]
219 %reg724 = add ulong %reg392, 32 ; <ulong> [#uses=1]
220 %cast726 = cast ulong %reg724 to ulong* ; <ulong*> [#uses=1]
221 store ulong %reg254, ulong* %cast726
222 %reg727 = add ulong %reg392, 40 ; <ulong> [#uses=1]
223 %cast729 = cast ulong %reg727 to ulong* ; <ulong*> [#uses=1]
224 store ulong %reg254, ulong* %cast729
225 %cast730 = cast ulong %reg392 to sbyte*** ; <sbyte***> [#uses=1]
226 %reg256 = load sbyte*** %cast730 ; <sbyte**> [#uses=1]
227 %reg7311 = getelementptr sbyte** %reg256, uint 9 ; <sbyte**> [#uses=1]
228 %reg257 = load sbyte** %reg7311 ; <sbyte*> [#uses=1]
229 %reg734 = add ulong %reg392, 16 ; <ulong> [#uses=1]
230 %cast736 = cast ulong %reg734 to sbyte** ; <sbyte**> [#uses=1]
231 store sbyte* %reg257, sbyte** %cast736
232 %cast737 = cast ulong %reg392 to ulong** ; <ulong**> [#uses=1]
233 %reg258 = load ulong** %cast737 ; <ulong*> [#uses=1]
234 %reg7381 = getelementptr ulong* %reg258, uint 9 ; <ulong*> [#uses=1]
235 store ulong %reg392, ulong* %reg7381
236 %cast743 = cast ulong %reg717 to sbyte*** ; <sbyte***> [#uses=1]
237 %reg259 = load sbyte*** %cast743 ; <sbyte**> [#uses=1]
238 %reg7441 = getelementptr sbyte** %reg259, uint 10 ; <sbyte**> [#uses=1]
239 %reg260 = load sbyte** %reg7441 ; <sbyte*> [#uses=1]
240 %reg747 = add ulong %reg392, 24 ; <ulong> [#uses=1]
241 %cast749 = cast ulong %reg747 to sbyte** ; <sbyte**> [#uses=1]
242 store sbyte* %reg260, sbyte** %cast749
243 %cast752 = cast ulong %reg717 to ulong** ; <ulong**> [#uses=1]
244 %reg261 = load ulong** %cast752 ; <ulong*> [#uses=1]
245 %reg7531 = getelementptr ulong* %reg261, uint 10 ; <ulong*> [#uses=1]
246 store ulong %reg392, ulong* %reg7531
247 %reg394 = add ulong %reg392, 64 ; <ulong> [#uses=5]
248 %reg262 = load long* %cast540 ; <long> [#uses=1]
249 %reg263 = add long %reg393, %reg262 ; <long> [#uses=2]
250 %reg265 = shl long %reg263, ubyte 4 ; <long> [#uses=1]
251 %reg266 = sub long %reg265, %reg263 ; <long> [#uses=1]
252 %reg267 = shl long %reg266, ubyte 3 ; <long> [#uses=1]
253 %reg269 = add long %reg117, %reg267 ; <long> [#uses=1]
254 %cast762 = cast ulong %reg394 to long* ; <long*> [#uses=1]
255 store long %reg269, long* %cast762
256 %reg270 = load long* %cast550 ; <long> [#uses=2]
257 %reg272 = shl long %reg270, ubyte 4 ; <long> [#uses=1]
258 %reg273 = sub long %reg272, %reg270 ; <long> [#uses=1]
259 %reg274 = shl long %reg273, ubyte 3 ; <long> [#uses=1]
260 %reg276 = add long %reg117, %reg274 ; <long> [#uses=1]
261 %reg768 = add ulong %reg392, 72 ; <ulong> [#uses=3]
262 %cast770 = cast ulong %reg768 to long* ; <long*> [#uses=1]
263 store long %reg276, long* %cast770
264 %reg771 = add ulong %reg392, 96 ; <ulong> [#uses=1]
265 %cast773 = cast ulong %reg771 to ulong* ; <ulong*> [#uses=1]
266 store ulong 15, ulong* %cast773
267 %reg774 = add ulong %reg392, 104 ; <ulong> [#uses=1]
268 %cast776 = cast ulong %reg774 to ulong* ; <ulong*> [#uses=1]
269 store ulong 15, ulong* %cast776
270 %cast777 = cast ulong %reg394 to sbyte*** ; <sbyte***> [#uses=1]
271 %reg279 = load sbyte*** %cast777 ; <sbyte**> [#uses=1]
272 %reg7781 = getelementptr sbyte** %reg279, uint 9 ; <sbyte**> [#uses=1]
273 %reg280 = load sbyte** %reg7781 ; <sbyte*> [#uses=1]
274 %reg781 = add ulong %reg392, 80 ; <ulong> [#uses=1]
275 %cast783 = cast ulong %reg781 to sbyte** ; <sbyte**> [#uses=1]
276 store sbyte* %reg280, sbyte** %cast783
277 %cast784 = cast ulong %reg394 to ulong** ; <ulong**> [#uses=1]
278 %reg281 = load ulong** %cast784 ; <ulong*> [#uses=1]
279 %reg7851 = getelementptr ulong* %reg281, uint 9 ; <ulong*> [#uses=1]
280 store ulong %reg394, ulong* %reg7851
281 %cast790 = cast ulong %reg768 to sbyte*** ; <sbyte***> [#uses=1]
282 %reg282 = load sbyte*** %cast790 ; <sbyte**> [#uses=1]
283 %reg7911 = getelementptr sbyte** %reg282, uint 10 ; <sbyte**> [#uses=1]
284 %reg283 = load sbyte** %reg7911 ; <sbyte*> [#uses=1]
285 %reg794 = add ulong %reg392, 88 ; <ulong> [#uses=1]
286 %cast796 = cast ulong %reg794 to sbyte** ; <sbyte**> [#uses=1]
287 store sbyte* %reg283, sbyte** %cast796
288 %cast799 = cast ulong %reg768 to ulong** ; <ulong**> [#uses=1]
289 %reg284 = load ulong** %cast799 ; <ulong*> [#uses=1]
290 %reg8001 = getelementptr ulong* %reg284, uint 10 ; <ulong*> [#uses=1]
291 store ulong %reg394, ulong* %reg8001
292 %reg395 = add ulong %reg392, 128 ; <ulong> [#uses=5]
293 %cast806 = cast ulong %reg395 to long* ; <long*> [#uses=1]
294 store long %reg198, long* %cast806
295 %reg291 = load long* %cast540 ; <long> [#uses=1]
296 %reg292 = add long %reg393, %reg291 ; <long> [#uses=2]
297 %reg294 = shl long %reg292, ubyte 4 ; <long> [#uses=1]
298 %reg295 = sub long %reg294, %reg292 ; <long> [#uses=1]
299 %reg296 = shl long %reg295, ubyte 3 ; <long> [#uses=1]
300 %reg298 = add long %reg117, %reg296 ; <long> [#uses=1]
301 %reg812 = add ulong %reg392, 136 ; <ulong> [#uses=3]
302 %cast814 = cast ulong %reg812 to long* ; <long*> [#uses=1]
303 store long %reg298, long* %cast814
304 %reg299 = load long* %cast817 ; <long> [#uses=2]
305 %cond818 = setge long %reg299, 10000000 ; <bool> [#uses=1]
306 br bool %cond818, label %bb15, label %bb14
312 %reg397 = phi long [ 10000000, %bb14 ], [ %reg299, %bb13 ] ; <long> [#uses=2]
313 %reg302 = add long %reg397, %reg397 ; <long> [#uses=2]
314 %reg821 = add ulong %reg392, 160 ; <ulong> [#uses=1]
315 %cast823 = cast ulong %reg821 to long* ; <long*> [#uses=1]
316 store long %reg302, long* %cast823
317 %reg824 = add ulong %reg392, 168 ; <ulong> [#uses=1]
318 %cast826 = cast ulong %reg824 to long* ; <long*> [#uses=1]
319 store long %reg302, long* %cast826
320 %cast827 = cast ulong %reg395 to sbyte*** ; <sbyte***> [#uses=1]
321 %reg304 = load sbyte*** %cast827 ; <sbyte**> [#uses=1]
322 %reg8281 = getelementptr sbyte** %reg304, uint 9 ; <sbyte**> [#uses=1]
323 %reg305 = load sbyte** %reg8281 ; <sbyte*> [#uses=1]
324 %reg831 = add ulong %reg392, 144 ; <ulong> [#uses=1]
325 %cast833 = cast ulong %reg831 to sbyte** ; <sbyte**> [#uses=1]
326 store sbyte* %reg305, sbyte** %cast833
327 %cast834 = cast ulong %reg395 to ulong** ; <ulong**> [#uses=1]
328 %reg306 = load ulong** %cast834 ; <ulong*> [#uses=1]
329 %reg8351 = getelementptr ulong* %reg306, uint 9 ; <ulong*> [#uses=1]
330 store ulong %reg395, ulong* %reg8351
331 %cast840 = cast ulong %reg812 to sbyte*** ; <sbyte***> [#uses=1]
332 %reg307 = load sbyte*** %cast840 ; <sbyte**> [#uses=1]
333 %reg8411 = getelementptr sbyte** %reg307, uint 10 ; <sbyte**> [#uses=1]
334 %reg308 = load sbyte** %reg8411 ; <sbyte*> [#uses=1]
335 %reg844 = add ulong %reg392, 152 ; <ulong> [#uses=1]
336 %cast846 = cast ulong %reg844 to sbyte** ; <sbyte**> [#uses=1]
337 store sbyte* %reg308, sbyte** %cast846
338 %cast849 = cast ulong %reg812 to ulong** ; <ulong**> [#uses=1]
339 %reg309 = load ulong** %cast849 ; <ulong*> [#uses=1]
340 %reg8501 = getelementptr ulong* %reg309, uint 10 ; <ulong*> [#uses=1]
341 store ulong %reg395, ulong* %reg8501
342 %reg398 = add ulong %reg392, 192 ; <ulong> [#uses=1]
343 %reg399 = add long %cann-indvar3-casted1, 2 ; <long> [#uses=2]
344 %reg183 = load long* %cast540 ; <long> [#uses=1]
345 %cond858 = setle long %reg399, %reg183 ; <bool> [#uses=1]
346 br bool %cond858, label %bb10, label %bb16
349 %reg400 = phi ulong [ %reg398, %bb15 ], [ %reg116, %bb9 ] ; <ulong> [#uses=2]
350 %reg401 = phi long [ %reg399, %bb15 ], [ 1, %bb9 ] ; <long> [#uses=1]
351 %reg310 = load long* %cast540 ; <long> [#uses=1]
352 %reg311 = add long %reg310, 1 ; <long> [#uses=1]
353 %cond865 = seteq long %reg401, %reg311 ; <bool> [#uses=1]
354 br bool %cond865, label %bb18, label %bb17
360 %reg379 = load long* %cast544 ; <long> [#uses=1]
361 %cond870 = setle long %reg379, 0 ; <bool> [#uses=1]
362 %cast1032 = getelementptr [12 x sbyte]* %.LC3, uint 0, uint 0 ; <sbyte*> [#uses=1]
363 br bool %cond870, label %bb22, label %bb19
366 %cann-indvar2 = phi uint [ 0, %bb18 ], [ %add1-indvar2, %bb21 ] ; <uint> [#uses=3]
367 %add1-indvar2 = add uint %cann-indvar2, 1 ; <uint> [#uses=1]
368 %cann-indvar2-casted = cast uint %cann-indvar2 to ulong ; <ulong> [#uses=1]
369 %reg403-scale = mul ulong %cann-indvar2-casted, 64 ; <ulong> [#uses=1]
370 %reg403 = add ulong %reg403-scale, %reg400 ; <ulong> [#uses=11]
371 %cann-indvar2-casted1 = cast uint %cann-indvar2 to long ; <long> [#uses=1]
372 %reg874 = call sbyte* %fgets( sbyte* %instring, int 200, %FILE* %reg520 ) ; <sbyte*> [#uses=0]
373 %reg878 = call int (sbyte*, sbyte*, ...)* %sscanf( sbyte* %instring, sbyte* %cast1032, long* %t, long* %h, long* %c ) ; <int> [#uses=1]
374 %cond883 = seteq int %reg878, 3 ; <bool> [#uses=1]
375 br bool %cond883, label %bb21, label %bb20
381 %reg322 = load long* %t ; <long> [#uses=1]
382 %reg323 = load long* %cast540 ; <long> [#uses=1]
383 %reg324 = add long %reg322, %reg323 ; <long> [#uses=2]
384 %reg326 = shl long %reg324, ubyte 4 ; <long> [#uses=1]
385 %reg327 = sub long %reg326, %reg324 ; <long> [#uses=1]
386 %reg328 = shl long %reg327, ubyte 3 ; <long> [#uses=1]
387 %reg330 = add long %reg117, %reg328 ; <long> [#uses=1]
388 %cast892 = cast ulong %reg403 to long* ; <long*> [#uses=1]
389 store long %reg330, long* %cast892
390 %reg331 = load long* %h ; <long> [#uses=2]
391 %reg333 = shl long %reg331, ubyte 4 ; <long> [#uses=1]
392 %reg334 = sub long %reg333, %reg331 ; <long> [#uses=1]
393 %reg335 = shl long %reg334, ubyte 3 ; <long> [#uses=1]
394 %reg337 = add long %reg117, %reg335 ; <long> [#uses=1]
395 %reg896 = add ulong %reg403, 8 ; <ulong> [#uses=3]
396 %cast898 = cast ulong %reg896 to long* ; <long*> [#uses=1]
397 store long %reg337, long* %cast898
398 %reg338 = load long* %c, uint 0 ; <long> [#uses=1]
399 %reg900 = add ulong %reg403, 40 ; <ulong> [#uses=1]
400 %cast902 = cast ulong %reg900 to long* ; <long*> [#uses=1]
401 store long %reg338, long* %cast902
402 %reg339 = load long* %c, uint 0 ; <long> [#uses=1]
403 %reg904 = add ulong %reg403, 32 ; <ulong> [#uses=1]
404 %cast906 = cast ulong %reg904 to long* ; <long*> [#uses=1]
405 store long %reg339, long* %cast906
406 %cast907 = cast ulong %reg403 to sbyte*** ; <sbyte***> [#uses=1]
407 %reg340 = load sbyte*** %cast907 ; <sbyte**> [#uses=1]
408 %reg9081 = getelementptr sbyte** %reg340, uint 9 ; <sbyte**> [#uses=1]
409 %reg341 = load sbyte** %reg9081 ; <sbyte*> [#uses=1]
410 %reg911 = add ulong %reg403, 16 ; <ulong> [#uses=1]
411 %cast913 = cast ulong %reg911 to sbyte** ; <sbyte**> [#uses=1]
412 store sbyte* %reg341, sbyte** %cast913
413 %cast914 = cast ulong %reg403 to ulong** ; <ulong**> [#uses=1]
414 %reg342 = load ulong** %cast914 ; <ulong*> [#uses=1]
415 %reg9151 = getelementptr ulong* %reg342, uint 9 ; <ulong*> [#uses=1]
416 store ulong %reg403, ulong* %reg9151
417 %cast920 = cast ulong %reg896 to sbyte*** ; <sbyte***> [#uses=1]
418 %reg343 = load sbyte*** %cast920 ; <sbyte**> [#uses=1]
419 %reg9211 = getelementptr sbyte** %reg343, uint 10 ; <sbyte**> [#uses=1]
420 %reg344 = load sbyte** %reg9211 ; <sbyte*> [#uses=1]
421 %reg924 = add ulong %reg403, 24 ; <ulong> [#uses=1]
422 %cast926 = cast ulong %reg924 to sbyte** ; <sbyte**> [#uses=1]
423 store sbyte* %reg344, sbyte** %cast926
424 %cast929 = cast ulong %reg896 to ulong** ; <ulong**> [#uses=1]
425 %reg345 = load ulong** %cast929 ; <ulong*> [#uses=1]
426 %reg9301 = getelementptr ulong* %reg345, uint 10 ; <ulong*> [#uses=1]
427 store ulong %reg403, ulong* %reg9301
428 %reg405 = add long %cann-indvar2-casted1, 1 ; <long> [#uses=1]
429 %reg406 = add ulong %reg403, 64 ; <ulong> [#uses=1]
430 %reg314 = load long* %cast544 ; <long> [#uses=1]
431 %cond938 = setlt long %reg405, %reg314 ; <bool> [#uses=1]
432 br bool %cond938, label %bb19, label %bb22
435 %reg407 = phi ulong [ %reg406, %bb21 ], [ %reg400, %bb18 ] ; <ulong> [#uses=2]
436 %cast943 = cast sbyte* %reg6281 to ulong* ; <ulong*> [#uses=2]
437 %reg346 = load ulong* %cast943 ; <ulong> [#uses=1]
438 %cond944 = seteq ulong %reg346, %reg407 ; <bool> [#uses=1]
439 br bool %cond944, label %bb26, label %bb23
442 store ulong %reg407, ulong* %cast943
443 %reg408 = load sbyte** %cast588 ; <sbyte*> [#uses=2]
444 %cast953 = cast sbyte* %reg5551 to ulong* ; <ulong*> [#uses=4]
445 store ulong 0, ulong* %cast953
446 %reg380 = load sbyte** %cast630 ; <sbyte*> [#uses=1]
447 %cond957 = setge sbyte* %reg408, %reg380 ; <bool> [#uses=1]
448 br bool %cond957, label %bb25, label %bb24
451 %cann-indvar1 = phi uint [ 0, %bb23 ], [ %add1-indvar1, %bb24 ] ; <uint> [#uses=2]
452 %add1-indvar1 = add uint %cann-indvar1, 1 ; <uint> [#uses=1]
453 %cann-indvar1-scale = mul uint %cann-indvar1, 64 ; <uint> [#uses=1]
454 %reg4091 = getelementptr sbyte* %reg408, uint %cann-indvar1-scale ; <sbyte*> [#uses=1]
455 %reg349 = load ulong* %cast953 ; <ulong> [#uses=1]
456 %reg350 = add ulong %reg349, 1 ; <ulong> [#uses=1]
457 store ulong %reg350, ulong* %cast953
458 %reg4101 = getelementptr sbyte* %reg4091, uint 64 ; <sbyte*> [#uses=1]
459 %reg348 = load sbyte** %cast630 ; <sbyte*> [#uses=1]
460 %cond969 = setlt sbyte* %reg4101, %reg348 ; <bool> [#uses=1]
461 br bool %cond969, label %bb24, label %bb25
464 %reg351 = load ulong* %cast953 ; <ulong> [#uses=1]
465 %cast975 = cast sbyte* %reg5421 to ulong* ; <ulong*> [#uses=1]
466 store ulong %reg351, ulong* %cast975
470 %reg977 = call int %fclose( %FILE* %reg520 ) ; <int> [#uses=0]
471 %reg9781 = getelementptr sbyte* %cast518, uint 200 ; <sbyte*> [#uses=1]
472 store sbyte 0, sbyte* %reg9781
473 %reg381 = load long* %cast540 ; <long> [#uses=1]
474 %cond984 = setlt long %reg381, 1 ; <bool> [#uses=1]
475 %cast991 = cast sbyte* %reg5861 to long* ; <long*> [#uses=2]
476 br bool %cond984, label %bb32, label %bb27
479 %cann-indvar = phi uint [ 0, %bb26 ], [ %add1-indvar, %bb31 ] ; <uint> [#uses=2]
480 %add1-indvar = add uint %cann-indvar, 1 ; <uint> [#uses=1]
481 %cann-indvar-casted = cast uint %cann-indvar to long ; <long> [#uses=2]
482 %reg412 = add long %cann-indvar-casted, 1 ; <long> [#uses=2]
483 %reg355 = shl long %reg412, ubyte 1 ; <long> [#uses=1]
484 %reg356 = add long %reg355, %reg412 ; <long> [#uses=1]
485 %reg357 = shl long %reg356, ubyte 6 ; <long> [#uses=2]
486 %reg359 = load long* %cast991 ; <long> [#uses=1]
487 %reg360 = add long %reg359, %reg357 ; <long> [#uses=1]
488 %reg362 = load ulong* %cast722 ; <ulong> [#uses=2]
489 %cast997 = cast ulong %reg362 to long ; <long> [#uses=1]
490 %cond996 = setge long %cast997, 10000000 ; <bool> [#uses=1]
491 br bool %cond996, label %bb29, label %bb28
497 %reg414 = phi ulong [ 10000000, %bb28 ], [ %reg362, %bb27 ] ; <ulong> [#uses=1]
498 %reg364 = mul ulong %reg414, 18446744073709551614 ; <ulong> [#uses=1]
499 %reg1000 = add long %reg360, -32 ; <long> [#uses=1]
500 %cast1002 = cast long %reg1000 to ulong* ; <ulong*> [#uses=1]
501 store ulong %reg364, ulong* %cast1002
502 %reg370 = load long* %cast991 ; <long> [#uses=1]
503 %reg371 = add long %reg370, %reg357 ; <long> [#uses=1]
504 %reg373 = load ulong* %cast722 ; <ulong> [#uses=2]
505 %cast1013 = cast ulong %reg373 to long ; <long> [#uses=1]
506 %cond1012 = setge long %cast1013, 10000000 ; <bool> [#uses=1]
507 br bool %cond1012, label %bb31, label %bb30
513 %reg416 = phi ulong [ 10000000, %bb30 ], [ %reg373, %bb29 ] ; <ulong> [#uses=1]
514 %reg375 = mul ulong %reg416, 18446744073709551614 ; <ulong> [#uses=1]
515 %reg1016 = add long %reg371, -24 ; <long> [#uses=1]
516 %cast1018 = cast long %reg1016 to ulong* ; <ulong*> [#uses=1]
517 store ulong %reg375, ulong* %cast1018
518 %reg417 = add long %cann-indvar-casted, 2 ; <long> [#uses=1]
519 %reg353 = load long* %cast540 ; <long> [#uses=1]
520 %cond1023 = setle long %reg417, %reg353 ; <bool> [#uses=1]
521 br bool %cond1023, label %bb27, label %bb32
530 declare int %fclose(%FILE*)
532 declare %FILE* %fopen(sbyte*, sbyte*)
534 declare int %sscanf(sbyte*, sbyte*, ...)
536 declare sbyte* %fgets(sbyte*, int, %FILE*)
538 declare int %puts(sbyte*)
540 declare sbyte* %calloc(ulong, ulong)
542 declare long %getfree(%network_t*)