; ModuleID = 'bugpoint-reduced-simplified.bc'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"
	%struct.StackElem = type { i32, i32, i32 }
	%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
	%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
	%struct.spec_fd_t = type { i32, i32, i32, i8* }
@crc32Table = external constant [256 x i32], align 32		; <[256 x i32]*> [#uses=0]
@globalCrc = external global i32		; <i32*> [#uses=1]
@bsStream = external global %struct.spec_fd_t*		; <%struct.spec_fd_t**> [#uses=0]
@bsLive = external global i32		; <i32*> [#uses=0]
@bsBuff = external global i32		; <i32*> [#uses=0]
@bytesOut = external global i32		; <i32*> [#uses=0]
@bytesIn = external global i32		; <i32*> [#uses=0]
@bsWriting = external global i8		; <i8*> [#uses=0]
@.str = external constant [21 x i8]		; <[21 x i8]*> [#uses=0]
@.str1 = external constant [21 x i8]		; <[21 x i8]*> [#uses=0]
@blockSize100k = external global i32		; <i32*> [#uses=0]
@block = external global i8*		; <i8**> [#uses=0]
@quadrant = external global i16*		; <i16**> [#uses=0]
@zptr = external global i32*		; <i32**> [#uses=0]
@ftab = external global i32*		; <i32**> [#uses=0]
@szptr = external global i16*		; <i16**> [#uses=0]
@.str2 = external constant [28 x i8]		; <[28 x i8]*> [#uses=0]
@ll16 = external global i16*		; <i16**> [#uses=0]
@ll4 = external global i8*		; <i8**> [#uses=0]
@ll8 = external global i8*		; <i8**> [#uses=0]
@tt = external global i32*		; <i32**> [#uses=0]
@nInUse = external global i32		; <i32*> [#uses=0]
@seqToUnseq = external global [256 x i8], align 32		; <[256 x i8]*> [#uses=0]
@.str3 = external constant [10 x i8]		; <[10 x i8]*> [#uses=0]
@unseqToSeq = external global [256 x i8], align 32		; <[256 x i8]*> [#uses=0]
@inUse = external global [256 x i8], align 32		; <[256 x i8]*> [#uses=0]
@mtfFreq = external global [258 x i32], align 32		; <[258 x i32]*> [#uses=0]
@last = external global i32		; <i32*> [#uses=0]
@nMTF = external global i32		; <i32*> [#uses=0]
@stderr = external global %struct._IO_FILE*		; <%struct._IO_FILE**> [#uses=0]
@len = external global [6 x [258 x i8]], align 32		; <[6 x [258 x i8]]*> [#uses=0]
@.str5 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@rfreq = external global [6 x [258 x i32]], align 32		; <[6 x [258 x i32]]*> [#uses=0]
@selector = external global [18002 x i8], align 32		; <[18002 x i8]*> [#uses=0]
@.str9 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@.str10 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@selectorMtf = external global [18002 x i8], align 32		; <[18002 x i8]*> [#uses=0]
@.str11 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@.str12 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@code = external global [6 x [258 x i32]], align 32		; <[6 x [258 x i32]]*> [#uses=0]
@.str16 = external constant [17 x i8]		; <[17 x i8]*> [#uses=0]
@origPtr = external global i32		; <i32*> [#uses=0]
@perm = external global [6 x [258 x i32]], align 32		; <[6 x [258 x i32]]*> [#uses=0]
@base = external global [6 x [258 x i32]], align 32		; <[6 x [258 x i32]]*> [#uses=0]
@limit = external global [6 x [258 x i32]], align 32		; <[6 x [258 x i32]]*> [#uses=0]
@minLens = external global [6 x i32], align 16		; <[6 x i32]*> [#uses=0]
@unzftab = external global [256 x i32], align 32		; <[256 x i32]*> [#uses=0]
@workDone = external global i32		; <i32*> [#uses=0]
@incs = external constant [14 x i32], align 32		; <[14 x i32]*> [#uses=0]
@workLimit = external global i32		; <i32*> [#uses=0]
@firstAttempt.b = external global i1		; <i1*> [#uses=0]
@.str19 = external constant [25 x i8]		; <[25 x i8]*> [#uses=0]
@.str25 = external constant [7 x i8]		; <[7 x i8]*> [#uses=0]
@rNums = external constant [512 x i32], align 32		; <[512 x i32]*> [#uses=0]
@workFactor.b = external global i1		; <i1*> [#uses=0]
@blockRandomised = external global i8		; <i8*> [#uses=0]
@.str30 = external constant [27 x i8]		; <[27 x i8]*> [#uses=0]
@nBlocksRandomised = external global i32		; <i32*> [#uses=0]
@inName = external global [1024 x i8], align 32		; <[1024 x i8]*> [#uses=0]
@.str51 = external constant [243 x i8]		; <[243 x i8]*> [#uses=0]
@.str52 = external constant [36 x i8]		; <[36 x i8]*> [#uses=0]
@outName = external global [1024 x i8], align 32		; <[1024 x i8]*> [#uses=0]
@.str56 = external constant [108 x i8]		; <[108 x i8]*> [#uses=0]
@.str58 = external constant [87 x i8]		; <[87 x i8]*> [#uses=0]
@.str59 = external constant [95 x i8]		; <[95 x i8]*> [#uses=0]
@.str61 = external constant [99 x i8]		; <[99 x i8]*> [#uses=0]
@.str62 = external constant [86 x i8]		; <[86 x i8]*> [#uses=0]
@.str67 = external constant [206 x i8]		; <[206 x i8]*> [#uses=0]
@.str68 = external constant [146 x i8]		; <[146 x i8]*> [#uses=0]
@spec_fd_ptr = external constant [3 x %struct.spec_fd_t*], align 16		; <[3 x %struct.spec_fd_t*]*> [#uses=0]
@spec_fd0 = external global %struct.spec_fd_t, align 16		; <%struct.spec_fd_t*> [#uses=0]
@spec_fd1 = external global %struct.spec_fd_t, align 16		; <%struct.spec_fd_t*> [#uses=0]
@spec_fd2 = external global %struct.spec_fd_t, align 16		; <%struct.spec_fd_t*> [#uses=0]
@.str69 = external constant [10 x i8]		; <[10 x i8]*> [#uses=0]
@.str170 = external constant [35 x i8]		; <[35 x i8]*> [#uses=0]
@.str574 = external constant [24 x i8]		; <[24 x i8]*> [#uses=0]
@.str675 = external constant [27 x i8]		; <[27 x i8]*> [#uses=0]
@.str776 = external constant [22 x i8]		; <[22 x i8]*> [#uses=0]
@.str1382 = external constant [26 x i8]		; <[26 x i8]*> [#uses=0]
@.str1483 = external constant [72 x i8]		; <[72 x i8]*> [#uses=0]
@.str1786 = external constant [15 x i8]		; <[15 x i8]*> [#uses=0]
@.str1887 = external constant [19 x i8]		; <[19 x i8]*> [#uses=0]
@.str1988 = external constant [31 x i8]		; <[31 x i8]*> [#uses=0]
@.str2089 = external constant [30 x i8]		; <[30 x i8]*> [#uses=0]
@.str2190 = external constant [34 x i8]		; <[34 x i8]*> [#uses=0]
@.str2291 = external constant [36 x i8]		; <[36 x i8]*> [#uses=0]
@.str2392 = external constant [19 x i8]		; <[19 x i8]*> [#uses=0]
@.str2493 = external constant [38 x i8]		; <[38 x i8]*> [#uses=0]
@.str2594 = external constant [35 x i8]		; <[35 x i8]*> [#uses=0]
@.str2695 = external constant [37 x i8]		; <[37 x i8]*> [#uses=0]
@.str2796 = external constant [25 x i8]		; <[25 x i8]*> [#uses=0]

define fastcc i32 @getGlobalCRC() nounwind readonly {
entry:
	%0 = load i32* @globalCrc, align 4		; <i32> [#uses=1]
	ret i32 %0
}

declare fastcc void @setGlobalCRC(i32) nounwind

declare fastcc zeroext i8 @bsGetUChar() nounwind

declare fastcc i32 @bsGetUInt32() nounwind

declare fastcc void @bsPutUInt32(i32) nounwind

declare void @lwpm_annotation(i8* noalias, i8* noalias)

declare i32 @fprintf(%struct._IO_FILE* noalias nocapture, i8* noalias nocapture, ...) nounwind

declare fastcc zeroext i8 @fullGtU(i32, i32) nounwind

declare fastcc void @simpleSort(i32, i32, i32) nounwind

declare fastcc void @sortIt() nounwind

declare i64 @fwrite(i8* nocapture, i64, i64, i8* nocapture) nounwind

declare fastcc i32 @indexIntoF(i32, i32* nocapture) nounwind readonly

declare fastcc void @cleanUpAndFail(i32) noreturn nounwind

declare void @exit(i32) noreturn nounwind

declare fastcc void @panic(i8*) noreturn nounwind

declare fastcc void @crcError(i32, i32) noreturn nounwind

declare fastcc void @compressedStreamEOF() noreturn nounwind

declare void @perror(i8* nocapture) nounwind

declare fastcc void @blockOverrun() noreturn nounwind

declare i32 @puts(i8* nocapture) nounwind

declare void @llvm.memset.i64(i8* nocapture, i8, i64, i32) nounwind

declare i32 @printf(i8* noalias nocapture, ...) nounwind

declare void @llvm.memcpy.i64(i8* nocapture, i8* nocapture, i64, i32) nounwind

declare i32 @open(i8* nocapture, i32, ...)

declare i32* @__errno_location() nounwind readnone

declare i8* @strerror(i32) nounwind

declare i32 @read(...)

declare i32 @close(...)

declare fastcc void @spec_putc(i8 zeroext, %struct.spec_fd_t* nocapture) nounwind

declare i32 @main(i32, i8** nocapture) nounwind

declare i32 @atoi(i8* nocapture) nounwind readonly
