; RUN: llvm-as < %s | llc -mtriple=thumbv7-apple-darwin -mattr=+neon,+neonfp -relocation-model=pic -disable-fp-elim -O3

	type { i16, i8, i8 }		; type %0
	type { [2 x i32], [2 x i32] }		; type %1
	type { %struct.GAP }		; type %2
	type { %struct.rec* }		; type %3
	type { i8, i8, i16, i8, i8, i8, i8 }		; type %4
	type { i8, i8, i8, i8 }		; type %5
	%struct.COMPOSITE = type { i8, i16, i16 }
	%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
	%struct.FILE_POS = type { i8, i8, i16, i32 }
	%struct.FIRST_UNION = type { %struct.FILE_POS }
	%struct.FONT_INFO = type { %struct.metrics*, i8*, i16*, %struct.COMPOSITE*, i32, %struct.rec*, %struct.rec*, i16, i16, i16*, i8*, i8*, i16* }
	%struct.FOURTH_UNION = type { %struct.STYLE }
	%struct.GAP = type { i8, i8, i16 }
	%struct.LIST = type { %struct.rec*, %struct.rec* }
	%struct.SECOND_UNION = type { %0 }
	%struct.STYLE = type { %2, %2, i16, i16, i32 }
	%struct.THIRD_UNION = type { %1 }
	%struct.__sFILEX = type opaque
	%struct.__sbuf = type { i8*, i32 }
	%struct.head_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, %struct.rec*, %3, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, i32 }
	%struct.metrics = type { i16, i16, i16, i16, i16 }
	%struct.rec = type { %struct.head_type }
@.str24239 = external constant [20 x i8], align 1		; <[20 x i8]*> [#uses=1]
@no_file_pos = external global %4		; <%4*> [#uses=1]
@.str19294 = external constant [9 x i8], align 1		; <[9 x i8]*> [#uses=1]
@zz_lengths = external global [150 x i8]		; <[150 x i8]*> [#uses=1]
@next_free.4772 = external global i8**		; <i8***> [#uses=3]
@top_free.4773 = external global i8**		; <i8***> [#uses=2]
@.str1575 = external constant [32 x i8], align 1		; <[32 x i8]*> [#uses=1]
@zz_free = external global [524 x %struct.rec*]		; <[524 x %struct.rec*]*> [#uses=2]
@zz_hold = external global %struct.rec*		; <%struct.rec**> [#uses=5]
@zz_tmp = external global %struct.rec*		; <%struct.rec**> [#uses=2]
@zz_res = external global %struct.rec*		; <%struct.rec**> [#uses=2]
@xx_link = external global %struct.rec*		; <%struct.rec**> [#uses=2]
@font_count = external global i32		; <i32*> [#uses=1]
@.str81872 = external constant [10 x i8], align 1		; <[10 x i8]*> [#uses=1]
@.str101874 = external constant [30 x i8], align 1		; <[30 x i8]*> [#uses=1]
@.str111875 = external constant [17 x i8], align 1		; <[17 x i8]*> [#uses=1]
@.str141878 = external constant [27 x i8], align 1		; <[27 x i8]*> [#uses=1]
@out_fp = external global %struct.FILE*		; <%struct.FILE**> [#uses=3]
@.str192782 = external constant [17 x i8], align 1		; <[17 x i8]*> [#uses=1]
@cpexists = external global i32		; <i32*> [#uses=2]
@.str212784 = external constant [17 x i8], align 1		; <[17 x i8]*> [#uses=1]
@currentfont = external global i32		; <i32*> [#uses=3]
@wordcount = external global i32		; <i32*> [#uses=1]
@needs = external global %struct.rec*		; <%struct.rec**> [#uses=1]
@.str742838 = external constant [6 x i8], align 1		; <[6 x i8]*> [#uses=1]
@.str752839 = external constant [10 x i8], align 1		; <[10 x i8]*> [#uses=1]
@.str1802944 = external constant [40 x i8], align 1		; <[40 x i8]*> [#uses=1]
@.str1822946 = external constant [8 x i8], align 1		; <[8 x i8]*> [#uses=1]
@.str1842948 = external constant [11 x i8], align 1		; <[11 x i8]*> [#uses=1]
@.str1852949 = external constant [23 x i8], align 1		; <[23 x i8]*> [#uses=1]
@.str1872951 = external constant [17 x i8], align 1		; <[17 x i8]*> [#uses=1]
@.str1932957 = external constant [26 x i8], align 1		; <[26 x i8]*> [#uses=1]

declare arm_apcscc i32 @fprintf(%struct.FILE* nocapture, i8* nocapture, ...) nounwind

declare arm_apcscc i32 @"\01_fwrite"(i8*, i32, i32, i8*)

declare arm_apcscc i32 @remove(i8* nocapture) nounwind

declare arm_apcscc %struct.FILE* @OpenIncGraphicFile(i8*, i8 zeroext, %struct.rec** nocapture, %struct.FILE_POS*, i32* nocapture) nounwind

declare arm_apcscc %struct.rec* @MakeWord(i32, i8* nocapture, %struct.FILE_POS*) nounwind

declare arm_apcscc void @Error(i32, i32, i8*, i32, %struct.FILE_POS*, ...) nounwind

declare arm_apcscc i32 @"\01_fputs"(i8*, %struct.FILE*)

declare arm_apcscc noalias i8* @calloc(i32, i32) nounwind

declare arm_apcscc i8* @fgets(i8*, i32, %struct.FILE* nocapture) nounwind

define arm_apcscc void @PS_PrintGraphicInclude(%struct.rec* %x, i32 %colmark, i32 %rowmark) nounwind {
entry:
	%buff = alloca [512 x i8], align 4		; <[512 x i8]*> [#uses=5]
	%0 = getelementptr %struct.rec* %x, i32 0, i32 0, i32 1, i32 0, i32 0		; <i8*> [#uses=2]
	%1 = load i8* %0, align 4		; <i8> [#uses=1]
	%2 = add i8 %1, -94		; <i8> [#uses=1]
	%3 = icmp ugt i8 %2, 1		; <i1> [#uses=1]
	br i1 %3, label %bb, label %bb1

bb:		; preds = %entry
	br label %bb1

bb1:		; preds = %bb, %entry
	%4 = getelementptr %struct.rec* %x, i32 0, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%5 = bitcast %struct.SECOND_UNION* %4 to %5*		; <%5*> [#uses=1]
	%6 = getelementptr %5* %5, i32 0, i32 1		; <i8*> [#uses=1]
	%7 = load i8* %6, align 1		; <i8> [#uses=1]
	%8 = icmp eq i8 %7, 0		; <i1> [#uses=1]
	br i1 %8, label %bb2, label %bb3

bb2:		; preds = %bb1
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([40 x i8]* @.str1802944, i32 0, i32 0)) nounwind
	br label %bb3

bb3:		; preds = %bb2, %bb1
	%9 = load %struct.rec** undef, align 4		; <%struct.rec*> [#uses=0]
	br label %bb5

bb5:		; preds = %bb5, %bb3
	%y.0 = load %struct.rec** null		; <%struct.rec*> [#uses=2]
	br i1 false, label %bb5, label %bb6

bb6:		; preds = %bb5
	%10 = load i8* %0, align 4		; <i8> [#uses=1]
	%11 = getelementptr %struct.rec* %y.0, i32 0, i32 0, i32 1, i32 0		; <%struct.FILE_POS*> [#uses=1]
	%12 = call arm_apcscc  %struct.FILE* @OpenIncGraphicFile(i8* undef, i8 zeroext %10, %struct.rec** null, %struct.FILE_POS* %11, i32* undef) nounwind		; <%struct.FILE*> [#uses=4]
	br i1 false, label %bb7, label %bb8

bb7:		; preds = %bb6
	unreachable

bb8:		; preds = %bb6
	%13 = and i32 undef, 4095		; <i32> [#uses=2]
	%14 = load i32* @currentfont, align 4		; <i32> [#uses=0]
	br i1 false, label %bb10, label %bb9

bb9:		; preds = %bb8
	%15 = icmp ult i32 0, %13		; <i1> [#uses=1]
	br i1 %15, label %bb.i, label %FontHalfXHeight.exit

bb.i:		; preds = %bb9
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([17 x i8]* @.str111875, i32 0, i32 0)) nounwind
	%.pre186 = load i32* @currentfont, align 4		; <i32> [#uses=1]
	br label %FontHalfXHeight.exit

FontHalfXHeight.exit:		; preds = %bb.i, %bb9
	%16 = phi i32 [ %.pre186, %bb.i ], [ %13, %bb9 ]		; <i32> [#uses=1]
	br i1 false, label %bb.i1, label %bb1.i

bb.i1:		; preds = %FontHalfXHeight.exit
	br label %bb1.i

bb1.i:		; preds = %bb.i1, %FontHalfXHeight.exit
	br i1 undef, label %bb2.i, label %FontSize.exit

bb2.i:		; preds = %bb1.i
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 37, i32 61, i8* getelementptr ([30 x i8]* @.str101874, i32 0, i32 0), i32 1, %struct.FILE_POS* null) nounwind
	unreachable

FontSize.exit:		; preds = %bb1.i
	%17 = getelementptr %struct.FONT_INFO* undef, i32 %16, i32 5		; <%struct.rec**> [#uses=0]
	%18 = load i32* undef, align 4		; <i32> [#uses=1]
	%19 = load i32* @currentfont, align 4		; <i32> [#uses=2]
	%20 = load i32* @font_count, align 4		; <i32> [#uses=1]
	%21 = icmp ult i32 %20, %19		; <i1> [#uses=1]
	br i1 %21, label %bb.i5, label %FontName.exit

bb.i5:		; preds = %FontSize.exit
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([10 x i8]* @.str81872, i32 0, i32 0)) nounwind
	br label %FontName.exit

FontName.exit:		; preds = %bb.i5, %FontSize.exit
	%22 = phi %struct.FONT_INFO* [ undef, %bb.i5 ], [ undef, %FontSize.exit ]		; <%struct.FONT_INFO*> [#uses=1]
	%23 = getelementptr %struct.FONT_INFO* %22, i32 %19, i32 5		; <%struct.rec**> [#uses=0]
	%24 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([8 x i8]* @.str1822946, i32 0, i32 0), i32 %18, i8* null) nounwind		; <i32> [#uses=0]
	br label %bb10

bb10:		; preds = %FontName.exit, %bb8
	%25 = call arm_apcscc  i32 @"\01_fwrite"(i8* getelementptr ([11 x i8]* @.str1842948, i32 0, i32 0), i32 1, i32 10, i8* undef) nounwind		; <i32> [#uses=0]
	%26 = sub i32 %rowmark, undef		; <i32> [#uses=1]
	%27 = load %struct.FILE** @out_fp, align 4		; <%struct.FILE*> [#uses=1]
	%28 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %27, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 undef, i32 %26) nounwind		; <i32> [#uses=0]
	store i32 0, i32* @cpexists, align 4
	%29 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([17 x i8]* @.str192782, i32 0, i32 0), double 2.000000e+01, double 2.000000e+01) nounwind		; <i32> [#uses=0]
	%30 = getelementptr %struct.rec* %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0		; <i32*> [#uses=1]
	%31 = load i32* %30, align 4		; <i32> [#uses=1]
	%32 = sub i32 0, %31		; <i32> [#uses=1]
	%33 = load i32* undef, align 4		; <i32> [#uses=1]
	%34 = sub i32 0, %33		; <i32> [#uses=1]
	%35 = load %struct.FILE** @out_fp, align 4		; <%struct.FILE*> [#uses=1]
	%36 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %35, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 %32, i32 %34) nounwind		; <i32> [#uses=0]
	store i32 0, i32* @cpexists, align 4
	%37 = load %struct.rec** null, align 4		; <%struct.rec*> [#uses=1]
	%38 = getelementptr %struct.rec* %37, i32 0, i32 0, i32 4		; <%struct.FOURTH_UNION*> [#uses=1]
	%39 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([23 x i8]* @.str1852949, i32 0, i32 0), %struct.FOURTH_UNION* %38) nounwind		; <i32> [#uses=0]
	%buff14 = getelementptr [512 x i8]* %buff, i32 0, i32 0		; <i8*> [#uses=5]
	%40 = call arm_apcscc  i8* @fgets(i8* %buff14, i32 512, %struct.FILE* %12) nounwind		; <i8*> [#uses=0]
	%iftmp.506.0 = select i1 undef, i32 2, i32 0		; <i32> [#uses=1]
	%41 = getelementptr [512 x i8]* %buff, i32 0, i32 26		; <i8*> [#uses=1]
	br label %bb100.outer.outer

bb100.outer.outer:		; preds = %bb83, %bb10
	%state.0.ph.ph = phi i32 [ %iftmp.506.0, %bb10 ], [ undef, %bb83 ]		; <i32> [#uses=1]
	%x_addr.0.ph.ph = phi %struct.rec* [ %x, %bb10 ], [ %71, %bb83 ]		; <%struct.rec*> [#uses=1]
	%42 = getelementptr %struct.rec* %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0		; <%struct.FILE_POS*> [#uses=0]
	br label %bb100.outer

bb.i80:		; preds = %bb3.i85
	%43 = icmp eq i8 %44, %46		; <i1> [#uses=1]
	%indvar.next.i79 = add i32 %indvar.i81, 1		; <i32> [#uses=1]
	br i1 %43, label %bb2.i84, label %bb2.i51

bb2.i84:		; preds = %bb100.outer, %bb.i80
	%indvar.i81 = phi i32 [ %indvar.next.i79, %bb.i80 ], [ 0, %bb100.outer ]		; <i32> [#uses=3]
	%pp.0.i82 = getelementptr [27 x i8]* @.str141878, i32 0, i32 %indvar.i81		; <i8*> [#uses=2]
	%sp.0.i83 = getelementptr [512 x i8]* %buff, i32 0, i32 %indvar.i81		; <i8*> [#uses=1]
	%44 = load i8* %sp.0.i83, align 1		; <i8> [#uses=2]
	%45 = icmp eq i8 %44, 0		; <i1> [#uses=1]
	br i1 %45, label %StringBeginsWith.exit88thread-split, label %bb3.i85

bb3.i85:		; preds = %bb2.i84
	%46 = load i8* %pp.0.i82, align 1		; <i8> [#uses=3]
	%47 = icmp eq i8 %46, 0		; <i1> [#uses=1]
	br i1 %47, label %StringBeginsWith.exit88, label %bb.i80

StringBeginsWith.exit88thread-split:		; preds = %bb2.i84
	%.pr = load i8* %pp.0.i82		; <i8> [#uses=1]
	br label %StringBeginsWith.exit88

StringBeginsWith.exit88:		; preds = %StringBeginsWith.exit88thread-split, %bb3.i85
	%48 = phi i8 [ %.pr, %StringBeginsWith.exit88thread-split ], [ %46, %bb3.i85 ]		; <i8> [#uses=1]
	%phitmp91 = icmp eq i8 %48, 0		; <i1> [#uses=1]
	br i1 %phitmp91, label %bb3.i77, label %bb2.i51

bb2.i.i68:		; preds = %bb3.i77
	br i1 false, label %bb2.i51, label %bb2.i75

bb2.i75:		; preds = %bb2.i.i68
	br label %bb3.i77

bb3.i77:		; preds = %bb2.i75, %StringBeginsWith.exit88
	%sp.0.i76 = getelementptr [512 x i8]* %buff, i32 0, i32 undef		; <i8*> [#uses=1]
	%49 = load i8* %sp.0.i76, align 1		; <i8> [#uses=1]
	%50 = icmp eq i8 %49, 0		; <i1> [#uses=1]
	br i1 %50, label %bb24, label %bb2.i.i68

bb24:		; preds = %bb3.i77
	%51 = call arm_apcscc  %struct.rec* @MakeWord(i32 11, i8* %41, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind		; <%struct.rec*> [#uses=0]
	%52 = load i8* getelementptr ([150 x i8]* @zz_lengths, i32 0, i32 0), align 4		; <i8> [#uses=1]
	%53 = zext i8 %52 to i32		; <i32> [#uses=2]
	%54 = getelementptr [524 x %struct.rec*]* @zz_free, i32 0, i32 %53		; <%struct.rec**> [#uses=2]
	%55 = load %struct.rec** %54, align 4		; <%struct.rec*> [#uses=3]
	%56 = icmp eq %struct.rec* %55, null		; <i1> [#uses=1]
	br i1 %56, label %bb27, label %bb28

bb27:		; preds = %bb24
	br i1 undef, label %bb.i56, label %GetMemory.exit62

bb.i56:		; preds = %bb27
	br i1 undef, label %bb1.i58, label %bb2.i60

bb1.i58:		; preds = %bb.i56
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 31, i32 1, i8* getelementptr ([32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind
	br label %bb2.i60

bb2.i60:		; preds = %bb1.i58, %bb.i56
	%.pre1.i59 = phi i8** [ undef, %bb1.i58 ], [ undef, %bb.i56 ]		; <i8**> [#uses=1]
	store i8** undef, i8*** @top_free.4773, align 4
	br label %GetMemory.exit62

GetMemory.exit62:		; preds = %bb2.i60, %bb27
	%57 = phi i8** [ %.pre1.i59, %bb2.i60 ], [ undef, %bb27 ]		; <i8**> [#uses=1]
	%58 = getelementptr i8** %57, i32 %53		; <i8**> [#uses=1]
	store i8** %58, i8*** @next_free.4772, align 4
	store %struct.rec* undef, %struct.rec** @zz_hold, align 4
	br label %bb29

bb28:		; preds = %bb24
	store %struct.rec* %55, %struct.rec** @zz_hold, align 4
	%59 = load %struct.rec** null, align 4		; <%struct.rec*> [#uses=1]
	store %struct.rec* %59, %struct.rec** %54, align 4
	br label %bb29

bb29:		; preds = %bb28, %GetMemory.exit62
	%.pre184 = phi %struct.rec* [ %55, %bb28 ], [ undef, %GetMemory.exit62 ]		; <%struct.rec*> [#uses=3]
	store i8 0, i8* undef
	store %struct.rec* %.pre184, %struct.rec** @xx_link, align 4
	br i1 undef, label %bb35, label %bb31

bb31:		; preds = %bb29
	store %struct.rec* %.pre184, %struct.rec** undef
	br label %bb35

bb35:		; preds = %bb31, %bb29
	br i1 undef, label %bb41, label %bb37

bb37:		; preds = %bb35
	%60 = load %struct.rec** null, align 4		; <%struct.rec*> [#uses=1]
	store %struct.rec* %60, %struct.rec** undef
	store %struct.rec* undef, %struct.rec** null
	store %struct.rec* %.pre184, %struct.rec** null, align 4
	br label %bb41

bb41:		; preds = %bb37, %bb35
	%61 = call arm_apcscc  i8* @fgets(i8* %buff14, i32 512, %struct.FILE* %12) nounwind		; <i8*> [#uses=1]
	%62 = icmp eq i8* %61, null		; <i1> [#uses=1]
	%iftmp.554.0 = select i1 %62, i32 2, i32 1		; <i32> [#uses=1]
	br label %bb100.outer

bb.i47:		; preds = %bb3.i52
	%63 = icmp eq i8 %64, %65		; <i1> [#uses=1]
	br i1 %63, label %bb2.i51, label %bb2.i41

bb2.i51:		; preds = %bb.i47, %bb2.i.i68, %StringBeginsWith.exit88, %bb.i80
	%pp.0.i49 = getelementptr [17 x i8]* @.str1872951, i32 0, i32 0		; <i8*> [#uses=1]
	%64 = load i8* null, align 1		; <i8> [#uses=1]
	br i1 false, label %StringBeginsWith.exit55thread-split, label %bb3.i52

bb3.i52:		; preds = %bb2.i51
	%65 = load i8* %pp.0.i49, align 1		; <i8> [#uses=1]
	br i1 false, label %StringBeginsWith.exit55, label %bb.i47

StringBeginsWith.exit55thread-split:		; preds = %bb2.i51
	br label %StringBeginsWith.exit55

StringBeginsWith.exit55:		; preds = %StringBeginsWith.exit55thread-split, %bb3.i52
	br i1 false, label %bb49, label %bb2.i41

bb49:		; preds = %StringBeginsWith.exit55
	br label %bb2.i41

bb2.i41:		; preds = %bb2.i41, %bb49, %StringBeginsWith.exit55, %bb.i47
	br i1 false, label %bb2.i41, label %bb2.i.i15

bb2.i.i15:		; preds = %bb2.i41
	%pp.0.i.i13 = getelementptr [6 x i8]* @.str742838, i32 0, i32 0		; <i8*> [#uses=1]
	br i1 false, label %StringBeginsWith.exitthread-split.i18, label %bb3.i.i16

bb3.i.i16:		; preds = %bb2.i.i15
	%66 = load i8* %pp.0.i.i13, align 1		; <i8> [#uses=1]
	br label %StringBeginsWith.exit.i20

StringBeginsWith.exitthread-split.i18:		; preds = %bb2.i.i15
	br label %StringBeginsWith.exit.i20

StringBeginsWith.exit.i20:		; preds = %StringBeginsWith.exitthread-split.i18, %bb3.i.i16
	%67 = phi i8 [ undef, %StringBeginsWith.exitthread-split.i18 ], [ %66, %bb3.i.i16 ]		; <i8> [#uses=1]
	%phitmp.i19 = icmp eq i8 %67, 0		; <i1> [#uses=1]
	br i1 %phitmp.i19, label %bb58, label %bb2.i6.i26

bb2.i6.i26:		; preds = %bb2.i6.i26, %StringBeginsWith.exit.i20
	%indvar.i3.i23 = phi i32 [ %indvar.next.i1.i21, %bb2.i6.i26 ], [ 0, %StringBeginsWith.exit.i20 ]		; <i32> [#uses=3]
	%sp.0.i5.i25 = getelementptr [512 x i8]* %buff, i32 0, i32 %indvar.i3.i23		; <i8*> [#uses=0]
	%pp.0.i4.i24 = getelementptr [10 x i8]* @.str752839, i32 0, i32 %indvar.i3.i23		; <i8*> [#uses=1]
	%68 = load i8* %pp.0.i4.i24, align 1		; <i8> [#uses=0]
	%indvar.next.i1.i21 = add i32 %indvar.i3.i23, 1		; <i32> [#uses=1]
	br i1 undef, label %bb2.i6.i26, label %bb55

bb55:		; preds = %bb2.i6.i26
	%69 = call arm_apcscc  i32 @"\01_fputs"(i8* %buff14, %struct.FILE* undef) nounwind		; <i32> [#uses=0]
	unreachable

bb58:		; preds = %StringBeginsWith.exit.i20
	%70 = call arm_apcscc  i8* @fgets(i8* %buff14, i32 512, %struct.FILE* %12) nounwind		; <i8*> [#uses=0]
	%iftmp.560.0 = select i1 undef, i32 2, i32 0		; <i32> [#uses=1]
	br label %bb100.outer

bb.i7:		; preds = %bb3.i
	br i1 false, label %bb2.i8, label %bb2.i.i

bb2.i8:		; preds = %bb100.outer, %bb.i7
	br i1 undef, label %StringBeginsWith.exitthread-split, label %bb3.i

bb3.i:		; preds = %bb2.i8
	br i1 undef, label %StringBeginsWith.exit, label %bb.i7

StringBeginsWith.exitthread-split:		; preds = %bb2.i8
	br label %StringBeginsWith.exit

StringBeginsWith.exit:		; preds = %StringBeginsWith.exitthread-split, %bb3.i
	%phitmp93 = icmp eq i8 undef, 0		; <i1> [#uses=1]
	br i1 %phitmp93, label %bb66, label %bb2.i.i

bb66:		; preds = %StringBeginsWith.exit
	%71 = call arm_apcscc  %struct.rec* @MakeWord(i32 11, i8* undef, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind		; <%struct.rec*> [#uses=4]
	%72 = load i8* getelementptr ([150 x i8]* @zz_lengths, i32 0, i32 0), align 4		; <i8> [#uses=1]
	%73 = zext i8 %72 to i32		; <i32> [#uses=2]
	%74 = getelementptr [524 x %struct.rec*]* @zz_free, i32 0, i32 %73		; <%struct.rec**> [#uses=2]
	%75 = load %struct.rec** %74, align 4		; <%struct.rec*> [#uses=3]
	%76 = icmp eq %struct.rec* %75, null		; <i1> [#uses=1]
	br i1 %76, label %bb69, label %bb70

bb69:		; preds = %bb66
	br i1 undef, label %bb.i2, label %GetMemory.exit

bb.i2:		; preds = %bb69
	%77 = call arm_apcscc  noalias i8* @calloc(i32 1020, i32 4) nounwind		; <i8*> [#uses=1]
	%78 = bitcast i8* %77 to i8**		; <i8**> [#uses=3]
	store i8** %78, i8*** @next_free.4772, align 4
	br i1 undef, label %bb1.i3, label %bb2.i4

bb1.i3:		; preds = %bb.i2
	call arm_apcscc  void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 31, i32 1, i8* getelementptr ([32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind
	br label %bb2.i4

bb2.i4:		; preds = %bb1.i3, %bb.i2
	%.pre1.i = phi i8** [ undef, %bb1.i3 ], [ %78, %bb.i2 ]		; <i8**> [#uses=1]
	%79 = phi i8** [ undef, %bb1.i3 ], [ %78, %bb.i2 ]		; <i8**> [#uses=1]
	%80 = getelementptr i8** %79, i32 1020		; <i8**> [#uses=1]
	store i8** %80, i8*** @top_free.4773, align 4
	br label %GetMemory.exit

GetMemory.exit:		; preds = %bb2.i4, %bb69
	%81 = phi i8** [ %.pre1.i, %bb2.i4 ], [ undef, %bb69 ]		; <i8**> [#uses=2]
	%82 = bitcast i8** %81 to %struct.rec*		; <%struct.rec*> [#uses=3]
	%83 = getelementptr i8** %81, i32 %73		; <i8**> [#uses=1]
	store i8** %83, i8*** @next_free.4772, align 4
	store %struct.rec* %82, %struct.rec** @zz_hold, align 4
	br label %bb71

bb70:		; preds = %bb66
	%84 = load %struct.rec** null, align 4		; <%struct.rec*> [#uses=1]
	store %struct.rec* %84, %struct.rec** %74, align 4
	br label %bb71

bb71:		; preds = %bb70, %GetMemory.exit
	%.pre185 = phi %struct.rec* [ %75, %bb70 ], [ %82, %GetMemory.exit ]		; <%struct.rec*> [#uses=8]
	%85 = phi %struct.rec* [ %75, %bb70 ], [ %82, %GetMemory.exit ]		; <%struct.rec*> [#uses=1]
	%86 = getelementptr %struct.rec* %85, i32 0, i32 0, i32 1, i32 0, i32 0		; <i8*> [#uses=0]
	%87 = getelementptr %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 1		; <%struct.rec**> [#uses=0]
	%88 = getelementptr %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 0		; <%struct.rec**> [#uses=1]
	store %struct.rec* %.pre185, %struct.rec** @xx_link, align 4
	store %struct.rec* %.pre185, %struct.rec** @zz_res, align 4
	%89 = load %struct.rec** @needs, align 4		; <%struct.rec*> [#uses=2]
	store %struct.rec* %89, %struct.rec** @zz_hold, align 4
	br i1 false, label %bb77, label %bb73

bb73:		; preds = %bb71
	%90 = getelementptr %struct.rec* %89, i32 0, i32 0, i32 0, i32 0, i32 0		; <%struct.rec**> [#uses=1]
	store %struct.rec* null, %struct.rec** @zz_tmp, align 4
	store %struct.rec* %.pre185, %struct.rec** %90
	store %struct.rec* %.pre185, %struct.rec** undef, align 4
	br label %bb77

bb77:		; preds = %bb73, %bb71
	store %struct.rec* %.pre185, %struct.rec** @zz_res, align 4
	store %struct.rec* %71, %struct.rec** @zz_hold, align 4
	br i1 undef, label %bb83, label %bb79

bb79:		; preds = %bb77
	%91 = getelementptr %struct.rec* %71, i32 0, i32 0, i32 0, i32 1, i32 0		; <%struct.rec**> [#uses=1]
	store %struct.rec* null, %struct.rec** @zz_tmp, align 4
	%92 = load %struct.rec** %88, align 4		; <%struct.rec*> [#uses=1]
	store %struct.rec* %92, %struct.rec** %91
	%93 = getelementptr %struct.rec* undef, i32 0, i32 0, i32 0, i32 1, i32 1		; <%struct.rec**> [#uses=1]
	store %struct.rec* %71, %struct.rec** %93, align 4
	store %struct.rec* %.pre185, %struct.rec** undef, align 4
	br label %bb83

bb83:		; preds = %bb79, %bb77
	br label %bb100.outer.outer

bb.i.i:		; preds = %bb3.i.i
	br i1 undef, label %bb2.i.i, label %bb2.i6.i

bb2.i.i:		; preds = %bb.i.i, %StringBeginsWith.exit, %bb.i7
	br i1 undef, label %StringBeginsWith.exitthread-split.i, label %bb3.i.i

bb3.i.i:		; preds = %bb2.i.i
	br i1 undef, label %StringBeginsWith.exit.i, label %bb.i.i

StringBeginsWith.exitthread-split.i:		; preds = %bb2.i.i
	br label %StringBeginsWith.exit.i

StringBeginsWith.exit.i:		; preds = %StringBeginsWith.exitthread-split.i, %bb3.i.i
	br i1 false, label %bb94, label %bb2.i6.i

bb.i2.i:		; preds = %bb3.i7.i
	br i1 false, label %bb2.i6.i, label %bb91

bb2.i6.i:		; preds = %bb.i2.i, %StringBeginsWith.exit.i, %bb.i.i
	br i1 undef, label %strip_out.exitthread-split, label %bb3.i7.i

bb3.i7.i:		; preds = %bb2.i6.i
	%94 = load i8* undef, align 1		; <i8> [#uses=1]
	br i1 undef, label %strip_out.exit, label %bb.i2.i

strip_out.exitthread-split:		; preds = %bb2.i6.i
	%.pr100 = load i8* undef		; <i8> [#uses=1]
	br label %strip_out.exit

strip_out.exit:		; preds = %strip_out.exitthread-split, %bb3.i7.i
	%95 = phi i8 [ %.pr100, %strip_out.exitthread-split ], [ %94, %bb3.i7.i ]		; <i8> [#uses=0]
	br i1 undef, label %bb94, label %bb91

bb91:		; preds = %strip_out.exit, %bb.i2.i
	unreachable

bb94:		; preds = %strip_out.exit, %StringBeginsWith.exit.i
	%96 = call arm_apcscc  i8* @fgets(i8* %buff14, i32 512, %struct.FILE* %12) nounwind		; <i8*> [#uses=0]
	unreachable

bb100.outer:		; preds = %bb58, %bb41, %bb100.outer.outer
	%state.0.ph = phi i32 [ %state.0.ph.ph, %bb100.outer.outer ], [ %iftmp.560.0, %bb58 ], [ %iftmp.554.0, %bb41 ]		; <i32> [#uses=1]
	switch i32 %state.0.ph, label %bb2.i84 [
		i32 2, label %bb101.split
		i32 1, label %bb2.i8
	]

bb101.split:		; preds = %bb100.outer
	%97 = icmp eq i32 undef, 0		; <i1> [#uses=1]
	br i1 %97, label %bb103, label %bb102

bb102:		; preds = %bb101.split
	%98 = call arm_apcscc  i32 @remove(i8* getelementptr ([9 x i8]* @.str19294, i32 0, i32 0)) nounwind		; <i32> [#uses=0]
	unreachable

bb103:		; preds = %bb101.split
	%99 = load %struct.FILE** @out_fp, align 4		; <%struct.FILE*> [#uses=1]
	%100 = call arm_apcscc  i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %99, i8* getelementptr ([26 x i8]* @.str1932957, i32 0, i32 0)) nounwind		; <i32> [#uses=0]
	store i32 0, i32* @wordcount, align 4
	ret void
}
