; LLVM IR from DanEngelbrecht/longtail :: lib/zstd/ext/compress (zstd_compress)

; 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.ZSTD_CCtx_params_s = type { i32, %struct.ZSTD_compressionParameters, %struct.ZSTD_frameParameters, i32, i32, i64, i32, i32, i32, i32, i64, i32, i32, %struct.ldmParams_t, i32, i32, i32, i32, i32, i32, i32, i32, %struct.ZSTD_customMem, i32, i32, ptr, ptr, i64, i32 }
%struct.ZSTD_compressionParameters = type { i32, i32, i32, i32, i32, i32, i32 }
%struct.ZSTD_frameParameters = type { i32, i32, i32 }
%struct.ldmParams_t = type { i32, i32, i32, i32, i32, i32 }
%struct.ZSTD_customMem = type { ptr, ptr, ptr }

; 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

; Function Attrs: nounwind uwtable
declare hidden i32 @ERR_isError(i64 noundef) #1

; Function Attrs: nounwind uwtable
define dso_local i64 @ZSTD_CCtxParams_setParameter(ptr noundef %0, i32 noundef %1, i32 noundef %2) #1 {
  %4 = alloca i64, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i64, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  store ptr %0, ptr %5, align 8, !tbaa !5
  store i32 %1, ptr %6, align 4, !tbaa !9
  store i32 %2, ptr %7, align 4, !tbaa !9
  br label %12

12:                                               ; preds = %3
  br label %13

13:                                               ; preds = %12
  %14 = load i32, ptr %6, align 4, !tbaa !9
  switch i32 %14, label %985 [
    i32 10, label %15
    i32 100, label %40
    i32 101, label %86
    i32 102, label %117
    i32 103, label %148
    i32 104, label %179
    i32 105, label %207
    i32 106, label %238
    i32 107, label %265
    i32 200, label %296
    i32 201, label %310
    i32 202, label %322
    i32 1000, label %340
    i32 1001, label %350
    i32 1002, label %383
    i32 400, label %416
    i32 401, label %431
    i32 402, label %446
    i32 500, label %461
    i32 1005, label %476
    i32 160, label %486
    i32 161, label %513
    i32 162, label %544
    i32 163, label %575
    i32 164, label %606
    i32 130, label %637
    i32 1004, label %673
    i32 1006, label %702
    i32 1007, label %727
    i32 1008, label %752
    i32 1009, label %777
    i32 1010, label %802
    i32 1011, label %827
    i32 1012, label %852
    i32 1013, label %881
    i32 1014, label %906
    i32 1015, label %931
    i32 1016, label %960
  ]

15:                                               ; preds = %13
  br label %16

16:                                               ; preds = %15
  br label %17

17:                                               ; preds = %16
  %18 = load i32, ptr %7, align 4, !tbaa !9
  %19 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 10, i32 noundef %18)
  %20 = icmp ne i32 %19, 0
  br i1 %20, label %30, label %21

21:                                               ; preds = %17
  br label %22

22:                                               ; preds = %21
  br label %23

23:                                               ; preds = %22
  br label %24

24:                                               ; preds = %23
  br label %25

25:                                               ; preds = %24
  br label %26

26:                                               ; preds = %25
  br label %27

27:                                               ; preds = %26
  br label %28

28:                                               ; preds = %27
  br label %29

29:                                               ; preds = %28
  store i64 -42, ptr %4, align 8
  br label %996

30:                                               ; preds = %17
  br label %31

31:                                               ; preds = %30
  br label %32

32:                                               ; preds = %31
  %33 = load i32, ptr %7, align 4, !tbaa !9
  %34 = load ptr, ptr %5, align 8, !tbaa !5
  %35 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %34, i32 0, i32 0
  store i32 %33, ptr %35, align 8, !tbaa !11
  %36 = load ptr, ptr %5, align 8, !tbaa !5
  %37 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %36, i32 0, i32 0
  %38 = load i32, ptr %37, align 8, !tbaa !11
  %39 = zext i32 %38 to i64
  store i64 %39, ptr %4, align 8
  br label %996

40:                                               ; preds = %13
  br label %41

41:                                               ; preds = %40
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #3
  %42 = load i32, ptr %6, align 4, !tbaa !9
  %43 = call i64 @ZSTD_cParam_clampBounds(i32 noundef %42, ptr noundef %7)
  store i64 %43, ptr %8, align 8, !tbaa !18
  %44 = load i64, ptr %8, align 8, !tbaa !18
  %45 = call i32 @ERR_isError(i64 noundef %44)
  %46 = icmp ne i32 %45, 0
  br i1 %46, label %47, label %61

47:                                               ; preds = %41
  br label %48

48:                                               ; preds = %47
  br label %49

49:                                               ; preds = %48
  br label %50

50:                                               ; preds = %49
  br label %51

51:                                               ; preds = %50
  br label %52

52:                                               ; preds = %51
  br label %53

53:                                               ; preds = %52
  br label %54

54:                                               ; preds = %53
  br label %55

55:                                               ; preds = %54
  br label %56

56:                                               ; preds = %55
  br label %57

57:                                               ; preds = %56
  br label %58

58:                                               ; preds = %57
  br label %59

59:                                               ; preds = %58
  %60 = load i64, ptr %8, align 8, !tbaa !18
  store i64 %60, ptr %4, align 8
  store i32 1, ptr %9, align 4
  br label %62

61:                                               ; preds = %41
  store i32 0, ptr %9, align 4
  br label %62

62:                                               ; preds = %61, %59
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #3
  %63 = load i32, ptr %9, align 4
  switch i32 %63, label %998 [
    i32 0, label %64
    i32 1, label %996
  ]

64:                                               ; preds = %62
  br label %65

65:                                               ; preds = %64
  %66 = load i32, ptr %7, align 4, !tbaa !9
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %71

68:                                               ; preds = %65
  %69 = load ptr, ptr %5, align 8, !tbaa !5
  %70 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %69, i32 0, i32 3
  store i32 3, ptr %70, align 4, !tbaa !19
  br label %75

71:                                               ; preds = %65
  %72 = load i32, ptr %7, align 4, !tbaa !9
  %73 = load ptr, ptr %5, align 8, !tbaa !5
  %74 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %73, i32 0, i32 3
  store i32 %72, ptr %74, align 4, !tbaa !19
  br label %75

75:                                               ; preds = %71, %68
  %76 = load ptr, ptr %5, align 8, !tbaa !5
  %77 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %76, i32 0, i32 3
  %78 = load i32, ptr %77, align 4, !tbaa !19
  %79 = icmp sge i32 %78, 0
  br i1 %79, label %80, label %85

80:                                               ; preds = %75
  %81 = load ptr, ptr %5, align 8, !tbaa !5
  %82 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %81, i32 0, i32 3
  %83 = load i32, ptr %82, align 4, !tbaa !19
  %84 = sext i32 %83 to i64
  store i64 %84, ptr %4, align 8
  br label %996

85:                                               ; preds = %75
  store i64 0, ptr %4, align 8
  br label %996

86:                                               ; preds = %13
  %87 = load i32, ptr %7, align 4, !tbaa !9
  %88 = icmp ne i32 %87, 0
  br i1 %88, label %89, label %107

89:                                               ; preds = %86
  br label %90

90:                                               ; preds = %89
  br label %91

91:                                               ; preds = %90
  %92 = load i32, ptr %7, align 4, !tbaa !9
  %93 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 101, i32 noundef %92)
  %94 = icmp ne i32 %93, 0
  br i1 %94, label %104, label %95

95:                                               ; preds = %91
  br label %96

96:                                               ; preds = %95
  br label %97

97:                                               ; preds = %96
  br label %98

98:                                               ; preds = %97
  br label %99

99:                                               ; preds = %98
  br label %100

100:                                              ; preds = %99
  br label %101

101:                                              ; preds = %100
  br label %102

102:                                              ; preds = %101
  br label %103

103:                                              ; preds = %102
  store i64 -42, ptr %4, align 8
  br label %996

104:                                              ; preds = %91
  br label %105

105:                                              ; preds = %104
  br label %106

106:                                              ; preds = %105
  br label %107

107:                                              ; preds = %106, %86
  %108 = load i32, ptr %7, align 4, !tbaa !9
  %109 = load ptr, ptr %5, align 8, !tbaa !5
  %110 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %109, i32 0, i32 1
  %111 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %110, i32 0, i32 0
  store i32 %108, ptr %111, align 4, !tbaa !20
  %112 = load ptr, ptr %5, align 8, !tbaa !5
  %113 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %112, i32 0, i32 1
  %114 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %113, i32 0, i32 0
  %115 = load i32, ptr %114, align 4, !tbaa !20
  %116 = zext i32 %115 to i64
  store i64 %116, ptr %4, align 8
  br label %996

117:                                              ; preds = %13
  %118 = load i32, ptr %7, align 4, !tbaa !9
  %119 = icmp ne i32 %118, 0
  br i1 %119, label %120, label %138

120:                                              ; preds = %117
  br label %121

121:                                              ; preds = %120
  br label %122

122:                                              ; preds = %121
  %123 = load i32, ptr %7, align 4, !tbaa !9
  %124 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 102, i32 noundef %123)
  %125 = icmp ne i32 %124, 0
  br i1 %125, label %135, label %126

126:                                              ; preds = %122
  br label %127

127:                                              ; preds = %126
  br label %128

128:                                              ; preds = %127
  br label %129

129:                                              ; preds = %128
  br label %130

130:                                              ; preds = %129
  br label %131

131:                                              ; preds = %130
  br label %132

132:                                              ; preds = %131
  br label %133

133:                                              ; preds = %132
  br label %134

134:                                              ; preds = %133
  store i64 -42, ptr %4, align 8
  br label %996

135:                                              ; preds = %122
  br label %136

136:                                              ; preds = %135
  br label %137

137:                                              ; preds = %136
  br label %138

138:                                              ; preds = %137, %117
  %139 = load i32, ptr %7, align 4, !tbaa !9
  %140 = load ptr, ptr %5, align 8, !tbaa !5
  %141 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %140, i32 0, i32 1
  %142 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %141, i32 0, i32 2
  store i32 %139, ptr %142, align 4, !tbaa !21
  %143 = load ptr, ptr %5, align 8, !tbaa !5
  %144 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %143, i32 0, i32 1
  %145 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %144, i32 0, i32 2
  %146 = load i32, ptr %145, align 4, !tbaa !21
  %147 = zext i32 %146 to i64
  store i64 %147, ptr %4, align 8
  br label %996

148:                                              ; preds = %13
  %149 = load i32, ptr %7, align 4, !tbaa !9
  %150 = icmp ne i32 %149, 0
  br i1 %150, label %151, label %169

151:                                              ; preds = %148
  br label %152

152:                                              ; preds = %151
  br label %153

153:                                              ; preds = %152
  %154 = load i32, ptr %7, align 4, !tbaa !9
  %155 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 103, i32 noundef %154)
  %156 = icmp ne i32 %155, 0
  br i1 %156, label %166, label %157

157:                                              ; preds = %153
  br label %158

158:                                              ; preds = %157
  br label %159

159:                                              ; preds = %158
  br label %160

160:                                              ; preds = %159
  br label %161

161:                                              ; preds = %160
  br label %162

162:                                              ; preds = %161
  br label %163

163:                                              ; preds = %162
  br label %164

164:                                              ; preds = %163
  br label %165

165:                                              ; preds = %164
  store i64 -42, ptr %4, align 8
  br label %996

166:                                              ; preds = %153
  br label %167

167:                                              ; preds = %166
  br label %168

168:                                              ; preds = %167
  br label %169

169:                                              ; preds = %168, %148
  %170 = load i32, ptr %7, align 4, !tbaa !9
  %171 = load ptr, ptr %5, align 8, !tbaa !5
  %172 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %171, i32 0, i32 1
  %173 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %172, i32 0, i32 1
  store i32 %170, ptr %173, align 4, !tbaa !22
  %174 = load ptr, ptr %5, align 8, !tbaa !5
  %175 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %174, i32 0, i32 1
  %176 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %175, i32 0, i32 1
  %177 = load i32, ptr %176, align 4, !tbaa !22
  %178 = zext i32 %177 to i64
  store i64 %178, ptr %4, align 8
  br label %996

179:                                              ; preds = %13
  %180 = load i32, ptr %7, align 4, !tbaa !9
  %181 = icmp ne i32 %180, 0
  br i1 %181, label %182, label %200

182:                                              ; preds = %179
  br label %183

183:                                              ; preds = %182
  br label %184

184:                                              ; preds = %183
  %185 = load i32, ptr %7, align 4, !tbaa !9
  %186 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 104, i32 noundef %185)
  %187 = icmp ne i32 %186, 0
  br i1 %187, label %197, label %188

188:                                              ; preds = %184
  br label %189

189:                                              ; preds = %188
  br label %190

190:                                              ; preds = %189
  br label %191

191:                                              ; preds = %190
  br label %192

192:                                              ; preds = %191
  br label %193

193:                                              ; preds = %192
  br label %194

194:                                              ; preds = %193
  br label %195

195:                                              ; preds = %194
  br label %196

196:                                              ; preds = %195
  store i64 -42, ptr %4, align 8
  br label %996

197:                                              ; preds = %184
  br label %198

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198
  br label %200

200:                                              ; preds = %199, %179
  %201 = load i32, ptr %7, align 4, !tbaa !9
  %202 = load ptr, ptr %5, align 8, !tbaa !5
  %203 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %202, i32 0, i32 1
  %204 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %203, i32 0, i32 3
  store i32 %201, ptr %204, align 4, !tbaa !23
  %205 = load i32, ptr %7, align 4, !tbaa !9
  %206 = sext i32 %205 to i64
  store i64 %206, ptr %4, align 8
  br label %996

207:                                              ; preds = %13
  %208 = load i32, ptr %7, align 4, !tbaa !9
  %209 = icmp ne i32 %208, 0
  br i1 %209, label %210, label %228

210:                                              ; preds = %207
  br label %211

211:                                              ; preds = %210
  br label %212

212:                                              ; preds = %211
  %213 = load i32, ptr %7, align 4, !tbaa !9
  %214 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 105, i32 noundef %213)
  %215 = icmp ne i32 %214, 0
  br i1 %215, label %225, label %216

216:                                              ; preds = %212
  br label %217

217:                                              ; preds = %216
  br label %218

218:                                              ; preds = %217
  br label %219

219:                                              ; preds = %218
  br label %220

220:                                              ; preds = %219
  br label %221

221:                                              ; preds = %220
  br label %222

222:                                              ; preds = %221
  br label %223

223:                                              ; preds = %222
  br label %224

224:                                              ; preds = %223
  store i64 -42, ptr %4, align 8
  br label %996

225:                                              ; preds = %212
  br label %226

226:                                              ; preds = %225
  br label %227

227:                                              ; preds = %226
  br label %228

228:                                              ; preds = %227, %207
  %229 = load i32, ptr %7, align 4, !tbaa !9
  %230 = load ptr, ptr %5, align 8, !tbaa !5
  %231 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %230, i32 0, i32 1
  %232 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %231, i32 0, i32 4
  store i32 %229, ptr %232, align 4, !tbaa !24
  %233 = load ptr, ptr %5, align 8, !tbaa !5
  %234 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %233, i32 0, i32 1
  %235 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %234, i32 0, i32 4
  %236 = load i32, ptr %235, align 4, !tbaa !24
  %237 = zext i32 %236 to i64
  store i64 %237, ptr %4, align 8
  br label %996

238:                                              ; preds = %13
  br label %239

239:                                              ; preds = %238
  br label %240

240:                                              ; preds = %239
  %241 = load i32, ptr %7, align 4, !tbaa !9
  %242 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 106, i32 noundef %241)
  %243 = icmp ne i32 %242, 0
  br i1 %243, label %253, label %244

244:                                              ; preds = %240
  br label %245

245:                                              ; preds = %244
  br label %246

246:                                              ; preds = %245
  br label %247

247:                                              ; preds = %246
  br label %248

248:                                              ; preds = %247
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250
  br label %252

252:                                              ; preds = %251
  store i64 -42, ptr %4, align 8
  br label %996

253:                                              ; preds = %240
  br label %254

254:                                              ; preds = %253
  br label %255

255:                                              ; preds = %254
  %256 = load i32, ptr %7, align 4, !tbaa !9
  %257 = load ptr, ptr %5, align 8, !tbaa !5
  %258 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %257, i32 0, i32 1
  %259 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %258, i32 0, i32 5
  store i32 %256, ptr %259, align 4, !tbaa !25
  %260 = load ptr, ptr %5, align 8, !tbaa !5
  %261 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %260, i32 0, i32 1
  %262 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %261, i32 0, i32 5
  %263 = load i32, ptr %262, align 4, !tbaa !25
  %264 = zext i32 %263 to i64
  store i64 %264, ptr %4, align 8
  br label %996

265:                                              ; preds = %13
  %266 = load i32, ptr %7, align 4, !tbaa !9
  %267 = icmp ne i32 %266, 0
  br i1 %267, label %268, label %286

268:                                              ; preds = %265
  br label %269

269:                                              ; preds = %268
  br label %270

270:                                              ; preds = %269
  %271 = load i32, ptr %7, align 4, !tbaa !9
  %272 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 107, i32 noundef %271)
  %273 = icmp ne i32 %272, 0
  br i1 %273, label %283, label %274

274:                                              ; preds = %270
  br label %275

275:                                              ; preds = %274
  br label %276

276:                                              ; preds = %275
  br label %277

277:                                              ; preds = %276
  br label %278

278:                                              ; preds = %277
  br label %279

279:                                              ; preds = %278
  br label %280

280:                                              ; preds = %279
  br label %281

281:                                              ; preds = %280
  br label %282

282:                                              ; preds = %281
  store i64 -42, ptr %4, align 8
  br label %996

283:                                              ; preds = %270
  br label %284

284:                                              ; preds = %283
  br label %285

285:                                              ; preds = %284
  br label %286

286:                                              ; preds = %285, %265
  %287 = load i32, ptr %7, align 4, !tbaa !9
  %288 = load ptr, ptr %5, align 8, !tbaa !5
  %289 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %288, i32 0, i32 1
  %290 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %289, i32 0, i32 6
  store i32 %287, ptr %290, align 4, !tbaa !26
  %291 = load ptr, ptr %5, align 8, !tbaa !5
  %292 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %291, i32 0, i32 1
  %293 = getelementptr inbounds %struct.ZSTD_compressionParameters, ptr %292, i32 0, i32 6
  %294 = load i32, ptr %293, align 4, !tbaa !26
  %295 = zext i32 %294 to i64
  store i64 %295, ptr %4, align 8
  br label %996

296:                                              ; preds = %13
  br label %297

297:                                              ; preds = %296
  br label %298

298:                                              ; preds = %297
  %299 = load i32, ptr %7, align 4, !tbaa !9
  %300 = icmp ne i32 %299, 0
  %301 = zext i1 %300 to i32
  %302 = load ptr, ptr %5, align 8, !tbaa !5
  %303 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %302, i32 0, i32 2
  %304 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %303, i32 0, i32 0
  store i32 %301, ptr %304, align 8, !tbaa !27
  %305 = load ptr, ptr %5, align 8, !tbaa !5
  %306 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %305, i32 0, i32 2
  %307 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %306, i32 0, i32 0
  %308 = load i32, ptr %307, align 8, !tbaa !27
  %309 = sext i32 %308 to i64
  store i64 %309, ptr %4, align 8
  br label %996

310:                                              ; preds = %13
  %311 = load i32, ptr %7, align 4, !tbaa !9
  %312 = icmp ne i32 %311, 0
  %313 = zext i1 %312 to i32
  %314 = load ptr, ptr %5, align 8, !tbaa !5
  %315 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %314, i32 0, i32 2
  %316 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %315, i32 0, i32 1
  store i32 %313, ptr %316, align 4, !tbaa !28
  %317 = load ptr, ptr %5, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %317, i32 0, i32 2
  %319 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %318, i32 0, i32 1
  %320 = load i32, ptr %319, align 4, !tbaa !28
  %321 = sext i32 %320 to i64
  store i64 %321, ptr %4, align 8
  br label %996

322:                                              ; preds = %13
  br label %323

323:                                              ; preds = %322
  br label %324

324:                                              ; preds = %323
  %325 = load i32, ptr %7, align 4, !tbaa !9
  %326 = icmp ne i32 %325, 0
  %327 = xor i1 %326, true
  %328 = zext i1 %327 to i32
  %329 = load ptr, ptr %5, align 8, !tbaa !5
  %330 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %329, i32 0, i32 2
  %331 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %330, i32 0, i32 2
  store i32 %328, ptr %331, align 8, !tbaa !29
  %332 = load ptr, ptr %5, align 8, !tbaa !5
  %333 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %332, i32 0, i32 2
  %334 = getelementptr inbounds %struct.ZSTD_frameParameters, ptr %333, i32 0, i32 2
  %335 = load i32, ptr %334, align 8, !tbaa !29
  %336 = icmp ne i32 %335, 0
  %337 = xor i1 %336, true
  %338 = zext i1 %337 to i32
  %339 = sext i32 %338 to i64
  store i64 %339, ptr %4, align 8
  br label %996

340:                                              ; preds = %13
  %341 = load i32, ptr %7, align 4, !tbaa !9
  %342 = icmp ne i32 %341, 0
  %343 = zext i1 %342 to i32
  %344 = load ptr, ptr %5, align 8, !tbaa !5
  %345 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %344, i32 0, i32 4
  store i32 %343, ptr %345, align 8, !tbaa !30
  %346 = load ptr, ptr %5, align 8, !tbaa !5
  %347 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %346, i32 0, i32 4
  %348 = load i32, ptr %347, align 8, !tbaa !30
  %349 = sext i32 %348 to i64
  store i64 %349, ptr %4, align 8
  br label %996

350:                                              ; preds = %13
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #3
  %351 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %351, ptr %10, align 4, !tbaa !9
  br label %352

352:                                              ; preds = %350
  br label %353

353:                                              ; preds = %352
  %354 = load i32, ptr %10, align 4, !tbaa !9
  %355 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1001, i32 noundef %354)
  %356 = icmp ne i32 %355, 0
  br i1 %356, label %370, label %357

357:                                              ; preds = %353
  br label %358

358:                                              ; preds = %357
  br label %359

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359
  br label %361

361:                                              ; preds = %360
  br label %362

362:                                              ; preds = %361
  br label %363

363:                                              ; preds = %362
  br label %364

364:                                              ; preds = %363
  br label %365

365:                                              ; preds = %364
  br label %366

366:                                              ; preds = %365
  br label %367

367:                                              ; preds = %366
  br label %368

368:                                              ; preds = %367
  br label %369

369:                                              ; preds = %368
  store i64 -42, ptr %4, align 8
  store i32 1, ptr %9, align 4
  br label %382

370:                                              ; preds = %353
  br label %371

371:                                              ; preds = %370
  br label %372

372:                                              ; preds = %371
  br label %373

373:                                              ; preds = %372
  br label %374

374:                                              ; preds = %373
  %375 = load i32, ptr %10, align 4, !tbaa !9
  %376 = load ptr, ptr %5, align 8, !tbaa !5
  %377 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %376, i32 0, i32 7
  store i32 %375, ptr %377, align 4, !tbaa !31
  %378 = load ptr, ptr %5, align 8, !tbaa !5
  %379 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %378, i32 0, i32 7
  %380 = load i32, ptr %379, align 4, !tbaa !31
  %381 = zext i32 %380 to i64
  store i64 %381, ptr %4, align 8
  store i32 1, ptr %9, align 4
  br label %382

382:                                              ; preds = %374, %369
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #3
  br label %996

383:                                              ; preds = %13
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #3
  %384 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %384, ptr %11, align 4, !tbaa !9
  br label %385

385:                                              ; preds = %383
  br label %386

386:                                              ; preds = %385
  %387 = load i32, ptr %11, align 4, !tbaa !9
  %388 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1002, i32 noundef %387)
  %389 = icmp ne i32 %388, 0
  br i1 %389, label %403, label %390

390:                                              ; preds = %386
  br label %391

391:                                              ; preds = %390
  br label %392

392:                                              ; preds = %391
  br label %393

393:                                              ; preds = %392
  br label %394

394:                                              ; preds = %393
  br label %395

395:                                              ; preds = %394
  br label %396

396:                                              ; preds = %395
  br label %397

397:                                              ; preds = %396
  br label %398

398:                                              ; preds = %397
  br label %399

399:                                              ; preds = %398
  br label %400

400:                                              ; preds = %399
  br label %401

401:                                              ; preds = %400
  br label %402

402:                                              ; preds = %401
  store i64 -42, ptr %4, align 8
  store i32 1, ptr %9, align 4
  br label %415

403:                                              ; preds = %386
  br label %404

404:                                              ; preds = %403
  br label %405

405:                                              ; preds = %404
  br label %406

406:                                              ; preds = %405
  br label %407

407:                                              ; preds = %406
  %408 = load i32, ptr %11, align 4, !tbaa !9
  %409 = load ptr, ptr %5, align 8, !tbaa !5
  %410 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %409, i32 0, i32 8
  store i32 %408, ptr %410, align 8, !tbaa !32
  %411 = load ptr, ptr %5, align 8, !tbaa !5
  %412 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %411, i32 0, i32 8
  %413 = load i32, ptr %412, align 8, !tbaa !32
  %414 = zext i32 %413 to i64
  store i64 %414, ptr %4, align 8
  store i32 1, ptr %9, align 4
  br label %415

415:                                              ; preds = %407, %402
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #3
  br label %996

416:                                              ; preds = %13
  br label %417

417:                                              ; preds = %416
  %418 = load i32, ptr %7, align 4, !tbaa !9
  %419 = icmp ne i32 %418, 0
  br i1 %419, label %420, label %429

420:                                              ; preds = %417
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422
  br label %424

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  br label %427

427:                                              ; preds = %426
  br label %428

428:                                              ; preds = %427
  store i64 -40, ptr %4, align 8
  br label %996

429:                                              ; preds = %417
  br label %430

430:                                              ; preds = %429
  store i64 0, ptr %4, align 8
  br label %996

431:                                              ; preds = %13
  br label %432

432:                                              ; preds = %431
  %433 = load i32, ptr %7, align 4, !tbaa !9
  %434 = icmp ne i32 %433, 0
  br i1 %434, label %435, label %444

435:                                              ; preds = %432
  br label %436

436:                                              ; preds = %435
  br label %437

437:                                              ; preds = %436
  br label %438

438:                                              ; preds = %437
  br label %439

439:                                              ; preds = %438
  br label %440

440:                                              ; preds = %439
  br label %441

441:                                              ; preds = %440
  br label %442

442:                                              ; preds = %441
  br label %443

443:                                              ; preds = %442
  store i64 -40, ptr %4, align 8
  br label %996

444:                                              ; preds = %432
  br label %445

445:                                              ; preds = %444
  store i64 0, ptr %4, align 8
  br label %996

446:                                              ; preds = %13
  br label %447

447:                                              ; preds = %446
  %448 = load i32, ptr %7, align 4, !tbaa !9
  %449 = icmp ne i32 %448, 0
  br i1 %449, label %450, label %459

450:                                              ; preds = %447
  br label %451

451:                                              ; preds = %450
  br label %452

452:                                              ; preds = %451
  br label %453

453:                                              ; preds = %452
  br label %454

454:                                              ; preds = %453
  br label %455

455:                                              ; preds = %454
  br label %456

456:                                              ; preds = %455
  br label %457

457:                                              ; preds = %456
  br label %458

458:                                              ; preds = %457
  store i64 -40, ptr %4, align 8
  br label %996

459:                                              ; preds = %447
  br label %460

460:                                              ; preds = %459
  store i64 0, ptr %4, align 8
  br label %996

461:                                              ; preds = %13
  br label %462

462:                                              ; preds = %461
  %463 = load i32, ptr %7, align 4, !tbaa !9
  %464 = icmp ne i32 %463, 0
  br i1 %464, label %465, label %474

465:                                              ; preds = %462
  br label %466

466:                                              ; preds = %465
  br label %467

467:                                              ; preds = %466
  br label %468

468:                                              ; preds = %467
  br label %469

469:                                              ; preds = %468
  br label %470

470:                                              ; preds = %469
  br label %471

471:                                              ; preds = %470
  br label %472

472:                                              ; preds = %471
  br label %473

473:                                              ; preds = %472
  store i64 -40, ptr %4, align 8
  br label %996

474:                                              ; preds = %462
  br label %475

475:                                              ; preds = %474
  store i64 0, ptr %4, align 8
  br label %996

476:                                              ; preds = %13
  %477 = load i32, ptr %7, align 4, !tbaa !9
  %478 = icmp ne i32 %477, 0
  %479 = zext i1 %478 to i32
  %480 = load ptr, ptr %5, align 8, !tbaa !5
  %481 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %480, i32 0, i32 14
  store i32 %479, ptr %481, align 8, !tbaa !33
  %482 = load ptr, ptr %5, align 8, !tbaa !5
  %483 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %482, i32 0, i32 14
  %484 = load i32, ptr %483, align 8, !tbaa !33
  %485 = sext i32 %484 to i64
  store i64 %485, ptr %4, align 8
  br label %996

486:                                              ; preds = %13
  br label %487

487:                                              ; preds = %486
  br label %488

488:                                              ; preds = %487
  %489 = load i32, ptr %7, align 4, !tbaa !9
  %490 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 160, i32 noundef %489)
  %491 = icmp ne i32 %490, 0
  br i1 %491, label %501, label %492

492:                                              ; preds = %488
  br label %493

493:                                              ; preds = %492
  br label %494

494:                                              ; preds = %493
  br label %495

495:                                              ; preds = %494
  br label %496

496:                                              ; preds = %495
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  br label %499

499:                                              ; preds = %498
  br label %500

500:                                              ; preds = %499
  store i64 -42, ptr %4, align 8
  br label %996

501:                                              ; preds = %488
  br label %502

502:                                              ; preds = %501
  br label %503

503:                                              ; preds = %502
  %504 = load i32, ptr %7, align 4, !tbaa !9
  %505 = load ptr, ptr %5, align 8, !tbaa !5
  %506 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %505, i32 0, i32 13
  %507 = getelementptr inbounds %struct.ldmParams_t, ptr %506, i32 0, i32 0
  store i32 %504, ptr %507, align 8, !tbaa !34
  %508 = load ptr, ptr %5, align 8, !tbaa !5
  %509 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %508, i32 0, i32 13
  %510 = getelementptr inbounds %struct.ldmParams_t, ptr %509, i32 0, i32 0
  %511 = load i32, ptr %510, align 8, !tbaa !34
  %512 = zext i32 %511 to i64
  store i64 %512, ptr %4, align 8
  br label %996

513:                                              ; preds = %13
  %514 = load i32, ptr %7, align 4, !tbaa !9
  %515 = icmp ne i32 %514, 0
  br i1 %515, label %516, label %534

516:                                              ; preds = %513
  br label %517

517:                                              ; preds = %516
  br label %518

518:                                              ; preds = %517
  %519 = load i32, ptr %7, align 4, !tbaa !9
  %520 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 161, i32 noundef %519)
  %521 = icmp ne i32 %520, 0
  br i1 %521, label %531, label %522

522:                                              ; preds = %518
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  br label %525

525:                                              ; preds = %524
  br label %526

526:                                              ; preds = %525
  br label %527

527:                                              ; preds = %526
  br label %528

528:                                              ; preds = %527
  br label %529

529:                                              ; preds = %528
  br label %530

530:                                              ; preds = %529
  store i64 -42, ptr %4, align 8
  br label %996

531:                                              ; preds = %518
  br label %532

532:                                              ; preds = %531
  br label %533

533:                                              ; preds = %532
  br label %534

534:                                              ; preds = %533, %513
  %535 = load i32, ptr %7, align 4, !tbaa !9
  %536 = load ptr, ptr %5, align 8, !tbaa !5
  %537 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %536, i32 0, i32 13
  %538 = getelementptr inbounds %struct.ldmParams_t, ptr %537, i32 0, i32 1
  store i32 %535, ptr %538, align 4, !tbaa !35
  %539 = load ptr, ptr %5, align 8, !tbaa !5
  %540 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %539, i32 0, i32 13
  %541 = getelementptr inbounds %struct.ldmParams_t, ptr %540, i32 0, i32 1
  %542 = load i32, ptr %541, align 4, !tbaa !35
  %543 = zext i32 %542 to i64
  store i64 %543, ptr %4, align 8
  br label %996

544:                                              ; preds = %13
  %545 = load i32, ptr %7, align 4, !tbaa !9
  %546 = icmp ne i32 %545, 0
  br i1 %546, label %547, label %565

547:                                              ; preds = %544
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  %550 = load i32, ptr %7, align 4, !tbaa !9
  %551 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 162, i32 noundef %550)
  %552 = icmp ne i32 %551, 0
  br i1 %552, label %562, label %553

553:                                              ; preds = %549
  br label %554

554:                                              ; preds = %553
  br label %555

555:                                              ; preds = %554
  br label %556

556:                                              ; preds = %555
  br label %557

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557
  br label %559

559:                                              ; preds = %558
  br label %560

560:                                              ; preds = %559
  br label %561

561:                                              ; preds = %560
  store i64 -42, ptr %4, align 8
  br label %996

562:                                              ; preds = %549
  br label %563

563:                                              ; preds = %562
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564, %544
  %566 = load i32, ptr %7, align 4, !tbaa !9
  %567 = load ptr, ptr %5, align 8, !tbaa !5
  %568 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %567, i32 0, i32 13
  %569 = getelementptr inbounds %struct.ldmParams_t, ptr %568, i32 0, i32 3
  store i32 %566, ptr %569, align 4, !tbaa !36
  %570 = load ptr, ptr %5, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %570, i32 0, i32 13
  %572 = getelementptr inbounds %struct.ldmParams_t, ptr %571, i32 0, i32 3
  %573 = load i32, ptr %572, align 4, !tbaa !36
  %574 = zext i32 %573 to i64
  store i64 %574, ptr %4, align 8
  br label %996

575:                                              ; preds = %13
  %576 = load i32, ptr %7, align 4, !tbaa !9
  %577 = icmp ne i32 %576, 0
  br i1 %577, label %578, label %596

578:                                              ; preds = %575
  br label %579

579:                                              ; preds = %578
  br label %580

580:                                              ; preds = %579
  %581 = load i32, ptr %7, align 4, !tbaa !9
  %582 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 163, i32 noundef %581)
  %583 = icmp ne i32 %582, 0
  br i1 %583, label %593, label %584

584:                                              ; preds = %580
  br label %585

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %585
  br label %587

587:                                              ; preds = %586
  br label %588

588:                                              ; preds = %587
  br label %589

589:                                              ; preds = %588
  br label %590

590:                                              ; preds = %589
  br label %591

591:                                              ; preds = %590
  br label %592

592:                                              ; preds = %591
  store i64 -42, ptr %4, align 8
  br label %996

593:                                              ; preds = %580
  br label %594

594:                                              ; preds = %593
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595, %575
  %597 = load i32, ptr %7, align 4, !tbaa !9
  %598 = load ptr, ptr %5, align 8, !tbaa !5
  %599 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %598, i32 0, i32 13
  %600 = getelementptr inbounds %struct.ldmParams_t, ptr %599, i32 0, i32 2
  store i32 %597, ptr %600, align 8, !tbaa !37
  %601 = load ptr, ptr %5, align 8, !tbaa !5
  %602 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %601, i32 0, i32 13
  %603 = getelementptr inbounds %struct.ldmParams_t, ptr %602, i32 0, i32 2
  %604 = load i32, ptr %603, align 8, !tbaa !37
  %605 = zext i32 %604 to i64
  store i64 %605, ptr %4, align 8
  br label %996

606:                                              ; preds = %13
  %607 = load i32, ptr %7, align 4, !tbaa !9
  %608 = icmp ne i32 %607, 0
  br i1 %608, label %609, label %627

609:                                              ; preds = %606
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  %612 = load i32, ptr %7, align 4, !tbaa !9
  %613 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 164, i32 noundef %612)
  %614 = icmp ne i32 %613, 0
  br i1 %614, label %624, label %615

615:                                              ; preds = %611
  br label %616

616:                                              ; preds = %615
  br label %617

617:                                              ; preds = %616
  br label %618

618:                                              ; preds = %617
  br label %619

619:                                              ; preds = %618
  br label %620

620:                                              ; preds = %619
  br label %621

621:                                              ; preds = %620
  br label %622

622:                                              ; preds = %621
  br label %623

623:                                              ; preds = %622
  store i64 -42, ptr %4, align 8
  br label %996

624:                                              ; preds = %611
  br label %625

625:                                              ; preds = %624
  br label %626

626:                                              ; preds = %625
  br label %627

627:                                              ; preds = %626, %606
  %628 = load i32, ptr %7, align 4, !tbaa !9
  %629 = load ptr, ptr %5, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %629, i32 0, i32 13
  %631 = getelementptr inbounds %struct.ldmParams_t, ptr %630, i32 0, i32 4
  store i32 %628, ptr %631, align 8, !tbaa !38
  %632 = load ptr, ptr %5, align 8, !tbaa !5
  %633 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %632, i32 0, i32 13
  %634 = getelementptr inbounds %struct.ldmParams_t, ptr %633, i32 0, i32 4
  %635 = load i32, ptr %634, align 8, !tbaa !38
  %636 = zext i32 %635 to i64
  store i64 %636, ptr %4, align 8
  br label %996

637:                                              ; preds = %13
  %638 = load i32, ptr %7, align 4, !tbaa !9
  %639 = icmp ne i32 %638, 0
  br i1 %639, label %640, label %665

640:                                              ; preds = %637
  %641 = load i32, ptr %7, align 4, !tbaa !9
  %642 = icmp sgt i32 %641, 1340
  br i1 %642, label %643, label %645

643:                                              ; preds = %640
  %644 = load i32, ptr %7, align 4, !tbaa !9
  br label %646

645:                                              ; preds = %640
  br label %646

646:                                              ; preds = %645, %643
  %647 = phi i32 [ %644, %643 ], [ 1340, %645 ]
  store i32 %647, ptr %7, align 4, !tbaa !9
  br label %648

648:                                              ; preds = %646
  br label %649

649:                                              ; preds = %648
  %650 = load i32, ptr %7, align 4, !tbaa !9
  %651 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 130, i32 noundef %650)
  %652 = icmp ne i32 %651, 0
  br i1 %652, label %662, label %653

653:                                              ; preds = %649
  br label %654

654:                                              ; preds = %653
  br label %655

655:                                              ; preds = %654
  br label %656

656:                                              ; preds = %655
  br label %657

657:                                              ; preds = %656
  br label %658

658:                                              ; preds = %657
  br label %659

659:                                              ; preds = %658
  br label %660

660:                                              ; preds = %659
  br label %661

661:                                              ; preds = %660
  store i64 -42, ptr %4, align 8
  br label %996

662:                                              ; preds = %649
  br label %663

663:                                              ; preds = %662
  br label %664

664:                                              ; preds = %663
  br label %665

665:                                              ; preds = %664, %637
  %666 = load i32, ptr %7, align 4, !tbaa !9
  %667 = zext i32 %666 to i64
  %668 = load ptr, ptr %5, align 8, !tbaa !5
  %669 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %668, i32 0, i32 5
  store i64 %667, ptr %669, align 8, !tbaa !39
  %670 = load ptr, ptr %5, align 8, !tbaa !5
  %671 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %670, i32 0, i32 5
  %672 = load i64, ptr %671, align 8, !tbaa !39
  store i64 %672, ptr %4, align 8
  br label %996

673:                                              ; preds = %13
  %674 = load i32, ptr %7, align 4, !tbaa !9
  %675 = icmp ne i32 %674, 0
  br i1 %675, label %676, label %694

676:                                              ; preds = %673
  br label %677

677:                                              ; preds = %676
  br label %678

678:                                              ; preds = %677
  %679 = load i32, ptr %7, align 4, !tbaa !9
  %680 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1004, i32 noundef %679)
  %681 = icmp ne i32 %680, 0
  br i1 %681, label %691, label %682

682:                                              ; preds = %678
  br label %683

683:                                              ; preds = %682
  br label %684

684:                                              ; preds = %683
  br label %685

685:                                              ; preds = %684
  br label %686

686:                                              ; preds = %685
  br label %687

687:                                              ; preds = %686
  br label %688

688:                                              ; preds = %687
  br label %689

689:                                              ; preds = %688
  br label %690

690:                                              ; preds = %689
  store i64 -42, ptr %4, align 8
  br label %996

691:                                              ; preds = %678
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692
  br label %694

694:                                              ; preds = %693, %673
  %695 = load i32, ptr %7, align 4, !tbaa !9
  %696 = load ptr, ptr %5, align 8, !tbaa !5
  %697 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %696, i32 0, i32 6
  store i32 %695, ptr %697, align 8, !tbaa !40
  %698 = load ptr, ptr %5, align 8, !tbaa !5
  %699 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %698, i32 0, i32 6
  %700 = load i32, ptr %699, align 8, !tbaa !40
  %701 = sext i32 %700 to i64
  store i64 %701, ptr %4, align 8
  br label %996

702:                                              ; preds = %13
  br label %703

703:                                              ; preds = %702
  br label %704

704:                                              ; preds = %703
  %705 = load i32, ptr %7, align 4, !tbaa !9
  %706 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1006, i32 noundef %705)
  %707 = icmp ne i32 %706, 0
  br i1 %707, label %717, label %708

708:                                              ; preds = %704
  br label %709

709:                                              ; preds = %708
  br label %710

710:                                              ; preds = %709
  br label %711

711:                                              ; preds = %710
  br label %712

712:                                              ; preds = %711
  br label %713

713:                                              ; preds = %712
  br label %714

714:                                              ; preds = %713
  br label %715

715:                                              ; preds = %714
  br label %716

716:                                              ; preds = %715
  store i64 -42, ptr %4, align 8
  br label %996

717:                                              ; preds = %704
  br label %718

718:                                              ; preds = %717
  br label %719

719:                                              ; preds = %718
  %720 = load i32, ptr %7, align 4, !tbaa !9
  %721 = load ptr, ptr %5, align 8, !tbaa !5
  %722 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %721, i32 0, i32 15
  store i32 %720, ptr %722, align 4, !tbaa !41
  %723 = load ptr, ptr %5, align 8, !tbaa !5
  %724 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %723, i32 0, i32 15
  %725 = load i32, ptr %724, align 4, !tbaa !41
  %726 = zext i32 %725 to i64
  store i64 %726, ptr %4, align 8
  br label %996

727:                                              ; preds = %13
  br label %728

728:                                              ; preds = %727
  br label %729

729:                                              ; preds = %728
  %730 = load i32, ptr %7, align 4, !tbaa !9
  %731 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1007, i32 noundef %730)
  %732 = icmp ne i32 %731, 0
  br i1 %732, label %742, label %733

733:                                              ; preds = %729
  br label %734

734:                                              ; preds = %733
  br label %735

735:                                              ; preds = %734
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  br label %738

738:                                              ; preds = %737
  br label %739

739:                                              ; preds = %738
  br label %740

740:                                              ; preds = %739
  br label %741

741:                                              ; preds = %740
  store i64 -42, ptr %4, align 8
  br label %996

742:                                              ; preds = %729
  br label %743

743:                                              ; preds = %742
  br label %744

744:                                              ; preds = %743
  %745 = load i32, ptr %7, align 4, !tbaa !9
  %746 = load ptr, ptr %5, align 8, !tbaa !5
  %747 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %746, i32 0, i32 16
  store i32 %745, ptr %747, align 8, !tbaa !42
  %748 = load ptr, ptr %5, align 8, !tbaa !5
  %749 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %748, i32 0, i32 16
  %750 = load i32, ptr %749, align 8, !tbaa !42
  %751 = zext i32 %750 to i64
  store i64 %751, ptr %4, align 8
  br label %996

752:                                              ; preds = %13
  br label %753

753:                                              ; preds = %752
  br label %754

754:                                              ; preds = %753
  %755 = load i32, ptr %7, align 4, !tbaa !9
  %756 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1008, i32 noundef %755)
  %757 = icmp ne i32 %756, 0
  br i1 %757, label %767, label %758

758:                                              ; preds = %754
  br label %759

759:                                              ; preds = %758
  br label %760

760:                                              ; preds = %759
  br label %761

761:                                              ; preds = %760
  br label %762

762:                                              ; preds = %761
  br label %763

763:                                              ; preds = %762
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  store i64 -42, ptr %4, align 8
  br label %996

767:                                              ; preds = %754
  br label %768

768:                                              ; preds = %767
  br label %769

769:                                              ; preds = %768
  %770 = load i32, ptr %7, align 4, !tbaa !9
  %771 = load ptr, ptr %5, align 8, !tbaa !5
  %772 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %771, i32 0, i32 17
  store i32 %770, ptr %772, align 4, !tbaa !43
  %773 = load ptr, ptr %5, align 8, !tbaa !5
  %774 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %773, i32 0, i32 17
  %775 = load i32, ptr %774, align 4, !tbaa !43
  %776 = zext i32 %775 to i64
  store i64 %776, ptr %4, align 8
  br label %996

777:                                              ; preds = %13
  br label %778

778:                                              ; preds = %777
  br label %779

779:                                              ; preds = %778
  %780 = load i32, ptr %7, align 4, !tbaa !9
  %781 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1009, i32 noundef %780)
  %782 = icmp ne i32 %781, 0
  br i1 %782, label %792, label %783

783:                                              ; preds = %779
  br label %784

784:                                              ; preds = %783
  br label %785

785:                                              ; preds = %784
  br label %786

786:                                              ; preds = %785
  br label %787

787:                                              ; preds = %786
  br label %788

788:                                              ; preds = %787
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  br label %791

791:                                              ; preds = %790
  store i64 -42, ptr %4, align 8
  br label %996

792:                                              ; preds = %779
  br label %793

793:                                              ; preds = %792
  br label %794

794:                                              ; preds = %793
  %795 = load i32, ptr %7, align 4, !tbaa !9
  %796 = load ptr, ptr %5, align 8, !tbaa !5
  %797 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %796, i32 0, i32 18
  store i32 %795, ptr %797, align 8, !tbaa !44
  %798 = load ptr, ptr %5, align 8, !tbaa !5
  %799 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %798, i32 0, i32 18
  %800 = load i32, ptr %799, align 8, !tbaa !44
  %801 = sext i32 %800 to i64
  store i64 %801, ptr %4, align 8
  br label %996

802:                                              ; preds = %13
  br label %803

803:                                              ; preds = %802
  br label %804

804:                                              ; preds = %803
  %805 = load i32, ptr %7, align 4, !tbaa !9
  %806 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1010, i32 noundef %805)
  %807 = icmp ne i32 %806, 0
  br i1 %807, label %817, label %808

808:                                              ; preds = %804
  br label %809

809:                                              ; preds = %808
  br label %810

810:                                              ; preds = %809
  br label %811

811:                                              ; preds = %810
  br label %812

812:                                              ; preds = %811
  br label %813

813:                                              ; preds = %812
  br label %814

814:                                              ; preds = %813
  br label %815

815:                                              ; preds = %814
  br label %816

816:                                              ; preds = %815
  store i64 -42, ptr %4, align 8
  br label %996

817:                                              ; preds = %804
  br label %818

818:                                              ; preds = %817
  br label %819

819:                                              ; preds = %818
  %820 = load i32, ptr %7, align 4, !tbaa !9
  %821 = load ptr, ptr %5, align 8, !tbaa !5
  %822 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %821, i32 0, i32 19
  store i32 %820, ptr %822, align 4, !tbaa !45
  %823 = load ptr, ptr %5, align 8, !tbaa !5
  %824 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %823, i32 0, i32 19
  %825 = load i32, ptr %824, align 4, !tbaa !45
  %826 = zext i32 %825 to i64
  store i64 %826, ptr %4, align 8
  br label %996

827:                                              ; preds = %13
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  %830 = load i32, ptr %7, align 4, !tbaa !9
  %831 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1011, i32 noundef %830)
  %832 = icmp ne i32 %831, 0
  br i1 %832, label %842, label %833

833:                                              ; preds = %829
  br label %834

834:                                              ; preds = %833
  br label %835

835:                                              ; preds = %834
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837
  br label %839

839:                                              ; preds = %838
  br label %840

840:                                              ; preds = %839
  br label %841

841:                                              ; preds = %840
  store i64 -42, ptr %4, align 8
  br label %996

842:                                              ; preds = %829
  br label %843

843:                                              ; preds = %842
  br label %844

844:                                              ; preds = %843
  %845 = load i32, ptr %7, align 4, !tbaa !9
  %846 = load ptr, ptr %5, align 8, !tbaa !5
  %847 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %846, i32 0, i32 20
  store i32 %845, ptr %847, align 8, !tbaa !46
  %848 = load ptr, ptr %5, align 8, !tbaa !5
  %849 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %848, i32 0, i32 20
  %850 = load i32, ptr %849, align 8, !tbaa !46
  %851 = zext i32 %850 to i64
  store i64 %851, ptr %4, align 8
  br label %996

852:                                              ; preds = %13
  br label %853

853:                                              ; preds = %852
  br label %854

854:                                              ; preds = %853
  %855 = load i32, ptr %7, align 4, !tbaa !9
  %856 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1012, i32 noundef %855)
  %857 = icmp ne i32 %856, 0
  br i1 %857, label %867, label %858

858:                                              ; preds = %854
  br label %859

859:                                              ; preds = %858
  br label %860

860:                                              ; preds = %859
  br label %861

861:                                              ; preds = %860
  br label %862

862:                                              ; preds = %861
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  br label %865

865:                                              ; preds = %864
  br label %866

866:                                              ; preds = %865
  store i64 -42, ptr %4, align 8
  br label %996

867:                                              ; preds = %854
  br label %868

868:                                              ; preds = %867
  br label %869

869:                                              ; preds = %868
  %870 = load i32, ptr %7, align 4, !tbaa !9
  %871 = icmp ne i32 %870, 0
  %872 = xor i1 %871, true
  %873 = xor i1 %872, true
  %874 = zext i1 %873 to i32
  %875 = load ptr, ptr %5, align 8, !tbaa !5
  %876 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %875, i32 0, i32 21
  store i32 %874, ptr %876, align 4, !tbaa !47
  %877 = load ptr, ptr %5, align 8, !tbaa !5
  %878 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %877, i32 0, i32 21
  %879 = load i32, ptr %878, align 4, !tbaa !47
  %880 = sext i32 %879 to i64
  store i64 %880, ptr %4, align 8
  br label %996

881:                                              ; preds = %13
  br label %882

882:                                              ; preds = %881
  br label %883

883:                                              ; preds = %882
  %884 = load i32, ptr %7, align 4, !tbaa !9
  %885 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1013, i32 noundef %884)
  %886 = icmp ne i32 %885, 0
  br i1 %886, label %896, label %887

887:                                              ; preds = %883
  br label %888

888:                                              ; preds = %887
  br label %889

889:                                              ; preds = %888
  br label %890

890:                                              ; preds = %889
  br label %891

891:                                              ; preds = %890
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892
  br label %894

894:                                              ; preds = %893
  br label %895

895:                                              ; preds = %894
  store i64 -42, ptr %4, align 8
  br label %996

896:                                              ; preds = %883
  br label %897

897:                                              ; preds = %896
  br label %898

898:                                              ; preds = %897
  %899 = load i32, ptr %7, align 4, !tbaa !9
  %900 = load ptr, ptr %5, align 8, !tbaa !5
  %901 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %900, i32 0, i32 23
  store i32 %899, ptr %901, align 8, !tbaa !48
  %902 = load ptr, ptr %5, align 8, !tbaa !5
  %903 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %902, i32 0, i32 23
  %904 = load i32, ptr %903, align 8, !tbaa !48
  %905 = zext i32 %904 to i64
  store i64 %905, ptr %4, align 8
  br label %996

906:                                              ; preds = %13
  br label %907

907:                                              ; preds = %906
  br label %908

908:                                              ; preds = %907
  %909 = load i32, ptr %7, align 4, !tbaa !9
  %910 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1014, i32 noundef %909)
  %911 = icmp ne i32 %910, 0
  br i1 %911, label %921, label %912

912:                                              ; preds = %908
  br label %913

913:                                              ; preds = %912
  br label %914

914:                                              ; preds = %913
  br label %915

915:                                              ; preds = %914
  br label %916

916:                                              ; preds = %915
  br label %917

917:                                              ; preds = %916
  br label %918

918:                                              ; preds = %917
  br label %919

919:                                              ; preds = %918
  br label %920

920:                                              ; preds = %919
  store i64 -42, ptr %4, align 8
  br label %996

921:                                              ; preds = %908
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  %924 = load i32, ptr %7, align 4, !tbaa !9
  %925 = load ptr, ptr %5, align 8, !tbaa !5
  %926 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %925, i32 0, i32 24
  store i32 %924, ptr %926, align 4, !tbaa !49
  %927 = load ptr, ptr %5, align 8, !tbaa !5
  %928 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %927, i32 0, i32 24
  %929 = load i32, ptr %928, align 4, !tbaa !49
  %930 = sext i32 %929 to i64
  store i64 %930, ptr %4, align 8
  br label %996

931:                                              ; preds = %13
  %932 = load i32, ptr %7, align 4, !tbaa !9
  %933 = icmp ne i32 %932, 0
  br i1 %933, label %934, label %952

934:                                              ; preds = %931
  br label %935

935:                                              ; preds = %934
  br label %936

936:                                              ; preds = %935
  %937 = load i32, ptr %7, align 4, !tbaa !9
  %938 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1015, i32 noundef %937)
  %939 = icmp ne i32 %938, 0
  br i1 %939, label %949, label %940

940:                                              ; preds = %936
  br label %941

941:                                              ; preds = %940
  br label %942

942:                                              ; preds = %941
  br label %943

943:                                              ; preds = %942
  br label %944

944:                                              ; preds = %943
  br label %945

945:                                              ; preds = %944
  br label %946

946:                                              ; preds = %945
  br label %947

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947
  store i64 -42, ptr %4, align 8
  br label %996

949:                                              ; preds = %936
  br label %950

950:                                              ; preds = %949
  br label %951

951:                                              ; preds = %950
  br label %952

952:                                              ; preds = %951, %931
  %953 = load i32, ptr %7, align 4, !tbaa !9
  %954 = sext i32 %953 to i64
  %955 = load ptr, ptr %5, align 8, !tbaa !5
  %956 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %955, i32 0, i32 27
  store i64 %954, ptr %956, align 8, !tbaa !50
  %957 = load ptr, ptr %5, align 8, !tbaa !5
  %958 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %957, i32 0, i32 27
  %959 = load i64, ptr %958, align 8, !tbaa !50
  store i64 %959, ptr %4, align 8
  br label %996

960:                                              ; preds = %13
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  %963 = load i32, ptr %7, align 4, !tbaa !9
  %964 = call i32 @ZSTD_cParam_withinBounds(i32 noundef 1016, i32 noundef %963)
  %965 = icmp ne i32 %964, 0
  br i1 %965, label %975, label %966

966:                                              ; preds = %962
  br label %967

967:                                              ; preds = %966
  br label %968

968:                                              ; preds = %967
  br label %969

969:                                              ; preds = %968
  br label %970

970:                                              ; preds = %969
  br label %971

971:                                              ; preds = %970
  br label %972

972:                                              ; preds = %971
  br label %973

973:                                              ; preds = %972
  br label %974

974:                                              ; preds = %973
  store i64 -42, ptr %4, align 8
  br label %996

975:                                              ; preds = %962
  br label %976

976:                                              ; preds = %975
  br label %977

977:                                              ; preds = %976
  %978 = load i32, ptr %7, align 4, !tbaa !9
  %979 = load ptr, ptr %5, align 8, !tbaa !5
  %980 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %979, i32 0, i32 28
  store i32 %978, ptr %980, align 8, !tbaa !51
  %981 = load ptr, ptr %5, align 8, !tbaa !5
  %982 = getelementptr inbounds %struct.ZSTD_CCtx_params_s, ptr %981, i32 0, i32 28
  %983 = load i32, ptr %982, align 8, !tbaa !51
  %984 = zext i32 %983 to i64
  store i64 %984, ptr %4, align 8
  br label %996

985:                                              ; preds = %13
  br label %986

986:                                              ; preds = %985
  br label %987

987:                                              ; preds = %986
  br label %988

988:                                              ; preds = %987
  br label %989

989:                                              ; preds = %988
  br label %990

990:                                              ; preds = %989
  br label %991

991:                                              ; preds = %990
  br label %992

992:                                              ; preds = %991
  br label %993

993:                                              ; preds = %992
  br label %994

994:                                              ; preds = %993
  store i64 -40, ptr %4, align 8
  br label %996

995:                                              ; No predecessors!
  br label %996

996:                                              ; preds = %995, %994, %977, %974, %952, %948, %923, %920, %898, %895, %869, %866, %844, %841, %819, %816, %794, %791, %769, %766, %744, %741, %719, %716, %694, %690, %665, %661, %627, %623, %596, %592, %565, %561, %534, %530, %503, %500, %476, %475, %473, %460, %458, %445, %443, %430, %428, %415, %382, %340, %324, %310, %298, %286, %282, %255, %252, %228, %224, %200, %196, %169, %165, %138, %134, %107, %103, %85, %80, %62, %32, %29
  %997 = load i64, ptr %4, align 8
  ret i64 %997

998:                                              ; preds = %62
  unreachable
}

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @ZSTD_cParam_withinBounds(i32 noundef, i32 noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i64 @ZSTD_cParam_clampBounds(i32 noundef, ptr noundef) #1

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
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 = { inlinehint 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 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 0}
!12 = !{!"ZSTD_CCtx_params_s", !10, i64 0, !13, i64 4, !14, i64 32, !10, i64 44, !10, i64 48, !15, i64 56, !10, i64 64, !10, i64 68, !10, i64 72, !10, i64 76, !15, i64 80, !10, i64 88, !10, i64 92, !16, i64 96, !10, i64 120, !10, i64 124, !10, i64 128, !10, i64 132, !10, i64 136, !10, i64 140, !10, i64 144, !10, i64 148, !17, i64 152, !10, i64 176, !10, i64 180, !6, i64 184, !6, i64 192, !15, i64 200, !10, i64 208}
!13 = !{!"", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24}
!14 = !{!"", !10, i64 0, !10, i64 4, !10, i64 8}
!15 = !{!"long", !7, i64 0}
!16 = !{!"", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20}
!17 = !{!"", !6, i64 0, !6, i64 8, !6, i64 16}
!18 = !{!15, !15, i64 0}
!19 = !{!12, !10, i64 44}
!20 = !{!12, !10, i64 4}
!21 = !{!12, !10, i64 12}
!22 = !{!12, !10, i64 8}
!23 = !{!12, !10, i64 16}
!24 = !{!12, !10, i64 20}
!25 = !{!12, !10, i64 24}
!26 = !{!12, !10, i64 28}
!27 = !{!12, !10, i64 32}
!28 = !{!12, !10, i64 36}
!29 = !{!12, !10, i64 40}
!30 = !{!12, !10, i64 48}
!31 = !{!12, !10, i64 68}
!32 = !{!12, !10, i64 72}
!33 = !{!12, !10, i64 120}
!34 = !{!12, !10, i64 96}
!35 = !{!12, !10, i64 100}
!36 = !{!12, !10, i64 108}
!37 = !{!12, !10, i64 104}
!38 = !{!12, !10, i64 112}
!39 = !{!12, !15, i64 56}
!40 = !{!12, !10, i64 64}
!41 = !{!12, !10, i64 124}
!42 = !{!12, !10, i64 128}
!43 = !{!12, !10, i64 132}
!44 = !{!12, !10, i64 136}
!45 = !{!12, !10, i64 140}
!46 = !{!12, !10, i64 144}
!47 = !{!12, !10, i64 148}
!48 = !{!12, !10, i64 176}
!49 = !{!12, !10, i64 180}
!50 = !{!12, !15, i64 200}
!51 = !{!12, !10, i64 208}


; 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"

; Function Attrs: nounwind uwtable
declare hidden i32 @ERR_isError(i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local i64 @ZSTD_CCtxParams_setParameter(ptr nocapture noundef writeonly %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #0 {
  %4 = alloca i32, align 4
  store i32 %2, ptr %4, align 4, !tbaa !5
  switch i32 %1, label %198 [
    i32 10, label %5
    i32 100, label %9
    i32 101, label %16
    i32 102, label %22
    i32 103, label %28
    i32 104, label %34
    i32 105, label %40
    i32 106, label %46
    i32 107, label %51
    i32 200, label %57
    i32 201, label %62
    i32 202, label %67
    i32 1000, label %73
    i32 1001, label %78
    i32 1002, label %83
    i32 400, label %88
    i32 401, label %89
    i32 402, label %90
    i32 500, label %91
    i32 1005, label %92
    i32 160, label %97
    i32 161, label %102
    i32 162, label %108
    i32 163, label %114
    i32 164, label %120
    i32 130, label %126
    i32 1004, label %134
    i32 1006, label %140
    i32 1007, label %145
    i32 1008, label %150
    i32 1009, label %155
    i32 1010, label %160
    i32 1011, label %165
    i32 1012, label %170
    i32 1013, label %177
    i32 1014, label %182
    i32 1015, label %187
    i32 1016, label %193
  ]

5:                                                ; preds = %3
  %6 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 10, i32 noundef %2)
  %.not129 = icmp eq i32 %6, 0
  br i1 %.not129, label %198, label %7

7:                                                ; preds = %5
  store i32 %2, ptr %0, align 8, !tbaa !9
  %8 = zext i32 %2 to i64
  br label %198

9:                                                ; preds = %3
  %10 = call i64 @ZSTD_cParam_clampBounds(i32 noundef 100, ptr noundef nonnull %4)
  %11 = call i32 @ERR_isError(i64 noundef %10)
  %.not128.not = icmp eq i32 %11, 0
  br i1 %.not128.not, label %12, label %198

12:                                               ; preds = %9
  %13 = load i32, ptr %4, align 4, !tbaa !5
  %14 = icmp eq i32 %13, 0
  %spec.select133 = select i1 %14, i32 3, i32 %13
  %15 = getelementptr inbounds i8, ptr %0, i64 44
  store i32 %spec.select133, ptr %15, align 4
  %narrow = call i32 @llvm.smax.i32(i32 %spec.select133, i32 0)
  %spec.select = zext nneg i32 %narrow to i64
  br label %198

16:                                               ; preds = %3
  %.not126 = icmp eq i32 %2, 0
  br i1 %.not126, label %19, label %17

17:                                               ; preds = %16
  %18 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 101, i32 noundef %2)
  %.not127 = icmp eq i32 %18, 0
  br i1 %.not127, label %198, label %19

19:                                               ; preds = %17, %16
  %20 = getelementptr inbounds i8, ptr %0, i64 4
  store i32 %2, ptr %20, align 4, !tbaa !17
  %21 = zext i32 %2 to i64
  br label %198

22:                                               ; preds = %3
  %.not124 = icmp eq i32 %2, 0
  br i1 %.not124, label %25, label %23

23:                                               ; preds = %22
  %24 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 102, i32 noundef %2)
  %.not125 = icmp eq i32 %24, 0
  br i1 %.not125, label %198, label %25

25:                                               ; preds = %23, %22
  %26 = getelementptr inbounds i8, ptr %0, i64 12
  store i32 %2, ptr %26, align 4, !tbaa !18
  %27 = zext i32 %2 to i64
  br label %198

28:                                               ; preds = %3
  %.not122 = icmp eq i32 %2, 0
  br i1 %.not122, label %31, label %29

29:                                               ; preds = %28
  %30 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 103, i32 noundef %2)
  %.not123 = icmp eq i32 %30, 0
  br i1 %.not123, label %198, label %31

31:                                               ; preds = %29, %28
  %32 = getelementptr inbounds i8, ptr %0, i64 8
  store i32 %2, ptr %32, align 4, !tbaa !19
  %33 = zext i32 %2 to i64
  br label %198

34:                                               ; preds = %3
  %.not120 = icmp eq i32 %2, 0
  br i1 %.not120, label %37, label %35

35:                                               ; preds = %34
  %36 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 104, i32 noundef %2)
  %.not121 = icmp eq i32 %36, 0
  br i1 %.not121, label %198, label %37

37:                                               ; preds = %35, %34
  %38 = getelementptr inbounds i8, ptr %0, i64 16
  store i32 %2, ptr %38, align 4, !tbaa !20
  %39 = sext i32 %2 to i64
  br label %198

40:                                               ; preds = %3
  %.not118 = icmp eq i32 %2, 0
  br i1 %.not118, label %43, label %41

41:                                               ; preds = %40
  %42 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 105, i32 noundef %2)
  %.not119 = icmp eq i32 %42, 0
  br i1 %.not119, label %198, label %43

43:                                               ; preds = %41, %40
  %44 = getelementptr inbounds i8, ptr %0, i64 20
  store i32 %2, ptr %44, align 4, !tbaa !21
  %45 = zext i32 %2 to i64
  br label %198

46:                                               ; preds = %3
  %47 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 106, i32 noundef %2)
  %.not117 = icmp eq i32 %47, 0
  br i1 %.not117, label %198, label %48

48:                                               ; preds = %46
  %49 = getelementptr inbounds i8, ptr %0, i64 24
  store i32 %2, ptr %49, align 4, !tbaa !22
  %50 = zext i32 %2 to i64
  br label %198

51:                                               ; preds = %3
  %.not115 = icmp eq i32 %2, 0
  br i1 %.not115, label %54, label %52

52:                                               ; preds = %51
  %53 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 107, i32 noundef %2)
  %.not116 = icmp eq i32 %53, 0
  br i1 %.not116, label %198, label %54

54:                                               ; preds = %52, %51
  %55 = getelementptr inbounds i8, ptr %0, i64 28
  store i32 %2, ptr %55, align 4, !tbaa !23
  %56 = zext i32 %2 to i64
  br label %198

57:                                               ; preds = %3
  %58 = icmp ne i32 %2, 0
  %59 = zext i1 %58 to i32
  %60 = getelementptr inbounds i8, ptr %0, i64 32
  store i32 %59, ptr %60, align 8, !tbaa !24
  %61 = zext i1 %58 to i64
  br label %198

62:                                               ; preds = %3
  %63 = icmp ne i32 %2, 0
  %64 = zext i1 %63 to i32
  %65 = getelementptr inbounds i8, ptr %0, i64 36
  store i32 %64, ptr %65, align 4, !tbaa !25
  %66 = zext i1 %63 to i64
  br label %198

67:                                               ; preds = %3
  %68 = icmp ne i32 %2, 0
  %69 = xor i1 %68, true
  %70 = zext i1 %69 to i32
  %71 = getelementptr inbounds i8, ptr %0, i64 40
  store i32 %70, ptr %71, align 8, !tbaa !26
  %72 = zext i1 %68 to i64
  br label %198

73:                                               ; preds = %3
  %74 = icmp ne i32 %2, 0
  %75 = zext i1 %74 to i32
  %76 = getelementptr inbounds i8, ptr %0, i64 48
  store i32 %75, ptr %76, align 8, !tbaa !27
  %77 = zext i1 %74 to i64
  br label %198

78:                                               ; preds = %3
  %79 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1001, i32 noundef %2)
  %.not114 = icmp eq i32 %79, 0
  br i1 %.not114, label %198, label %80

80:                                               ; preds = %78
  %81 = getelementptr inbounds i8, ptr %0, i64 68
  store i32 %2, ptr %81, align 4, !tbaa !28
  %82 = zext i32 %2 to i64
  br label %198

83:                                               ; preds = %3
  %84 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1002, i32 noundef %2)
  %.not113 = icmp eq i32 %84, 0
  br i1 %.not113, label %198, label %85

85:                                               ; preds = %83
  %86 = getelementptr inbounds i8, ptr %0, i64 72
  store i32 %2, ptr %86, align 8, !tbaa !29
  %87 = zext i32 %2 to i64
  br label %198

88:                                               ; preds = %3
  %.not112 = icmp eq i32 %2, 0
  %. = select i1 %.not112, i64 0, i64 -40
  br label %198

89:                                               ; preds = %3
  %.not111 = icmp eq i32 %2, 0
  %.130 = select i1 %.not111, i64 0, i64 -40
  br label %198

90:                                               ; preds = %3
  %.not110 = icmp eq i32 %2, 0
  %.131 = select i1 %.not110, i64 0, i64 -40
  br label %198

91:                                               ; preds = %3
  %.not109 = icmp eq i32 %2, 0
  %.132 = select i1 %.not109, i64 0, i64 -40
  br label %198

92:                                               ; preds = %3
  %93 = icmp ne i32 %2, 0
  %94 = zext i1 %93 to i32
  %95 = getelementptr inbounds i8, ptr %0, i64 120
  store i32 %94, ptr %95, align 8, !tbaa !30
  %96 = zext i1 %93 to i64
  br label %198

97:                                               ; preds = %3
  %98 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 160, i32 noundef %2)
  %.not108 = icmp eq i32 %98, 0
  br i1 %.not108, label %198, label %99

99:                                               ; preds = %97
  %100 = getelementptr inbounds i8, ptr %0, i64 96
  store i32 %2, ptr %100, align 8, !tbaa !31
  %101 = zext i32 %2 to i64
  br label %198

102:                                              ; preds = %3
  %.not106 = icmp eq i32 %2, 0
  br i1 %.not106, label %105, label %103

103:                                              ; preds = %102
  %104 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 161, i32 noundef %2)
  %.not107 = icmp eq i32 %104, 0
  br i1 %.not107, label %198, label %105

105:                                              ; preds = %103, %102
  %106 = getelementptr inbounds i8, ptr %0, i64 100
  store i32 %2, ptr %106, align 4, !tbaa !32
  %107 = zext i32 %2 to i64
  br label %198

108:                                              ; preds = %3
  %.not104 = icmp eq i32 %2, 0
  br i1 %.not104, label %111, label %109

109:                                              ; preds = %108
  %110 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 162, i32 noundef %2)
  %.not105 = icmp eq i32 %110, 0
  br i1 %.not105, label %198, label %111

111:                                              ; preds = %109, %108
  %112 = getelementptr inbounds i8, ptr %0, i64 108
  store i32 %2, ptr %112, align 4, !tbaa !33
  %113 = zext i32 %2 to i64
  br label %198

114:                                              ; preds = %3
  %.not102 = icmp eq i32 %2, 0
  br i1 %.not102, label %117, label %115

115:                                              ; preds = %114
  %116 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 163, i32 noundef %2)
  %.not103 = icmp eq i32 %116, 0
  br i1 %.not103, label %198, label %117

117:                                              ; preds = %115, %114
  %118 = getelementptr inbounds i8, ptr %0, i64 104
  store i32 %2, ptr %118, align 8, !tbaa !34
  %119 = zext i32 %2 to i64
  br label %198

120:                                              ; preds = %3
  %.not100 = icmp eq i32 %2, 0
  br i1 %.not100, label %123, label %121

121:                                              ; preds = %120
  %122 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 164, i32 noundef %2)
  %.not101 = icmp eq i32 %122, 0
  br i1 %.not101, label %198, label %123

123:                                              ; preds = %121, %120
  %124 = getelementptr inbounds i8, ptr %0, i64 112
  store i32 %2, ptr %124, align 8, !tbaa !35
  %125 = zext i32 %2 to i64
  br label %198

126:                                              ; preds = %3
  %.not98 = icmp eq i32 %2, 0
  br i1 %.not98, label %130, label %127

127:                                              ; preds = %126
  %128 = tail call i32 @llvm.smax.i32(i32 %2, i32 1340)
  %129 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 130, i32 noundef %128)
  %.not99 = icmp eq i32 %129, 0
  br i1 %.not99, label %198, label %130

130:                                              ; preds = %127, %126
  %131 = phi i32 [ %128, %127 ], [ 0, %126 ]
  %132 = zext nneg i32 %131 to i64
  %133 = getelementptr inbounds i8, ptr %0, i64 56
  store i64 %132, ptr %133, align 8, !tbaa !36
  br label %198

134:                                              ; preds = %3
  %.not96 = icmp eq i32 %2, 0
  br i1 %.not96, label %137, label %135

135:                                              ; preds = %134
  %136 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1004, i32 noundef %2)
  %.not97 = icmp eq i32 %136, 0
  br i1 %.not97, label %198, label %137

137:                                              ; preds = %135, %134
  %138 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %2, ptr %138, align 8, !tbaa !37
  %139 = sext i32 %2 to i64
  br label %198

140:                                              ; preds = %3
  %141 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1006, i32 noundef %2)
  %.not95 = icmp eq i32 %141, 0
  br i1 %.not95, label %198, label %142

142:                                              ; preds = %140
  %143 = getelementptr inbounds i8, ptr %0, i64 124
  store i32 %2, ptr %143, align 4, !tbaa !38
  %144 = zext i32 %2 to i64
  br label %198

145:                                              ; preds = %3
  %146 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1007, i32 noundef %2)
  %.not94 = icmp eq i32 %146, 0
  br i1 %.not94, label %198, label %147

147:                                              ; preds = %145
  %148 = getelementptr inbounds i8, ptr %0, i64 128
  store i32 %2, ptr %148, align 8, !tbaa !39
  %149 = zext i32 %2 to i64
  br label %198

150:                                              ; preds = %3
  %151 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1008, i32 noundef %2)
  %.not93 = icmp eq i32 %151, 0
  br i1 %.not93, label %198, label %152

152:                                              ; preds = %150
  %153 = getelementptr inbounds i8, ptr %0, i64 132
  store i32 %2, ptr %153, align 4, !tbaa !40
  %154 = zext i32 %2 to i64
  br label %198

155:                                              ; preds = %3
  %156 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1009, i32 noundef %2)
  %.not92 = icmp eq i32 %156, 0
  br i1 %.not92, label %198, label %157

157:                                              ; preds = %155
  %158 = getelementptr inbounds i8, ptr %0, i64 136
  store i32 %2, ptr %158, align 8, !tbaa !41
  %159 = sext i32 %2 to i64
  br label %198

160:                                              ; preds = %3
  %161 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1010, i32 noundef %2)
  %.not91 = icmp eq i32 %161, 0
  br i1 %.not91, label %198, label %162

162:                                              ; preds = %160
  %163 = getelementptr inbounds i8, ptr %0, i64 140
  store i32 %2, ptr %163, align 4, !tbaa !42
  %164 = zext i32 %2 to i64
  br label %198

165:                                              ; preds = %3
  %166 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1011, i32 noundef %2)
  %.not90 = icmp eq i32 %166, 0
  br i1 %.not90, label %198, label %167

167:                                              ; preds = %165
  %168 = getelementptr inbounds i8, ptr %0, i64 144
  store i32 %2, ptr %168, align 8, !tbaa !43
  %169 = zext i32 %2 to i64
  br label %198

170:                                              ; preds = %3
  %171 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1012, i32 noundef %2)
  %.not89 = icmp eq i32 %171, 0
  br i1 %.not89, label %198, label %172

172:                                              ; preds = %170
  %173 = icmp ne i32 %2, 0
  %174 = zext i1 %173 to i32
  %175 = getelementptr inbounds i8, ptr %0, i64 148
  store i32 %174, ptr %175, align 4, !tbaa !44
  %176 = zext i1 %173 to i64
  br label %198

177:                                              ; preds = %3
  %178 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1013, i32 noundef %2)
  %.not88 = icmp eq i32 %178, 0
  br i1 %.not88, label %198, label %179

179:                                              ; preds = %177
  %180 = getelementptr inbounds i8, ptr %0, i64 176
  store i32 %2, ptr %180, align 8, !tbaa !45
  %181 = zext i32 %2 to i64
  br label %198

182:                                              ; preds = %3
  %183 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1014, i32 noundef %2)
  %.not87 = icmp eq i32 %183, 0
  br i1 %.not87, label %198, label %184

184:                                              ; preds = %182
  %185 = getelementptr inbounds i8, ptr %0, i64 180
  store i32 %2, ptr %185, align 4, !tbaa !46
  %186 = sext i32 %2 to i64
  br label %198

187:                                              ; preds = %3
  %.not85 = icmp eq i32 %2, 0
  br i1 %.not85, label %190, label %188

188:                                              ; preds = %187
  %189 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1015, i32 noundef %2)
  %.not86 = icmp eq i32 %189, 0
  br i1 %.not86, label %198, label %190

190:                                              ; preds = %188, %187
  %191 = sext i32 %2 to i64
  %192 = getelementptr inbounds i8, ptr %0, i64 200
  store i64 %191, ptr %192, align 8, !tbaa !47
  br label %198

193:                                              ; preds = %3
  %194 = tail call i32 @ZSTD_cParam_withinBounds(i32 noundef 1016, i32 noundef %2)
  %.not = icmp eq i32 %194, 0
  br i1 %.not, label %198, label %195

195:                                              ; preds = %193
  %196 = getelementptr inbounds i8, ptr %0, i64 208
  store i32 %2, ptr %196, align 8, !tbaa !48
  %197 = zext i32 %2 to i64
  br label %198

198:                                              ; preds = %12, %9, %3, %193, %188, %182, %177, %170, %165, %160, %155, %150, %145, %140, %135, %127, %121, %115, %109, %103, %97, %91, %90, %89, %88, %85, %83, %80, %78, %52, %46, %41, %35, %29, %23, %17, %5, %195, %190, %184, %179, %172, %167, %162, %157, %152, %147, %142, %137, %130, %123, %117, %111, %105, %99, %92, %73, %67, %62, %57, %54, %48, %43, %37, %31, %25, %19, %7
  %.3 = phi i64 [ %197, %195 ], [ %191, %190 ], [ %186, %184 ], [ %181, %179 ], [ %176, %172 ], [ %169, %167 ], [ %164, %162 ], [ %159, %157 ], [ %154, %152 ], [ %149, %147 ], [ %144, %142 ], [ %139, %137 ], [ %132, %130 ], [ %125, %123 ], [ %119, %117 ], [ %113, %111 ], [ %107, %105 ], [ %101, %99 ], [ %96, %92 ], [ %77, %73 ], [ %72, %67 ], [ %66, %62 ], [ %61, %57 ], [ %56, %54 ], [ %50, %48 ], [ %45, %43 ], [ %39, %37 ], [ %33, %31 ], [ %27, %25 ], [ %21, %19 ], [ %10, %9 ], [ %8, %7 ], [ -42, %5 ], [ -42, %17 ], [ -42, %23 ], [ -42, %29 ], [ -42, %35 ], [ -42, %41 ], [ -42, %46 ], [ -42, %52 ], [ %82, %80 ], [ -42, %78 ], [ %87, %85 ], [ -42, %83 ], [ %., %88 ], [ %.130, %89 ], [ %.131, %90 ], [ %.132, %91 ], [ -42, %97 ], [ -42, %103 ], [ -42, %109 ], [ -42, %115 ], [ -42, %121 ], [ -42, %127 ], [ -42, %135 ], [ -42, %140 ], [ -42, %145 ], [ -42, %150 ], [ -42, %155 ], [ -42, %160 ], [ -42, %165 ], [ -42, %170 ], [ -42, %177 ], [ -42, %182 ], [ -42, %188 ], [ -42, %193 ], [ -40, %3 ], [ %spec.select, %12 ]
  ret i64 %.3
}

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @ZSTD_cParam_withinBounds(i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden i64 @ZSTD_cParam_clampBounds(i32 noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #2

attributes #0 = { 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 #1 = { inlinehint 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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"ZSTD_CCtx_params_s", !6, i64 0, !11, i64 4, !12, i64 32, !6, i64 44, !6, i64 48, !13, i64 56, !6, i64 64, !6, i64 68, !6, i64 72, !6, i64 76, !13, i64 80, !6, i64 88, !6, i64 92, !14, i64 96, !6, i64 120, !6, i64 124, !6, i64 128, !6, i64 132, !6, i64 136, !6, i64 140, !6, i64 144, !6, i64 148, !15, i64 152, !6, i64 176, !6, i64 180, !16, i64 184, !16, i64 192, !13, i64 200, !6, i64 208}
!11 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24}
!12 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8}
!13 = !{!"long", !7, i64 0}
!14 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!15 = !{!"", !16, i64 0, !16, i64 8, !16, i64 16}
!16 = !{!"any pointer", !7, i64 0}
!17 = !{!10, !6, i64 4}
!18 = !{!10, !6, i64 12}
!19 = !{!10, !6, i64 8}
!20 = !{!10, !6, i64 16}
!21 = !{!10, !6, i64 20}
!22 = !{!10, !6, i64 24}
!23 = !{!10, !6, i64 28}
!24 = !{!10, !6, i64 32}
!25 = !{!10, !6, i64 36}
!26 = !{!10, !6, i64 40}
!27 = !{!10, !6, i64 48}
!28 = !{!10, !6, i64 68}
!29 = !{!10, !6, i64 72}
!30 = !{!10, !6, i64 120}
!31 = !{!10, !6, i64 96}
!32 = !{!10, !6, i64 100}
!33 = !{!10, !6, i64 108}
!34 = !{!10, !6, i64 104}
!35 = !{!10, !6, i64 112}
!36 = !{!10, !13, i64 56}
!37 = !{!10, !6, i64 64}
!38 = !{!10, !6, i64 124}
!39 = !{!10, !6, i64 128}
!40 = !{!10, !6, i64 132}
!41 = !{!10, !6, i64 136}
!42 = !{!10, !6, i64 140}
!43 = !{!10, !6, i64 144}
!44 = !{!10, !6, i64 148}
!45 = !{!10, !6, i64 176}
!46 = !{!10, !6, i64 180}
!47 = !{!10, !13, i64 200}
!48 = !{!10, !6, i64 208}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass