; LLVM IR from thalium/icebox :: third_party/virtualbox/src/VBox/Devices/EFI/Firmware/IntelFrameworkModulePkg (Table)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.PXE_T = type { [4 x i8], i8, i8, i8, i8, %struct.SEGOFF16, %struct.SEGOFF16, %struct.SEGOFF16, %struct.SEGOFF16, %struct.SEGOFF16, i8, i8, i16, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T, %struct.NEWSEGDESC_T }
%struct.SEGOFF16 = type { i16, i16 }
%struct.NEWSEGDESC_T = type <{ i16, i32, i16 }>

@.str.15 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [86 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare zeroext i8 @DebugPrintEnabled() #1

declare zeroext i8 @DebugPrintLevelEnabled(i64 noundef) #1

declare void @DebugPrint(i64 noundef, ptr noundef, ...) #1

; Function Attrs: nounwind uwtable
define dso_local void @Print_PXE_Table(ptr noundef %0) #2 {
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca i64, align 8
  %5 = alloca ptr, align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #3
  %6 = load ptr, ptr %2, align 8, !tbaa !5
  store ptr %6, ptr %3, align 8, !tbaa !5
  %7 = load ptr, ptr %2, align 8, !tbaa !5
  store ptr %7, ptr %5, align 8, !tbaa !5
  br label %8

8:                                                ; preds = %1
  %9 = call zeroext i8 @DebugPrintEnabled()
  %10 = icmp ne i8 %9, 0
  br i1 %10, label %11, label %20

11:                                               ; preds = %8
  br label %12

12:                                               ; preds = %11
  %13 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %14 = icmp ne i8 %13, 0
  br i1 %14, label %15, label %17

15:                                               ; preds = %12
  %16 = load ptr, ptr %2, align 8, !tbaa !5
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.27, ptr noundef %16)
  br label %17

17:                                               ; preds = %15, %12
  br label %18

18:                                               ; preds = %17
  br label %19

19:                                               ; preds = %18
  br label %20

20:                                               ; preds = %19, %8
  br label %21

21:                                               ; preds = %20
  br label %22

22:                                               ; preds = %21
  br label %23

23:                                               ; preds = %22
  %24 = call zeroext i8 @DebugPrintEnabled()
  %25 = icmp ne i8 %24, 0
  br i1 %25, label %26, label %34

26:                                               ; preds = %23
  br label %27

27:                                               ; preds = %26
  %28 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %29 = icmp ne i8 %28, 0
  br i1 %29, label %30, label %31

30:                                               ; preds = %27
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.28, i64 noundef 88)
  br label %31

31:                                               ; preds = %30, %27
  br label %32

32:                                               ; preds = %31
  br label %33

33:                                               ; preds = %32
  br label %34

34:                                               ; preds = %33, %23
  br label %35

35:                                               ; preds = %34
  br label %36

36:                                               ; preds = %35
  store i64 0, ptr %4, align 8, !tbaa !9
  br label %37

37:                                               ; preds = %78, %36
  %38 = load i64, ptr %4, align 8, !tbaa !9
  %39 = icmp ult i64 %38, 88
  br i1 %39, label %40, label %81

40:                                               ; preds = %37
  %41 = load i64, ptr %4, align 8, !tbaa !9
  %42 = urem i64 %41, 16
  %43 = icmp eq i64 %42, 0
  br i1 %43, label %44, label %59

44:                                               ; preds = %40
  br label %45

45:                                               ; preds = %44
  %46 = call zeroext i8 @DebugPrintEnabled()
  %47 = icmp ne i8 %46, 0
  br i1 %47, label %48, label %56

48:                                               ; preds = %45
  br label %49

49:                                               ; preds = %48
  %50 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %51 = icmp ne i8 %50, 0
  br i1 %51, label %52, label %53

52:                                               ; preds = %49
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.29)
  br label %53

53:                                               ; preds = %52, %49
  br label %54

54:                                               ; preds = %53
  br label %55

55:                                               ; preds = %54
  br label %56

56:                                               ; preds = %55, %45
  br label %57

57:                                               ; preds = %56
  br label %58

58:                                               ; preds = %57
  br label %59

59:                                               ; preds = %58, %40
  br label %60

60:                                               ; preds = %59
  %61 = call zeroext i8 @DebugPrintEnabled()
  %62 = icmp ne i8 %61, 0
  br i1 %62, label %63, label %75

63:                                               ; preds = %60
  br label %64

64:                                               ; preds = %63
  %65 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %66 = icmp ne i8 %65, 0
  br i1 %66, label %67, label %72

67:                                               ; preds = %64
  %68 = load ptr, ptr %5, align 8, !tbaa !5
  %69 = getelementptr inbounds i8, ptr %68, i32 1
  store ptr %69, ptr %5, align 8, !tbaa !5
  %70 = load i8, ptr %68, align 1, !tbaa !11
  %71 = zext i8 %70 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.30, i32 noundef %71)
  br label %72

72:                                               ; preds = %67, %64
  br label %73

73:                                               ; preds = %72
  br label %74

74:                                               ; preds = %73
  br label %75

75:                                               ; preds = %74, %60
  br label %76

76:                                               ; preds = %75
  br label %77

77:                                               ; preds = %76
  br label %78

78:                                               ; preds = %77
  %79 = load i64, ptr %4, align 8, !tbaa !9
  %80 = add i64 %79, 1
  store i64 %80, ptr %4, align 8, !tbaa !9
  br label %37, !llvm.loop !12

81:                                               ; preds = %37
  br label %82

82:                                               ; preds = %81
  %83 = call zeroext i8 @DebugPrintEnabled()
  %84 = icmp ne i8 %83, 0
  br i1 %84, label %85, label %93

85:                                               ; preds = %82
  br label %86

86:                                               ; preds = %85
  %87 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %88 = icmp ne i8 %87, 0
  br i1 %88, label %89, label %90

89:                                               ; preds = %86
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.31)
  br label %90

90:                                               ; preds = %89, %86
  br label %91

91:                                               ; preds = %90
  br label %92

92:                                               ; preds = %91
  br label %93

93:                                               ; preds = %92, %82
  br label %94

94:                                               ; preds = %93
  br label %95

95:                                               ; preds = %94
  br label %96

96:                                               ; preds = %95
  %97 = call zeroext i8 @DebugPrintEnabled()
  %98 = icmp ne i8 %97, 0
  br i1 %98, label %99, label %127

99:                                               ; preds = %96
  br label %100

100:                                              ; preds = %99
  %101 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %102 = icmp ne i8 %101, 0
  br i1 %102, label %103, label %124

103:                                              ; preds = %100
  %104 = load ptr, ptr %3, align 8, !tbaa !5
  %105 = getelementptr inbounds %struct.PXE_T, ptr %104, i32 0, i32 0
  %106 = getelementptr inbounds [4 x i8], ptr %105, i64 0, i64 0
  %107 = load i8, ptr %106, align 1, !tbaa !11
  %108 = zext i8 %107 to i32
  %109 = load ptr, ptr %3, align 8, !tbaa !5
  %110 = getelementptr inbounds %struct.PXE_T, ptr %109, i32 0, i32 0
  %111 = getelementptr inbounds [4 x i8], ptr %110, i64 0, i64 1
  %112 = load i8, ptr %111, align 1, !tbaa !11
  %113 = zext i8 %112 to i32
  %114 = load ptr, ptr %3, align 8, !tbaa !5
  %115 = getelementptr inbounds %struct.PXE_T, ptr %114, i32 0, i32 0
  %116 = getelementptr inbounds [4 x i8], ptr %115, i64 0, i64 2
  %117 = load i8, ptr %116, align 1, !tbaa !11
  %118 = zext i8 %117 to i32
  %119 = load ptr, ptr %3, align 8, !tbaa !5
  %120 = getelementptr inbounds %struct.PXE_T, ptr %119, i32 0, i32 0
  %121 = getelementptr inbounds [4 x i8], ptr %120, i64 0, i64 3
  %122 = load i8, ptr %121, align 1, !tbaa !11
  %123 = zext i8 %122 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.32, i32 noundef %108, i32 noundef %113, i32 noundef %118, i32 noundef %123)
  br label %124

124:                                              ; preds = %103, %100
  br label %125

125:                                              ; preds = %124
  br label %126

126:                                              ; preds = %125
  br label %127

127:                                              ; preds = %126, %96
  br label %128

128:                                              ; preds = %127
  br label %129

129:                                              ; preds = %128
  br label %130

130:                                              ; preds = %129
  %131 = call zeroext i8 @DebugPrintEnabled()
  %132 = icmp ne i8 %131, 0
  br i1 %132, label %133, label %145

133:                                              ; preds = %130
  br label %134

134:                                              ; preds = %133
  %135 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %136 = icmp ne i8 %135, 0
  br i1 %136, label %137, label %142

137:                                              ; preds = %134
  %138 = load ptr, ptr %3, align 8, !tbaa !5
  %139 = getelementptr inbounds %struct.PXE_T, ptr %138, i32 0, i32 1
  %140 = load i8, ptr %139, align 1, !tbaa !14
  %141 = zext i8 %140 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.15, i32 noundef %141)
  br label %142

142:                                              ; preds = %137, %134
  br label %143

143:                                              ; preds = %142
  br label %144

144:                                              ; preds = %143
  br label %145

145:                                              ; preds = %144, %130
  br label %146

146:                                              ; preds = %145
  br label %147

147:                                              ; preds = %146
  br label %148

148:                                              ; preds = %147
  %149 = call zeroext i8 @DebugPrintEnabled()
  %150 = icmp ne i8 %149, 0
  br i1 %150, label %151, label %163

151:                                              ; preds = %148
  br label %152

152:                                              ; preds = %151
  %153 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %154 = icmp ne i8 %153, 0
  br i1 %154, label %155, label %160

155:                                              ; preds = %152
  %156 = load ptr, ptr %3, align 8, !tbaa !5
  %157 = getelementptr inbounds %struct.PXE_T, ptr %156, i32 0, i32 2
  %158 = load i8, ptr %157, align 1, !tbaa !20
  %159 = zext i8 %158 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.33, i32 noundef %159)
  br label %160

160:                                              ; preds = %155, %152
  br label %161

161:                                              ; preds = %160
  br label %162

162:                                              ; preds = %161
  br label %163

163:                                              ; preds = %162, %148
  br label %164

164:                                              ; preds = %163
  br label %165

165:                                              ; preds = %164
  br label %166

166:                                              ; preds = %165
  %167 = call zeroext i8 @DebugPrintEnabled()
  %168 = icmp ne i8 %167, 0
  br i1 %168, label %169, label %181

169:                                              ; preds = %166
  br label %170

170:                                              ; preds = %169
  %171 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %172 = icmp ne i8 %171, 0
  br i1 %172, label %173, label %178

173:                                              ; preds = %170
  %174 = load ptr, ptr %3, align 8, !tbaa !5
  %175 = getelementptr inbounds %struct.PXE_T, ptr %174, i32 0, i32 3
  %176 = load i8, ptr %175, align 1, !tbaa !21
  %177 = zext i8 %176 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.34, i32 noundef %177)
  br label %178

178:                                              ; preds = %173, %170
  br label %179

179:                                              ; preds = %178
  br label %180

180:                                              ; preds = %179
  br label %181

181:                                              ; preds = %180, %166
  br label %182

182:                                              ; preds = %181
  br label %183

183:                                              ; preds = %182
  br label %184

184:                                              ; preds = %183
  %185 = call zeroext i8 @DebugPrintEnabled()
  %186 = icmp ne i8 %185, 0
  br i1 %186, label %187, label %199

187:                                              ; preds = %184
  br label %188

188:                                              ; preds = %187
  %189 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %190 = icmp ne i8 %189, 0
  br i1 %190, label %191, label %196

191:                                              ; preds = %188
  %192 = load ptr, ptr %3, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.PXE_T, ptr %192, i32 0, i32 4
  %194 = load i8, ptr %193, align 1, !tbaa !22
  %195 = zext i8 %194 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.35, i32 noundef %195)
  br label %196

196:                                              ; preds = %191, %188
  br label %197

197:                                              ; preds = %196
  br label %198

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198, %184
  br label %200

200:                                              ; preds = %199
  br label %201

201:                                              ; preds = %200
  br label %202

202:                                              ; preds = %201
  %203 = call zeroext i8 @DebugPrintEnabled()
  %204 = icmp ne i8 %203, 0
  br i1 %204, label %205, label %225

205:                                              ; preds = %202
  br label %206

206:                                              ; preds = %205
  %207 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %208 = icmp ne i8 %207, 0
  br i1 %208, label %209, label %222

209:                                              ; preds = %206
  %210 = load ptr, ptr %3, align 8, !tbaa !5
  %211 = getelementptr inbounds %struct.PXE_T, ptr %210, i32 0, i32 5
  %212 = getelementptr inbounds %struct.SEGOFF16, ptr %211, i32 0, i32 1
  %213 = load i16, ptr %212, align 1, !tbaa !23
  %214 = zext i16 %213 to i32
  %215 = shl i32 %214, 4
  %216 = load ptr, ptr %3, align 8, !tbaa !5
  %217 = getelementptr inbounds %struct.PXE_T, ptr %216, i32 0, i32 5
  %218 = getelementptr inbounds %struct.SEGOFF16, ptr %217, i32 0, i32 0
  %219 = load i16, ptr %218, align 1, !tbaa !24
  %220 = zext i16 %219 to i32
  %221 = or i32 %215, %220
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.36, i32 noundef %221)
  br label %222

222:                                              ; preds = %209, %206
  br label %223

223:                                              ; preds = %222
  br label %224

224:                                              ; preds = %223
  br label %225

225:                                              ; preds = %224, %202
  br label %226

226:                                              ; preds = %225
  br label %227

227:                                              ; preds = %226
  br label %228

228:                                              ; preds = %227
  %229 = call zeroext i8 @DebugPrintEnabled()
  %230 = icmp ne i8 %229, 0
  br i1 %230, label %231, label %251

231:                                              ; preds = %228
  br label %232

232:                                              ; preds = %231
  %233 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %234 = icmp ne i8 %233, 0
  br i1 %234, label %235, label %248

235:                                              ; preds = %232
  %236 = load ptr, ptr %3, align 8, !tbaa !5
  %237 = getelementptr inbounds %struct.PXE_T, ptr %236, i32 0, i32 6
  %238 = getelementptr inbounds %struct.SEGOFF16, ptr %237, i32 0, i32 1
  %239 = load i16, ptr %238, align 1, !tbaa !25
  %240 = zext i16 %239 to i32
  %241 = shl i32 %240, 4
  %242 = load ptr, ptr %3, align 8, !tbaa !5
  %243 = getelementptr inbounds %struct.PXE_T, ptr %242, i32 0, i32 6
  %244 = getelementptr inbounds %struct.SEGOFF16, ptr %243, i32 0, i32 0
  %245 = load i16, ptr %244, align 1, !tbaa !26
  %246 = zext i16 %245 to i32
  %247 = or i32 %241, %246
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.37, i32 noundef %247)
  br label %248

248:                                              ; preds = %235, %232
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250, %228
  br label %252

252:                                              ; preds = %251
  br label %253

253:                                              ; preds = %252
  br label %254

254:                                              ; preds = %253
  %255 = call zeroext i8 @DebugPrintEnabled()
  %256 = icmp ne i8 %255, 0
  br i1 %256, label %257, label %265

257:                                              ; preds = %254
  br label %258

258:                                              ; preds = %257
  %259 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %260 = icmp ne i8 %259, 0
  br i1 %260, label %261, label %262

261:                                              ; preds = %258
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.38)
  br label %262

262:                                              ; preds = %261, %258
  br label %263

263:                                              ; preds = %262
  br label %264

264:                                              ; preds = %263
  br label %265

265:                                              ; preds = %264, %254
  br label %266

266:                                              ; preds = %265
  br label %267

267:                                              ; preds = %266
  br label %268

268:                                              ; preds = %267
  %269 = call zeroext i8 @DebugPrintEnabled()
  %270 = icmp ne i8 %269, 0
  br i1 %270, label %271, label %289

271:                                              ; preds = %268
  br label %272

272:                                              ; preds = %271
  %273 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %274 = icmp ne i8 %273, 0
  br i1 %274, label %275, label %286

275:                                              ; preds = %272
  %276 = load ptr, ptr %3, align 8, !tbaa !5
  %277 = getelementptr inbounds %struct.PXE_T, ptr %276, i32 0, i32 7
  %278 = getelementptr inbounds %struct.SEGOFF16, ptr %277, i32 0, i32 1
  %279 = load i16, ptr %278, align 1, !tbaa !27
  %280 = zext i16 %279 to i32
  %281 = load ptr, ptr %3, align 8, !tbaa !5
  %282 = getelementptr inbounds %struct.PXE_T, ptr %281, i32 0, i32 7
  %283 = getelementptr inbounds %struct.SEGOFF16, ptr %282, i32 0, i32 0
  %284 = load i16, ptr %283, align 1, !tbaa !28
  %285 = zext i16 %284 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.39, i32 noundef %280, i32 noundef %285)
  br label %286

286:                                              ; preds = %275, %272
  br label %287

287:                                              ; preds = %286
  br label %288

288:                                              ; preds = %287
  br label %289

289:                                              ; preds = %288, %268
  br label %290

290:                                              ; preds = %289
  br label %291

291:                                              ; preds = %290
  br label %292

292:                                              ; preds = %291
  %293 = call zeroext i8 @DebugPrintEnabled()
  %294 = icmp ne i8 %293, 0
  br i1 %294, label %295, label %303

295:                                              ; preds = %292
  br label %296

296:                                              ; preds = %295
  %297 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %298 = icmp ne i8 %297, 0
  br i1 %298, label %299, label %300

299:                                              ; preds = %296
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.40)
  br label %300

300:                                              ; preds = %299, %296
  br label %301

301:                                              ; preds = %300
  br label %302

302:                                              ; preds = %301
  br label %303

303:                                              ; preds = %302, %292
  br label %304

304:                                              ; preds = %303
  br label %305

305:                                              ; preds = %304
  br label %306

306:                                              ; preds = %305
  %307 = call zeroext i8 @DebugPrintEnabled()
  %308 = icmp ne i8 %307, 0
  br i1 %308, label %309, label %317

309:                                              ; preds = %306
  br label %310

310:                                              ; preds = %309
  %311 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %312 = icmp ne i8 %311, 0
  br i1 %312, label %313, label %314

313:                                              ; preds = %310
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.41)
  br label %314

314:                                              ; preds = %313, %310
  br label %315

315:                                              ; preds = %314
  br label %316

316:                                              ; preds = %315
  br label %317

317:                                              ; preds = %316, %306
  br label %318

318:                                              ; preds = %317
  br label %319

319:                                              ; preds = %318
  br label %320

320:                                              ; preds = %319
  %321 = call zeroext i8 @DebugPrintEnabled()
  %322 = icmp ne i8 %321, 0
  br i1 %322, label %323, label %341

323:                                              ; preds = %320
  br label %324

324:                                              ; preds = %323
  %325 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %326 = icmp ne i8 %325, 0
  br i1 %326, label %327, label %338

327:                                              ; preds = %324
  %328 = load ptr, ptr %3, align 8, !tbaa !5
  %329 = getelementptr inbounds %struct.PXE_T, ptr %328, i32 0, i32 8
  %330 = getelementptr inbounds %struct.SEGOFF16, ptr %329, i32 0, i32 1
  %331 = load i16, ptr %330, align 1, !tbaa !29
  %332 = zext i16 %331 to i32
  %333 = load ptr, ptr %3, align 8, !tbaa !5
  %334 = getelementptr inbounds %struct.PXE_T, ptr %333, i32 0, i32 8
  %335 = getelementptr inbounds %struct.SEGOFF16, ptr %334, i32 0, i32 0
  %336 = load i16, ptr %335, align 1, !tbaa !30
  %337 = zext i16 %336 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.42, i32 noundef %332, i32 noundef %337)
  br label %338

338:                                              ; preds = %327, %324
  br label %339

339:                                              ; preds = %338
  br label %340

340:                                              ; preds = %339
  br label %341

341:                                              ; preds = %340, %320
  br label %342

342:                                              ; preds = %341
  br label %343

343:                                              ; preds = %342
  br label %344

344:                                              ; preds = %343
  %345 = call zeroext i8 @DebugPrintEnabled()
  %346 = icmp ne i8 %345, 0
  br i1 %346, label %347, label %359

347:                                              ; preds = %344
  br label %348

348:                                              ; preds = %347
  %349 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %350 = icmp ne i8 %349, 0
  br i1 %350, label %351, label %356

351:                                              ; preds = %348
  %352 = load ptr, ptr %3, align 8, !tbaa !5
  %353 = getelementptr inbounds %struct.PXE_T, ptr %352, i32 0, i32 10
  %354 = load i8, ptr %353, align 1, !tbaa !31
  %355 = zext i8 %354 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.43, i32 noundef %355)
  br label %356

356:                                              ; preds = %351, %348
  br label %357

357:                                              ; preds = %356
  br label %358

358:                                              ; preds = %357
  br label %359

359:                                              ; preds = %358, %344
  br label %360

360:                                              ; preds = %359
  br label %361

361:                                              ; preds = %360
  br label %362

362:                                              ; preds = %361
  %363 = call zeroext i8 @DebugPrintEnabled()
  %364 = icmp ne i8 %363, 0
  br i1 %364, label %365, label %377

365:                                              ; preds = %362
  br label %366

366:                                              ; preds = %365
  %367 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %368 = icmp ne i8 %367, 0
  br i1 %368, label %369, label %374

369:                                              ; preds = %366
  %370 = load ptr, ptr %3, align 8, !tbaa !5
  %371 = getelementptr inbounds %struct.PXE_T, ptr %370, i32 0, i32 11
  %372 = load i8, ptr %371, align 1, !tbaa !32
  %373 = zext i8 %372 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.44, i32 noundef %373)
  br label %374

374:                                              ; preds = %369, %366
  br label %375

375:                                              ; preds = %374
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376, %362
  br label %378

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378
  br label %380

380:                                              ; preds = %379
  %381 = call zeroext i8 @DebugPrintEnabled()
  %382 = icmp ne i8 %381, 0
  br i1 %382, label %383, label %395

383:                                              ; preds = %380
  br label %384

384:                                              ; preds = %383
  %385 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %386 = icmp ne i8 %385, 0
  br i1 %386, label %387, label %392

387:                                              ; preds = %384
  %388 = load ptr, ptr %3, align 8, !tbaa !5
  %389 = getelementptr inbounds %struct.PXE_T, ptr %388, i32 0, i32 12
  %390 = load i16, ptr %389, align 1, !tbaa !33
  %391 = zext i16 %390 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.45, i32 noundef %391)
  br label %392

392:                                              ; preds = %387, %384
  br label %393

393:                                              ; preds = %392
  br label %394

394:                                              ; preds = %393
  br label %395

395:                                              ; preds = %394, %380
  br label %396

396:                                              ; preds = %395
  br label %397

397:                                              ; preds = %396
  br label %398

398:                                              ; preds = %397
  %399 = call zeroext i8 @DebugPrintEnabled()
  %400 = icmp ne i8 %399, 0
  br i1 %400, label %401, label %423

401:                                              ; preds = %398
  br label %402

402:                                              ; preds = %401
  %403 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %404 = icmp ne i8 %403, 0
  br i1 %404, label %405, label %420

405:                                              ; preds = %402
  %406 = load ptr, ptr %3, align 8, !tbaa !5
  %407 = getelementptr inbounds %struct.PXE_T, ptr %406, i32 0, i32 13
  %408 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %407, i32 0, i32 0
  %409 = load i16, ptr %408, align 1, !tbaa !34
  %410 = zext i16 %409 to i32
  %411 = load ptr, ptr %3, align 8, !tbaa !5
  %412 = getelementptr inbounds %struct.PXE_T, ptr %411, i32 0, i32 13
  %413 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %412, i32 0, i32 1
  %414 = load i32, ptr %413, align 1, !tbaa !35
  %415 = load ptr, ptr %3, align 8, !tbaa !5
  %416 = getelementptr inbounds %struct.PXE_T, ptr %415, i32 0, i32 13
  %417 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %416, i32 0, i32 2
  %418 = load i16, ptr %417, align 1, !tbaa !36
  %419 = zext i16 %418 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.46, i32 noundef %410, i32 noundef %414, i32 noundef %419)
  br label %420

420:                                              ; preds = %405, %402
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422, %398
  br label %424

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  %427 = call zeroext i8 @DebugPrintEnabled()
  %428 = icmp ne i8 %427, 0
  br i1 %428, label %429, label %451

429:                                              ; preds = %426
  br label %430

430:                                              ; preds = %429
  %431 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %432 = icmp ne i8 %431, 0
  br i1 %432, label %433, label %448

433:                                              ; preds = %430
  %434 = load ptr, ptr %3, align 8, !tbaa !5
  %435 = getelementptr inbounds %struct.PXE_T, ptr %434, i32 0, i32 14
  %436 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %435, i32 0, i32 0
  %437 = load i16, ptr %436, align 1, !tbaa !37
  %438 = zext i16 %437 to i32
  %439 = load ptr, ptr %3, align 8, !tbaa !5
  %440 = getelementptr inbounds %struct.PXE_T, ptr %439, i32 0, i32 14
  %441 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %440, i32 0, i32 1
  %442 = load i32, ptr %441, align 1, !tbaa !38
  %443 = load ptr, ptr %3, align 8, !tbaa !5
  %444 = getelementptr inbounds %struct.PXE_T, ptr %443, i32 0, i32 14
  %445 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %444, i32 0, i32 2
  %446 = load i16, ptr %445, align 1, !tbaa !39
  %447 = zext i16 %446 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.47, i32 noundef %438, i32 noundef %442, i32 noundef %447)
  br label %448

448:                                              ; preds = %433, %430
  br label %449

449:                                              ; preds = %448
  br label %450

450:                                              ; preds = %449
  br label %451

451:                                              ; preds = %450, %426
  br label %452

452:                                              ; preds = %451
  br label %453

453:                                              ; preds = %452
  br label %454

454:                                              ; preds = %453
  %455 = call zeroext i8 @DebugPrintEnabled()
  %456 = icmp ne i8 %455, 0
  br i1 %456, label %457, label %479

457:                                              ; preds = %454
  br label %458

458:                                              ; preds = %457
  %459 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %460 = icmp ne i8 %459, 0
  br i1 %460, label %461, label %476

461:                                              ; preds = %458
  %462 = load ptr, ptr %3, align 8, !tbaa !5
  %463 = getelementptr inbounds %struct.PXE_T, ptr %462, i32 0, i32 15
  %464 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %463, i32 0, i32 0
  %465 = load i16, ptr %464, align 1, !tbaa !40
  %466 = zext i16 %465 to i32
  %467 = load ptr, ptr %3, align 8, !tbaa !5
  %468 = getelementptr inbounds %struct.PXE_T, ptr %467, i32 0, i32 15
  %469 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %468, i32 0, i32 1
  %470 = load i32, ptr %469, align 1, !tbaa !41
  %471 = load ptr, ptr %3, align 8, !tbaa !5
  %472 = getelementptr inbounds %struct.PXE_T, ptr %471, i32 0, i32 15
  %473 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %472, i32 0, i32 2
  %474 = load i16, ptr %473, align 1, !tbaa !42
  %475 = zext i16 %474 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.48, i32 noundef %466, i32 noundef %470, i32 noundef %475)
  br label %476

476:                                              ; preds = %461, %458
  br label %477

477:                                              ; preds = %476
  br label %478

478:                                              ; preds = %477
  br label %479

479:                                              ; preds = %478, %454
  br label %480

480:                                              ; preds = %479
  br label %481

481:                                              ; preds = %480
  br label %482

482:                                              ; preds = %481
  %483 = call zeroext i8 @DebugPrintEnabled()
  %484 = icmp ne i8 %483, 0
  br i1 %484, label %485, label %507

485:                                              ; preds = %482
  br label %486

486:                                              ; preds = %485
  %487 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %488 = icmp ne i8 %487, 0
  br i1 %488, label %489, label %504

489:                                              ; preds = %486
  %490 = load ptr, ptr %3, align 8, !tbaa !5
  %491 = getelementptr inbounds %struct.PXE_T, ptr %490, i32 0, i32 16
  %492 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %491, i32 0, i32 0
  %493 = load i16, ptr %492, align 1, !tbaa !43
  %494 = zext i16 %493 to i32
  %495 = load ptr, ptr %3, align 8, !tbaa !5
  %496 = getelementptr inbounds %struct.PXE_T, ptr %495, i32 0, i32 16
  %497 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %496, i32 0, i32 1
  %498 = load i32, ptr %497, align 1, !tbaa !44
  %499 = load ptr, ptr %3, align 8, !tbaa !5
  %500 = getelementptr inbounds %struct.PXE_T, ptr %499, i32 0, i32 16
  %501 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %500, i32 0, i32 2
  %502 = load i16, ptr %501, align 1, !tbaa !45
  %503 = zext i16 %502 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.46, i32 noundef %494, i32 noundef %498, i32 noundef %503)
  br label %504

504:                                              ; preds = %489, %486
  br label %505

505:                                              ; preds = %504
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506, %482
  br label %508

508:                                              ; preds = %507
  br label %509

509:                                              ; preds = %508
  br label %510

510:                                              ; preds = %509
  %511 = call zeroext i8 @DebugPrintEnabled()
  %512 = icmp ne i8 %511, 0
  br i1 %512, label %513, label %535

513:                                              ; preds = %510
  br label %514

514:                                              ; preds = %513
  %515 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %516 = icmp ne i8 %515, 0
  br i1 %516, label %517, label %532

517:                                              ; preds = %514
  %518 = load ptr, ptr %3, align 8, !tbaa !5
  %519 = getelementptr inbounds %struct.PXE_T, ptr %518, i32 0, i32 17
  %520 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %519, i32 0, i32 0
  %521 = load i16, ptr %520, align 1, !tbaa !46
  %522 = zext i16 %521 to i32
  %523 = load ptr, ptr %3, align 8, !tbaa !5
  %524 = getelementptr inbounds %struct.PXE_T, ptr %523, i32 0, i32 17
  %525 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %524, i32 0, i32 1
  %526 = load i32, ptr %525, align 1, !tbaa !47
  %527 = load ptr, ptr %3, align 8, !tbaa !5
  %528 = getelementptr inbounds %struct.PXE_T, ptr %527, i32 0, i32 17
  %529 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %528, i32 0, i32 2
  %530 = load i16, ptr %529, align 1, !tbaa !48
  %531 = zext i16 %530 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.49, i32 noundef %522, i32 noundef %526, i32 noundef %531)
  br label %532

532:                                              ; preds = %517, %514
  br label %533

533:                                              ; preds = %532
  br label %534

534:                                              ; preds = %533
  br label %535

535:                                              ; preds = %534, %510
  br label %536

536:                                              ; preds = %535
  br label %537

537:                                              ; preds = %536
  br label %538

538:                                              ; preds = %537
  %539 = call zeroext i8 @DebugPrintEnabled()
  %540 = icmp ne i8 %539, 0
  br i1 %540, label %541, label %563

541:                                              ; preds = %538
  br label %542

542:                                              ; preds = %541
  %543 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %544 = icmp ne i8 %543, 0
  br i1 %544, label %545, label %560

545:                                              ; preds = %542
  %546 = load ptr, ptr %3, align 8, !tbaa !5
  %547 = getelementptr inbounds %struct.PXE_T, ptr %546, i32 0, i32 18
  %548 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %547, i32 0, i32 0
  %549 = load i16, ptr %548, align 1, !tbaa !49
  %550 = zext i16 %549 to i32
  %551 = load ptr, ptr %3, align 8, !tbaa !5
  %552 = getelementptr inbounds %struct.PXE_T, ptr %551, i32 0, i32 18
  %553 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %552, i32 0, i32 1
  %554 = load i32, ptr %553, align 1, !tbaa !50
  %555 = load ptr, ptr %3, align 8, !tbaa !5
  %556 = getelementptr inbounds %struct.PXE_T, ptr %555, i32 0, i32 18
  %557 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %556, i32 0, i32 2
  %558 = load i16, ptr %557, align 1, !tbaa !51
  %559 = zext i16 %558 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.50, i32 noundef %550, i32 noundef %554, i32 noundef %559)
  br label %560

560:                                              ; preds = %545, %542
  br label %561

561:                                              ; preds = %560
  br label %562

562:                                              ; preds = %561
  br label %563

563:                                              ; preds = %562, %538
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564
  br label %566

566:                                              ; preds = %565
  %567 = call zeroext i8 @DebugPrintEnabled()
  %568 = icmp ne i8 %567, 0
  br i1 %568, label %569, label %591

569:                                              ; preds = %566
  br label %570

570:                                              ; preds = %569
  %571 = call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384)
  %572 = icmp ne i8 %571, 0
  br i1 %572, label %573, label %588

573:                                              ; preds = %570
  %574 = load ptr, ptr %3, align 8, !tbaa !5
  %575 = getelementptr inbounds %struct.PXE_T, ptr %574, i32 0, i32 19
  %576 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %575, i32 0, i32 0
  %577 = load i16, ptr %576, align 1, !tbaa !52
  %578 = zext i16 %577 to i32
  %579 = load ptr, ptr %3, align 8, !tbaa !5
  %580 = getelementptr inbounds %struct.PXE_T, ptr %579, i32 0, i32 19
  %581 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %580, i32 0, i32 1
  %582 = load i32, ptr %581, align 1, !tbaa !53
  %583 = load ptr, ptr %3, align 8, !tbaa !5
  %584 = getelementptr inbounds %struct.PXE_T, ptr %583, i32 0, i32 19
  %585 = getelementptr inbounds %struct.NEWSEGDESC_T, ptr %584, i32 0, i32 2
  %586 = load i16, ptr %585, align 1, !tbaa !54
  %587 = zext i16 %586 to i32
  call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef @.str.51, i32 noundef %578, i32 noundef %582, i32 noundef %587)
  br label %588

588:                                              ; preds = %573, %570
  br label %589

589:                                              ; preds = %588
  br label %590

590:                                              ; preds = %589
  br label %591

591:                                              ; preds = %590, %566
  br label %592

592:                                              ; preds = %591
  br label %593

593:                                              ; preds = %592
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #3
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long long", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}
!14 = !{!15, !7, i64 4}
!15 = !{!"", !7, i64 0, !7, i64 4, !7, i64 5, !7, i64 6, !7, i64 7, !16, i64 8, !16, i64 12, !16, i64 16, !16, i64 20, !16, i64 24, !7, i64 28, !7, i64 29, !17, i64 30, !18, i64 32, !18, i64 40, !18, i64 48, !18, i64 56, !18, i64 64, !18, i64 72, !18, i64 80}
!16 = !{!"", !17, i64 0, !17, i64 2}
!17 = !{!"short", !7, i64 0}
!18 = !{!"", !17, i64 0, !19, i64 2, !17, i64 6}
!19 = !{!"int", !7, i64 0}
!20 = !{!15, !7, i64 5}
!21 = !{!15, !7, i64 6}
!22 = !{!15, !7, i64 7}
!23 = !{!15, !17, i64 10}
!24 = !{!15, !17, i64 8}
!25 = !{!15, !17, i64 14}
!26 = !{!15, !17, i64 12}
!27 = !{!15, !17, i64 18}
!28 = !{!15, !17, i64 16}
!29 = !{!15, !17, i64 22}
!30 = !{!15, !17, i64 20}
!31 = !{!15, !7, i64 28}
!32 = !{!15, !7, i64 29}
!33 = !{!15, !17, i64 30}
!34 = !{!15, !17, i64 32}
!35 = !{!15, !19, i64 34}
!36 = !{!15, !17, i64 38}
!37 = !{!15, !17, i64 40}
!38 = !{!15, !19, i64 42}
!39 = !{!15, !17, i64 46}
!40 = !{!15, !17, i64 48}
!41 = !{!15, !19, i64 50}
!42 = !{!15, !17, i64 54}
!43 = !{!15, !17, i64 56}
!44 = !{!15, !19, i64 58}
!45 = !{!15, !17, i64 62}
!46 = !{!15, !17, i64 64}
!47 = !{!15, !19, i64 66}
!48 = !{!15, !17, i64 70}
!49 = !{!15, !17, i64 72}
!50 = !{!15, !19, i64 74}
!51 = !{!15, !17, i64 78}
!52 = !{!15, !17, i64 80}
!53 = !{!15, !19, i64 82}
!54 = !{!15, !17, i64 86}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str.15 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [86 x i8], align 1

declare zeroext i8 @DebugPrintEnabled() local_unnamed_addr #0

declare zeroext i8 @DebugPrintLevelEnabled(i64 noundef) local_unnamed_addr #0

declare void @DebugPrint(i64 noundef, ptr noundef, ...) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local void @Print_PXE_Table(ptr noundef %0) local_unnamed_addr #1 {
  %2 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not = icmp eq i8 %2, 0
  br i1 %.not, label %6, label %3

3:                                                ; preds = %1
  %4 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not47 = icmp eq i8 %4, 0
  br i1 %.not47, label %6, label %5

5:                                                ; preds = %3
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.27, ptr noundef %0) #2
  br label %6

6:                                                ; preds = %1, %5, %3
  %7 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not48 = icmp eq i8 %7, 0
  br i1 %.not48, label %.preheader, label %8

8:                                                ; preds = %6
  %9 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not49 = icmp eq i8 %9, 0
  br i1 %.not49, label %.preheader, label %10

10:                                               ; preds = %8
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.28, i64 noundef 88) #2
  br label %.preheader

.preheader:                                       ; preds = %8, %10, %6
  br label %11

11:                                               ; preds = %.preheader, %27
  %.0101 = phi ptr [ %.1, %27 ], [ %0, %.preheader ]
  %.046100 = phi i64 [ %28, %27 ], [ 0, %.preheader ]
  %12 = and i64 %.046100, 15
  %13 = icmp eq i64 %12, 0
  br i1 %13, label %14, label %19

14:                                               ; preds = %11
  %15 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not96 = icmp eq i8 %15, 0
  br i1 %.not96, label %19, label %16

16:                                               ; preds = %14
  %17 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not97 = icmp eq i8 %17, 0
  br i1 %.not97, label %19, label %18

18:                                               ; preds = %16
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.29) #2
  br label %19

19:                                               ; preds = %11, %16, %18, %14
  %20 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not98 = icmp eq i8 %20, 0
  br i1 %.not98, label %27, label %21

21:                                               ; preds = %19
  %22 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not99 = icmp eq i8 %22, 0
  br i1 %.not99, label %27, label %23

23:                                               ; preds = %21
  %24 = getelementptr inbounds i8, ptr %.0101, i64 1
  %25 = load i8, ptr %.0101, align 1, !tbaa !5
  %26 = zext i8 %25 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.30, i32 noundef %26) #2
  br label %27

27:                                               ; preds = %19, %23, %21
  %.1 = phi ptr [ %24, %23 ], [ %.0101, %21 ], [ %.0101, %19 ]
  %28 = add nuw nsw i64 %.046100, 1
  %exitcond.not = icmp eq i64 %28, 88
  br i1 %exitcond.not, label %29, label %11, !llvm.loop !8

29:                                               ; preds = %27
  %30 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not50 = icmp eq i8 %30, 0
  br i1 %.not50, label %34, label %31

31:                                               ; preds = %29
  %32 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not51 = icmp eq i8 %32, 0
  br i1 %.not51, label %34, label %33

33:                                               ; preds = %31
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.31) #2
  br label %34

34:                                               ; preds = %29, %33, %31
  %35 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not52 = icmp eq i8 %35, 0
  br i1 %.not52, label %50, label %36

36:                                               ; preds = %34
  %37 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not53 = icmp eq i8 %37, 0
  br i1 %.not53, label %50, label %38

38:                                               ; preds = %36
  %39 = load i8, ptr %0, align 1, !tbaa !5
  %40 = zext i8 %39 to i32
  %41 = getelementptr inbounds i8, ptr %0, i64 1
  %42 = load i8, ptr %41, align 1, !tbaa !5
  %43 = zext i8 %42 to i32
  %44 = getelementptr inbounds i8, ptr %0, i64 2
  %45 = load i8, ptr %44, align 1, !tbaa !5
  %46 = zext i8 %45 to i32
  %47 = getelementptr inbounds i8, ptr %0, i64 3
  %48 = load i8, ptr %47, align 1, !tbaa !5
  %49 = zext i8 %48 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.32, i32 noundef %40, i32 noundef %43, i32 noundef %46, i32 noundef %49) #2
  br label %50

50:                                               ; preds = %34, %38, %36
  %51 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not54 = icmp eq i8 %51, 0
  br i1 %.not54, label %58, label %52

52:                                               ; preds = %50
  %53 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not55 = icmp eq i8 %53, 0
  br i1 %.not55, label %58, label %54

54:                                               ; preds = %52
  %55 = getelementptr inbounds i8, ptr %0, i64 4
  %56 = load i8, ptr %55, align 1, !tbaa !10
  %57 = zext i8 %56 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.15, i32 noundef %57) #2
  br label %58

58:                                               ; preds = %50, %54, %52
  %59 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not56 = icmp eq i8 %59, 0
  br i1 %.not56, label %66, label %60

60:                                               ; preds = %58
  %61 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not57 = icmp eq i8 %61, 0
  br i1 %.not57, label %66, label %62

62:                                               ; preds = %60
  %63 = getelementptr inbounds i8, ptr %0, i64 5
  %64 = load i8, ptr %63, align 1, !tbaa !16
  %65 = zext i8 %64 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.33, i32 noundef %65) #2
  br label %66

66:                                               ; preds = %58, %62, %60
  %67 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not58 = icmp eq i8 %67, 0
  br i1 %.not58, label %74, label %68

68:                                               ; preds = %66
  %69 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not59 = icmp eq i8 %69, 0
  br i1 %.not59, label %74, label %70

70:                                               ; preds = %68
  %71 = getelementptr inbounds i8, ptr %0, i64 6
  %72 = load i8, ptr %71, align 1, !tbaa !17
  %73 = zext i8 %72 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.34, i32 noundef %73) #2
  br label %74

74:                                               ; preds = %66, %70, %68
  %75 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not60 = icmp eq i8 %75, 0
  br i1 %.not60, label %82, label %76

76:                                               ; preds = %74
  %77 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not61 = icmp eq i8 %77, 0
  br i1 %.not61, label %82, label %78

78:                                               ; preds = %76
  %79 = getelementptr inbounds i8, ptr %0, i64 7
  %80 = load i8, ptr %79, align 1, !tbaa !18
  %81 = zext i8 %80 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.35, i32 noundef %81) #2
  br label %82

82:                                               ; preds = %74, %78, %76
  %83 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not62 = icmp eq i8 %83, 0
  br i1 %.not62, label %95, label %84

84:                                               ; preds = %82
  %85 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not63 = icmp eq i8 %85, 0
  br i1 %.not63, label %95, label %86

86:                                               ; preds = %84
  %87 = getelementptr inbounds i8, ptr %0, i64 8
  %88 = getelementptr inbounds i8, ptr %0, i64 10
  %89 = load i16, ptr %88, align 1, !tbaa !19
  %90 = zext i16 %89 to i32
  %91 = shl nuw nsw i32 %90, 4
  %92 = load i16, ptr %87, align 1, !tbaa !20
  %93 = zext i16 %92 to i32
  %94 = or i32 %91, %93
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.36, i32 noundef %94) #2
  br label %95

95:                                               ; preds = %82, %86, %84
  %96 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not64 = icmp eq i8 %96, 0
  br i1 %.not64, label %108, label %97

97:                                               ; preds = %95
  %98 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not65 = icmp eq i8 %98, 0
  br i1 %.not65, label %108, label %99

99:                                               ; preds = %97
  %100 = getelementptr inbounds i8, ptr %0, i64 12
  %101 = getelementptr inbounds i8, ptr %0, i64 14
  %102 = load i16, ptr %101, align 1, !tbaa !21
  %103 = zext i16 %102 to i32
  %104 = shl nuw nsw i32 %103, 4
  %105 = load i16, ptr %100, align 1, !tbaa !22
  %106 = zext i16 %105 to i32
  %107 = or i32 %104, %106
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.37, i32 noundef %107) #2
  br label %108

108:                                              ; preds = %95, %99, %97
  %109 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not66 = icmp eq i8 %109, 0
  br i1 %.not66, label %113, label %110

110:                                              ; preds = %108
  %111 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not67 = icmp eq i8 %111, 0
  br i1 %.not67, label %113, label %112

112:                                              ; preds = %110
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.38) #2
  br label %113

113:                                              ; preds = %108, %112, %110
  %114 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not68 = icmp eq i8 %114, 0
  br i1 %.not68, label %124, label %115

115:                                              ; preds = %113
  %116 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not69 = icmp eq i8 %116, 0
  br i1 %.not69, label %124, label %117

117:                                              ; preds = %115
  %118 = getelementptr inbounds i8, ptr %0, i64 16
  %119 = getelementptr inbounds i8, ptr %0, i64 18
  %120 = load i16, ptr %119, align 1, !tbaa !23
  %121 = zext i16 %120 to i32
  %122 = load i16, ptr %118, align 1, !tbaa !24
  %123 = zext i16 %122 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.39, i32 noundef %121, i32 noundef %123) #2
  br label %124

124:                                              ; preds = %113, %117, %115
  %125 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not70 = icmp eq i8 %125, 0
  br i1 %.not70, label %129, label %126

126:                                              ; preds = %124
  %127 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not71 = icmp eq i8 %127, 0
  br i1 %.not71, label %129, label %128

128:                                              ; preds = %126
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.40) #2
  br label %129

129:                                              ; preds = %124, %128, %126
  %130 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not72 = icmp eq i8 %130, 0
  br i1 %.not72, label %134, label %131

131:                                              ; preds = %129
  %132 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not73 = icmp eq i8 %132, 0
  br i1 %.not73, label %134, label %133

133:                                              ; preds = %131
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.41) #2
  br label %134

134:                                              ; preds = %129, %133, %131
  %135 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not74 = icmp eq i8 %135, 0
  br i1 %.not74, label %145, label %136

136:                                              ; preds = %134
  %137 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not75 = icmp eq i8 %137, 0
  br i1 %.not75, label %145, label %138

138:                                              ; preds = %136
  %139 = getelementptr inbounds i8, ptr %0, i64 20
  %140 = getelementptr inbounds i8, ptr %0, i64 22
  %141 = load i16, ptr %140, align 1, !tbaa !25
  %142 = zext i16 %141 to i32
  %143 = load i16, ptr %139, align 1, !tbaa !26
  %144 = zext i16 %143 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.42, i32 noundef %142, i32 noundef %144) #2
  br label %145

145:                                              ; preds = %134, %138, %136
  %146 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not76 = icmp eq i8 %146, 0
  br i1 %.not76, label %153, label %147

147:                                              ; preds = %145
  %148 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not77 = icmp eq i8 %148, 0
  br i1 %.not77, label %153, label %149

149:                                              ; preds = %147
  %150 = getelementptr inbounds i8, ptr %0, i64 28
  %151 = load i8, ptr %150, align 1, !tbaa !27
  %152 = zext i8 %151 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.43, i32 noundef %152) #2
  br label %153

153:                                              ; preds = %145, %149, %147
  %154 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not78 = icmp eq i8 %154, 0
  br i1 %.not78, label %161, label %155

155:                                              ; preds = %153
  %156 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not79 = icmp eq i8 %156, 0
  br i1 %.not79, label %161, label %157

157:                                              ; preds = %155
  %158 = getelementptr inbounds i8, ptr %0, i64 29
  %159 = load i8, ptr %158, align 1, !tbaa !28
  %160 = zext i8 %159 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.44, i32 noundef %160) #2
  br label %161

161:                                              ; preds = %153, %157, %155
  %162 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not80 = icmp eq i8 %162, 0
  br i1 %.not80, label %169, label %163

163:                                              ; preds = %161
  %164 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not81 = icmp eq i8 %164, 0
  br i1 %.not81, label %169, label %165

165:                                              ; preds = %163
  %166 = getelementptr inbounds i8, ptr %0, i64 30
  %167 = load i16, ptr %166, align 1, !tbaa !29
  %168 = zext i16 %167 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.45, i32 noundef %168) #2
  br label %169

169:                                              ; preds = %161, %165, %163
  %170 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not82 = icmp eq i8 %170, 0
  br i1 %.not82, label %182, label %171

171:                                              ; preds = %169
  %172 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not83 = icmp eq i8 %172, 0
  br i1 %.not83, label %182, label %173

173:                                              ; preds = %171
  %174 = getelementptr inbounds i8, ptr %0, i64 32
  %175 = load i16, ptr %174, align 1, !tbaa !30
  %176 = zext i16 %175 to i32
  %177 = getelementptr inbounds i8, ptr %0, i64 34
  %178 = load i32, ptr %177, align 1, !tbaa !31
  %179 = getelementptr inbounds i8, ptr %0, i64 38
  %180 = load i16, ptr %179, align 1, !tbaa !32
  %181 = zext i16 %180 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.46, i32 noundef %176, i32 noundef %178, i32 noundef %181) #2
  br label %182

182:                                              ; preds = %169, %173, %171
  %183 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not84 = icmp eq i8 %183, 0
  br i1 %.not84, label %195, label %184

184:                                              ; preds = %182
  %185 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not85 = icmp eq i8 %185, 0
  br i1 %.not85, label %195, label %186

186:                                              ; preds = %184
  %187 = getelementptr inbounds i8, ptr %0, i64 40
  %188 = load i16, ptr %187, align 1, !tbaa !33
  %189 = zext i16 %188 to i32
  %190 = getelementptr inbounds i8, ptr %0, i64 42
  %191 = load i32, ptr %190, align 1, !tbaa !34
  %192 = getelementptr inbounds i8, ptr %0, i64 46
  %193 = load i16, ptr %192, align 1, !tbaa !35
  %194 = zext i16 %193 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.47, i32 noundef %189, i32 noundef %191, i32 noundef %194) #2
  br label %195

195:                                              ; preds = %182, %186, %184
  %196 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not86 = icmp eq i8 %196, 0
  br i1 %.not86, label %208, label %197

197:                                              ; preds = %195
  %198 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not87 = icmp eq i8 %198, 0
  br i1 %.not87, label %208, label %199

199:                                              ; preds = %197
  %200 = getelementptr inbounds i8, ptr %0, i64 48
  %201 = load i16, ptr %200, align 1, !tbaa !36
  %202 = zext i16 %201 to i32
  %203 = getelementptr inbounds i8, ptr %0, i64 50
  %204 = load i32, ptr %203, align 1, !tbaa !37
  %205 = getelementptr inbounds i8, ptr %0, i64 54
  %206 = load i16, ptr %205, align 1, !tbaa !38
  %207 = zext i16 %206 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.48, i32 noundef %202, i32 noundef %204, i32 noundef %207) #2
  br label %208

208:                                              ; preds = %195, %199, %197
  %209 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not88 = icmp eq i8 %209, 0
  br i1 %.not88, label %221, label %210

210:                                              ; preds = %208
  %211 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not89 = icmp eq i8 %211, 0
  br i1 %.not89, label %221, label %212

212:                                              ; preds = %210
  %213 = getelementptr inbounds i8, ptr %0, i64 56
  %214 = load i16, ptr %213, align 1, !tbaa !39
  %215 = zext i16 %214 to i32
  %216 = getelementptr inbounds i8, ptr %0, i64 58
  %217 = load i32, ptr %216, align 1, !tbaa !40
  %218 = getelementptr inbounds i8, ptr %0, i64 62
  %219 = load i16, ptr %218, align 1, !tbaa !41
  %220 = zext i16 %219 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.46, i32 noundef %215, i32 noundef %217, i32 noundef %220) #2
  br label %221

221:                                              ; preds = %208, %212, %210
  %222 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not90 = icmp eq i8 %222, 0
  br i1 %.not90, label %234, label %223

223:                                              ; preds = %221
  %224 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not91 = icmp eq i8 %224, 0
  br i1 %.not91, label %234, label %225

225:                                              ; preds = %223
  %226 = getelementptr inbounds i8, ptr %0, i64 64
  %227 = load i16, ptr %226, align 1, !tbaa !42
  %228 = zext i16 %227 to i32
  %229 = getelementptr inbounds i8, ptr %0, i64 66
  %230 = load i32, ptr %229, align 1, !tbaa !43
  %231 = getelementptr inbounds i8, ptr %0, i64 70
  %232 = load i16, ptr %231, align 1, !tbaa !44
  %233 = zext i16 %232 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.49, i32 noundef %228, i32 noundef %230, i32 noundef %233) #2
  br label %234

234:                                              ; preds = %221, %225, %223
  %235 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not92 = icmp eq i8 %235, 0
  br i1 %.not92, label %247, label %236

236:                                              ; preds = %234
  %237 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not93 = icmp eq i8 %237, 0
  br i1 %.not93, label %247, label %238

238:                                              ; preds = %236
  %239 = getelementptr inbounds i8, ptr %0, i64 72
  %240 = load i16, ptr %239, align 1, !tbaa !45
  %241 = zext i16 %240 to i32
  %242 = getelementptr inbounds i8, ptr %0, i64 74
  %243 = load i32, ptr %242, align 1, !tbaa !46
  %244 = getelementptr inbounds i8, ptr %0, i64 78
  %245 = load i16, ptr %244, align 1, !tbaa !47
  %246 = zext i16 %245 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.50, i32 noundef %241, i32 noundef %243, i32 noundef %246) #2
  br label %247

247:                                              ; preds = %234, %238, %236
  %248 = tail call zeroext i8 @DebugPrintEnabled() #2
  %.not94 = icmp eq i8 %248, 0
  br i1 %.not94, label %260, label %249

249:                                              ; preds = %247
  %250 = tail call zeroext i8 @DebugPrintLevelEnabled(i64 noundef 16384) #2
  %.not95 = icmp eq i8 %250, 0
  br i1 %.not95, label %260, label %251

251:                                              ; preds = %249
  %252 = getelementptr inbounds i8, ptr %0, i64 80
  %253 = load i16, ptr %252, align 1, !tbaa !48
  %254 = zext i16 %253 to i32
  %255 = getelementptr inbounds i8, ptr %0, i64 82
  %256 = load i32, ptr %255, align 1, !tbaa !49
  %257 = getelementptr inbounds i8, ptr %0, i64 86
  %258 = load i16, ptr %257, align 1, !tbaa !50
  %259 = zext i16 %258 to i32
  tail call void (i64, ptr, ...) @DebugPrint(i64 noundef 16384, ptr noundef nonnull @.str.51, i32 noundef %254, i32 noundef %256, i32 noundef %259) #2
  br label %260

260:                                              ; preds = %249, %251, %247
  ret void
}

attributes #0 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = distinct !{!8, !9}
!9 = !{!"llvm.loop.mustprogress"}
!10 = !{!11, !6, i64 4}
!11 = !{!"", !6, i64 0, !6, i64 4, !6, i64 5, !6, i64 6, !6, i64 7, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !12, i64 24, !6, i64 28, !6, i64 29, !13, i64 30, !14, i64 32, !14, i64 40, !14, i64 48, !14, i64 56, !14, i64 64, !14, i64 72, !14, i64 80}
!12 = !{!"", !13, i64 0, !13, i64 2}
!13 = !{!"short", !6, i64 0}
!14 = !{!"", !13, i64 0, !15, i64 2, !13, i64 6}
!15 = !{!"int", !6, i64 0}
!16 = !{!11, !6, i64 5}
!17 = !{!11, !6, i64 6}
!18 = !{!11, !6, i64 7}
!19 = !{!11, !13, i64 10}
!20 = !{!11, !13, i64 8}
!21 = !{!11, !13, i64 14}
!22 = !{!11, !13, i64 12}
!23 = !{!11, !13, i64 18}
!24 = !{!11, !13, i64 16}
!25 = !{!11, !13, i64 22}
!26 = !{!11, !13, i64 20}
!27 = !{!11, !6, i64 28}
!28 = !{!11, !6, i64 29}
!29 = !{!11, !13, i64 30}
!30 = !{!11, !13, i64 32}
!31 = !{!11, !15, i64 34}
!32 = !{!11, !13, i64 38}
!33 = !{!11, !13, i64 40}
!34 = !{!11, !15, i64 42}
!35 = !{!11, !13, i64 46}
!36 = !{!11, !13, i64 48}
!37 = !{!11, !15, i64 50}
!38 = !{!11, !13, i64 54}
!39 = !{!11, !13, i64 56}
!40 = !{!11, !15, i64 58}
!41 = !{!11, !13, i64 62}
!42 = !{!11, !13, i64 64}
!43 = !{!11, !15, i64 66}
!44 = !{!11, !13, i64 70}
!45 = !{!11, !13, i64 72}
!46 = !{!11, !15, i64 74}
!47 = !{!11, !13, i64 78}
!48 = !{!11, !13, i64 80}
!49 = !{!11, !15, i64 82}
!50 = !{!11, !13, i64 86}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass