; LLVM IR from p4lang/p4c :: backends/ebpf/runtime (ebpf_map)

; 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.bpf_map = type { ptr, ptr, %struct.UT_hash_handle }
%struct.UT_hash_handle = type { ptr, ptr, ptr, ptr, ptr, ptr, i32, i32 }
%struct.UT_hash_table = type { ptr, i32, i32, i32, ptr, i64, i32, i32, i32, i32, i32 }
%struct.UT_hash_bucket = type { ptr, i32, i32 }

; 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 willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #1

; Function Attrs: nounwind uwtable
define dso_local i32 @bpf_map_update_elem(ptr noundef %0, ptr noundef %1, i32 noundef %2, ptr noundef %3, i32 noundef %4, i64 noundef %5) #2 {
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i64, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  store ptr %0, ptr %8, align 8, !tbaa !5
  store ptr %1, ptr %9, align 8, !tbaa !5
  store i32 %2, ptr %10, align 4, !tbaa !9
  store ptr %3, ptr %11, align 8, !tbaa !5
  store i32 %4, ptr %12, align 4, !tbaa !9
  store i64 %5, ptr %13, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  br label %36

36:                                               ; preds = %6
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #8
  br label %37

37:                                               ; preds = %36
  br label %38

38:                                               ; preds = %37
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  %39 = load ptr, ptr %9, align 8, !tbaa !5
  store ptr %39, ptr %19, align 8, !tbaa !5
  store i32 -17973521, ptr %15, align 4, !tbaa !9
  store i32 -1640531527, ptr %17, align 4, !tbaa !9
  store i32 -1640531527, ptr %16, align 4, !tbaa !9
  %40 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %40, ptr %18, align 4, !tbaa !9
  br label %41

41:                                               ; preds = %209, %38
  %42 = load i32, ptr %18, align 4, !tbaa !9
  %43 = icmp uge i32 %42, 12
  br i1 %43, label %44, label %214

44:                                               ; preds = %41
  %45 = load ptr, ptr %19, align 8, !tbaa !5
  %46 = getelementptr inbounds i8, ptr %45, i64 0
  %47 = load i8, ptr %46, align 1, !tbaa !13
  %48 = zext i8 %47 to i32
  %49 = load ptr, ptr %19, align 8, !tbaa !5
  %50 = getelementptr inbounds i8, ptr %49, i64 1
  %51 = load i8, ptr %50, align 1, !tbaa !13
  %52 = zext i8 %51 to i32
  %53 = shl i32 %52, 8
  %54 = add i32 %48, %53
  %55 = load ptr, ptr %19, align 8, !tbaa !5
  %56 = getelementptr inbounds i8, ptr %55, i64 2
  %57 = load i8, ptr %56, align 1, !tbaa !13
  %58 = zext i8 %57 to i32
  %59 = shl i32 %58, 16
  %60 = add i32 %54, %59
  %61 = load ptr, ptr %19, align 8, !tbaa !5
  %62 = getelementptr inbounds i8, ptr %61, i64 3
  %63 = load i8, ptr %62, align 1, !tbaa !13
  %64 = zext i8 %63 to i32
  %65 = shl i32 %64, 24
  %66 = add i32 %60, %65
  %67 = load i32, ptr %16, align 4, !tbaa !9
  %68 = add i32 %67, %66
  store i32 %68, ptr %16, align 4, !tbaa !9
  %69 = load ptr, ptr %19, align 8, !tbaa !5
  %70 = getelementptr inbounds i8, ptr %69, i64 4
  %71 = load i8, ptr %70, align 1, !tbaa !13
  %72 = zext i8 %71 to i32
  %73 = load ptr, ptr %19, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %73, i64 5
  %75 = load i8, ptr %74, align 1, !tbaa !13
  %76 = zext i8 %75 to i32
  %77 = shl i32 %76, 8
  %78 = add i32 %72, %77
  %79 = load ptr, ptr %19, align 8, !tbaa !5
  %80 = getelementptr inbounds i8, ptr %79, i64 6
  %81 = load i8, ptr %80, align 1, !tbaa !13
  %82 = zext i8 %81 to i32
  %83 = shl i32 %82, 16
  %84 = add i32 %78, %83
  %85 = load ptr, ptr %19, align 8, !tbaa !5
  %86 = getelementptr inbounds i8, ptr %85, i64 7
  %87 = load i8, ptr %86, align 1, !tbaa !13
  %88 = zext i8 %87 to i32
  %89 = shl i32 %88, 24
  %90 = add i32 %84, %89
  %91 = load i32, ptr %17, align 4, !tbaa !9
  %92 = add i32 %91, %90
  store i32 %92, ptr %17, align 4, !tbaa !9
  %93 = load ptr, ptr %19, align 8, !tbaa !5
  %94 = getelementptr inbounds i8, ptr %93, i64 8
  %95 = load i8, ptr %94, align 1, !tbaa !13
  %96 = zext i8 %95 to i32
  %97 = load ptr, ptr %19, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %97, i64 9
  %99 = load i8, ptr %98, align 1, !tbaa !13
  %100 = zext i8 %99 to i32
  %101 = shl i32 %100, 8
  %102 = add i32 %96, %101
  %103 = load ptr, ptr %19, align 8, !tbaa !5
  %104 = getelementptr inbounds i8, ptr %103, i64 10
  %105 = load i8, ptr %104, align 1, !tbaa !13
  %106 = zext i8 %105 to i32
  %107 = shl i32 %106, 16
  %108 = add i32 %102, %107
  %109 = load ptr, ptr %19, align 8, !tbaa !5
  %110 = getelementptr inbounds i8, ptr %109, i64 11
  %111 = load i8, ptr %110, align 1, !tbaa !13
  %112 = zext i8 %111 to i32
  %113 = shl i32 %112, 24
  %114 = add i32 %108, %113
  %115 = load i32, ptr %15, align 4, !tbaa !9
  %116 = add i32 %115, %114
  store i32 %116, ptr %15, align 4, !tbaa !9
  br label %117

117:                                              ; preds = %44
  %118 = load i32, ptr %17, align 4, !tbaa !9
  %119 = load i32, ptr %16, align 4, !tbaa !9
  %120 = sub i32 %119, %118
  store i32 %120, ptr %16, align 4, !tbaa !9
  %121 = load i32, ptr %15, align 4, !tbaa !9
  %122 = load i32, ptr %16, align 4, !tbaa !9
  %123 = sub i32 %122, %121
  store i32 %123, ptr %16, align 4, !tbaa !9
  %124 = load i32, ptr %15, align 4, !tbaa !9
  %125 = lshr i32 %124, 13
  %126 = load i32, ptr %16, align 4, !tbaa !9
  %127 = xor i32 %126, %125
  store i32 %127, ptr %16, align 4, !tbaa !9
  %128 = load i32, ptr %15, align 4, !tbaa !9
  %129 = load i32, ptr %17, align 4, !tbaa !9
  %130 = sub i32 %129, %128
  store i32 %130, ptr %17, align 4, !tbaa !9
  %131 = load i32, ptr %16, align 4, !tbaa !9
  %132 = load i32, ptr %17, align 4, !tbaa !9
  %133 = sub i32 %132, %131
  store i32 %133, ptr %17, align 4, !tbaa !9
  %134 = load i32, ptr %16, align 4, !tbaa !9
  %135 = shl i32 %134, 8
  %136 = load i32, ptr %17, align 4, !tbaa !9
  %137 = xor i32 %136, %135
  store i32 %137, ptr %17, align 4, !tbaa !9
  %138 = load i32, ptr %16, align 4, !tbaa !9
  %139 = load i32, ptr %15, align 4, !tbaa !9
  %140 = sub i32 %139, %138
  store i32 %140, ptr %15, align 4, !tbaa !9
  %141 = load i32, ptr %17, align 4, !tbaa !9
  %142 = load i32, ptr %15, align 4, !tbaa !9
  %143 = sub i32 %142, %141
  store i32 %143, ptr %15, align 4, !tbaa !9
  %144 = load i32, ptr %17, align 4, !tbaa !9
  %145 = lshr i32 %144, 13
  %146 = load i32, ptr %15, align 4, !tbaa !9
  %147 = xor i32 %146, %145
  store i32 %147, ptr %15, align 4, !tbaa !9
  %148 = load i32, ptr %17, align 4, !tbaa !9
  %149 = load i32, ptr %16, align 4, !tbaa !9
  %150 = sub i32 %149, %148
  store i32 %150, ptr %16, align 4, !tbaa !9
  %151 = load i32, ptr %15, align 4, !tbaa !9
  %152 = load i32, ptr %16, align 4, !tbaa !9
  %153 = sub i32 %152, %151
  store i32 %153, ptr %16, align 4, !tbaa !9
  %154 = load i32, ptr %15, align 4, !tbaa !9
  %155 = lshr i32 %154, 12
  %156 = load i32, ptr %16, align 4, !tbaa !9
  %157 = xor i32 %156, %155
  store i32 %157, ptr %16, align 4, !tbaa !9
  %158 = load i32, ptr %15, align 4, !tbaa !9
  %159 = load i32, ptr %17, align 4, !tbaa !9
  %160 = sub i32 %159, %158
  store i32 %160, ptr %17, align 4, !tbaa !9
  %161 = load i32, ptr %16, align 4, !tbaa !9
  %162 = load i32, ptr %17, align 4, !tbaa !9
  %163 = sub i32 %162, %161
  store i32 %163, ptr %17, align 4, !tbaa !9
  %164 = load i32, ptr %16, align 4, !tbaa !9
  %165 = shl i32 %164, 16
  %166 = load i32, ptr %17, align 4, !tbaa !9
  %167 = xor i32 %166, %165
  store i32 %167, ptr %17, align 4, !tbaa !9
  %168 = load i32, ptr %16, align 4, !tbaa !9
  %169 = load i32, ptr %15, align 4, !tbaa !9
  %170 = sub i32 %169, %168
  store i32 %170, ptr %15, align 4, !tbaa !9
  %171 = load i32, ptr %17, align 4, !tbaa !9
  %172 = load i32, ptr %15, align 4, !tbaa !9
  %173 = sub i32 %172, %171
  store i32 %173, ptr %15, align 4, !tbaa !9
  %174 = load i32, ptr %17, align 4, !tbaa !9
  %175 = lshr i32 %174, 5
  %176 = load i32, ptr %15, align 4, !tbaa !9
  %177 = xor i32 %176, %175
  store i32 %177, ptr %15, align 4, !tbaa !9
  %178 = load i32, ptr %17, align 4, !tbaa !9
  %179 = load i32, ptr %16, align 4, !tbaa !9
  %180 = sub i32 %179, %178
  store i32 %180, ptr %16, align 4, !tbaa !9
  %181 = load i32, ptr %15, align 4, !tbaa !9
  %182 = load i32, ptr %16, align 4, !tbaa !9
  %183 = sub i32 %182, %181
  store i32 %183, ptr %16, align 4, !tbaa !9
  %184 = load i32, ptr %15, align 4, !tbaa !9
  %185 = lshr i32 %184, 3
  %186 = load i32, ptr %16, align 4, !tbaa !9
  %187 = xor i32 %186, %185
  store i32 %187, ptr %16, align 4, !tbaa !9
  %188 = load i32, ptr %15, align 4, !tbaa !9
  %189 = load i32, ptr %17, align 4, !tbaa !9
  %190 = sub i32 %189, %188
  store i32 %190, ptr %17, align 4, !tbaa !9
  %191 = load i32, ptr %16, align 4, !tbaa !9
  %192 = load i32, ptr %17, align 4, !tbaa !9
  %193 = sub i32 %192, %191
  store i32 %193, ptr %17, align 4, !tbaa !9
  %194 = load i32, ptr %16, align 4, !tbaa !9
  %195 = shl i32 %194, 10
  %196 = load i32, ptr %17, align 4, !tbaa !9
  %197 = xor i32 %196, %195
  store i32 %197, ptr %17, align 4, !tbaa !9
  %198 = load i32, ptr %16, align 4, !tbaa !9
  %199 = load i32, ptr %15, align 4, !tbaa !9
  %200 = sub i32 %199, %198
  store i32 %200, ptr %15, align 4, !tbaa !9
  %201 = load i32, ptr %17, align 4, !tbaa !9
  %202 = load i32, ptr %15, align 4, !tbaa !9
  %203 = sub i32 %202, %201
  store i32 %203, ptr %15, align 4, !tbaa !9
  %204 = load i32, ptr %17, align 4, !tbaa !9
  %205 = lshr i32 %204, 15
  %206 = load i32, ptr %15, align 4, !tbaa !9
  %207 = xor i32 %206, %205
  store i32 %207, ptr %15, align 4, !tbaa !9
  br label %208

208:                                              ; preds = %117
  br label %209

209:                                              ; preds = %208
  %210 = load ptr, ptr %19, align 8, !tbaa !5
  %211 = getelementptr inbounds i8, ptr %210, i64 12
  store ptr %211, ptr %19, align 8, !tbaa !5
  %212 = load i32, ptr %18, align 4, !tbaa !9
  %213 = sub i32 %212, 12
  store i32 %213, ptr %18, align 4, !tbaa !9
  br label %41, !llvm.loop !14

214:                                              ; preds = %41
  %215 = load i32, ptr %10, align 4, !tbaa !9
  %216 = load i32, ptr %15, align 4, !tbaa !9
  %217 = add i32 %216, %215
  store i32 %217, ptr %15, align 4, !tbaa !9
  %218 = load i32, ptr %18, align 4, !tbaa !9
  switch i32 %218, label %305 [
    i32 11, label %219
    i32 10, label %227
    i32 9, label %235
    i32 8, label %243
    i32 7, label %251
    i32 6, label %259
    i32 5, label %267
    i32 4, label %274
    i32 3, label %282
    i32 2, label %290
    i32 1, label %298
  ]

219:                                              ; preds = %214
  %220 = load ptr, ptr %19, align 8, !tbaa !5
  %221 = getelementptr inbounds i8, ptr %220, i64 10
  %222 = load i8, ptr %221, align 1, !tbaa !13
  %223 = zext i8 %222 to i32
  %224 = shl i32 %223, 24
  %225 = load i32, ptr %15, align 4, !tbaa !9
  %226 = add i32 %225, %224
  store i32 %226, ptr %15, align 4, !tbaa !9
  br label %227

227:                                              ; preds = %219, %214
  %228 = load ptr, ptr %19, align 8, !tbaa !5
  %229 = getelementptr inbounds i8, ptr %228, i64 9
  %230 = load i8, ptr %229, align 1, !tbaa !13
  %231 = zext i8 %230 to i32
  %232 = shl i32 %231, 16
  %233 = load i32, ptr %15, align 4, !tbaa !9
  %234 = add i32 %233, %232
  store i32 %234, ptr %15, align 4, !tbaa !9
  br label %235

235:                                              ; preds = %227, %214
  %236 = load ptr, ptr %19, align 8, !tbaa !5
  %237 = getelementptr inbounds i8, ptr %236, i64 8
  %238 = load i8, ptr %237, align 1, !tbaa !13
  %239 = zext i8 %238 to i32
  %240 = shl i32 %239, 8
  %241 = load i32, ptr %15, align 4, !tbaa !9
  %242 = add i32 %241, %240
  store i32 %242, ptr %15, align 4, !tbaa !9
  br label %243

243:                                              ; preds = %235, %214
  %244 = load ptr, ptr %19, align 8, !tbaa !5
  %245 = getelementptr inbounds i8, ptr %244, i64 7
  %246 = load i8, ptr %245, align 1, !tbaa !13
  %247 = zext i8 %246 to i32
  %248 = shl i32 %247, 24
  %249 = load i32, ptr %17, align 4, !tbaa !9
  %250 = add i32 %249, %248
  store i32 %250, ptr %17, align 4, !tbaa !9
  br label %251

251:                                              ; preds = %243, %214
  %252 = load ptr, ptr %19, align 8, !tbaa !5
  %253 = getelementptr inbounds i8, ptr %252, i64 6
  %254 = load i8, ptr %253, align 1, !tbaa !13
  %255 = zext i8 %254 to i32
  %256 = shl i32 %255, 16
  %257 = load i32, ptr %17, align 4, !tbaa !9
  %258 = add i32 %257, %256
  store i32 %258, ptr %17, align 4, !tbaa !9
  br label %259

259:                                              ; preds = %251, %214
  %260 = load ptr, ptr %19, align 8, !tbaa !5
  %261 = getelementptr inbounds i8, ptr %260, i64 5
  %262 = load i8, ptr %261, align 1, !tbaa !13
  %263 = zext i8 %262 to i32
  %264 = shl i32 %263, 8
  %265 = load i32, ptr %17, align 4, !tbaa !9
  %266 = add i32 %265, %264
  store i32 %266, ptr %17, align 4, !tbaa !9
  br label %267

267:                                              ; preds = %259, %214
  %268 = load ptr, ptr %19, align 8, !tbaa !5
  %269 = getelementptr inbounds i8, ptr %268, i64 4
  %270 = load i8, ptr %269, align 1, !tbaa !13
  %271 = zext i8 %270 to i32
  %272 = load i32, ptr %17, align 4, !tbaa !9
  %273 = add i32 %272, %271
  store i32 %273, ptr %17, align 4, !tbaa !9
  br label %274

274:                                              ; preds = %267, %214
  %275 = load ptr, ptr %19, align 8, !tbaa !5
  %276 = getelementptr inbounds i8, ptr %275, i64 3
  %277 = load i8, ptr %276, align 1, !tbaa !13
  %278 = zext i8 %277 to i32
  %279 = shl i32 %278, 24
  %280 = load i32, ptr %16, align 4, !tbaa !9
  %281 = add i32 %280, %279
  store i32 %281, ptr %16, align 4, !tbaa !9
  br label %282

282:                                              ; preds = %274, %214
  %283 = load ptr, ptr %19, align 8, !tbaa !5
  %284 = getelementptr inbounds i8, ptr %283, i64 2
  %285 = load i8, ptr %284, align 1, !tbaa !13
  %286 = zext i8 %285 to i32
  %287 = shl i32 %286, 16
  %288 = load i32, ptr %16, align 4, !tbaa !9
  %289 = add i32 %288, %287
  store i32 %289, ptr %16, align 4, !tbaa !9
  br label %290

290:                                              ; preds = %282, %214
  %291 = load ptr, ptr %19, align 8, !tbaa !5
  %292 = getelementptr inbounds i8, ptr %291, i64 1
  %293 = load i8, ptr %292, align 1, !tbaa !13
  %294 = zext i8 %293 to i32
  %295 = shl i32 %294, 8
  %296 = load i32, ptr %16, align 4, !tbaa !9
  %297 = add i32 %296, %295
  store i32 %297, ptr %16, align 4, !tbaa !9
  br label %298

298:                                              ; preds = %290, %214
  %299 = load ptr, ptr %19, align 8, !tbaa !5
  %300 = getelementptr inbounds i8, ptr %299, i64 0
  %301 = load i8, ptr %300, align 1, !tbaa !13
  %302 = zext i8 %301 to i32
  %303 = load i32, ptr %16, align 4, !tbaa !9
  %304 = add i32 %303, %302
  store i32 %304, ptr %16, align 4, !tbaa !9
  br label %305

305:                                              ; preds = %298, %214
  br label %306

306:                                              ; preds = %305
  %307 = load i32, ptr %17, align 4, !tbaa !9
  %308 = load i32, ptr %16, align 4, !tbaa !9
  %309 = sub i32 %308, %307
  store i32 %309, ptr %16, align 4, !tbaa !9
  %310 = load i32, ptr %15, align 4, !tbaa !9
  %311 = load i32, ptr %16, align 4, !tbaa !9
  %312 = sub i32 %311, %310
  store i32 %312, ptr %16, align 4, !tbaa !9
  %313 = load i32, ptr %15, align 4, !tbaa !9
  %314 = lshr i32 %313, 13
  %315 = load i32, ptr %16, align 4, !tbaa !9
  %316 = xor i32 %315, %314
  store i32 %316, ptr %16, align 4, !tbaa !9
  %317 = load i32, ptr %15, align 4, !tbaa !9
  %318 = load i32, ptr %17, align 4, !tbaa !9
  %319 = sub i32 %318, %317
  store i32 %319, ptr %17, align 4, !tbaa !9
  %320 = load i32, ptr %16, align 4, !tbaa !9
  %321 = load i32, ptr %17, align 4, !tbaa !9
  %322 = sub i32 %321, %320
  store i32 %322, ptr %17, align 4, !tbaa !9
  %323 = load i32, ptr %16, align 4, !tbaa !9
  %324 = shl i32 %323, 8
  %325 = load i32, ptr %17, align 4, !tbaa !9
  %326 = xor i32 %325, %324
  store i32 %326, ptr %17, align 4, !tbaa !9
  %327 = load i32, ptr %16, align 4, !tbaa !9
  %328 = load i32, ptr %15, align 4, !tbaa !9
  %329 = sub i32 %328, %327
  store i32 %329, ptr %15, align 4, !tbaa !9
  %330 = load i32, ptr %17, align 4, !tbaa !9
  %331 = load i32, ptr %15, align 4, !tbaa !9
  %332 = sub i32 %331, %330
  store i32 %332, ptr %15, align 4, !tbaa !9
  %333 = load i32, ptr %17, align 4, !tbaa !9
  %334 = lshr i32 %333, 13
  %335 = load i32, ptr %15, align 4, !tbaa !9
  %336 = xor i32 %335, %334
  store i32 %336, ptr %15, align 4, !tbaa !9
  %337 = load i32, ptr %17, align 4, !tbaa !9
  %338 = load i32, ptr %16, align 4, !tbaa !9
  %339 = sub i32 %338, %337
  store i32 %339, ptr %16, align 4, !tbaa !9
  %340 = load i32, ptr %15, align 4, !tbaa !9
  %341 = load i32, ptr %16, align 4, !tbaa !9
  %342 = sub i32 %341, %340
  store i32 %342, ptr %16, align 4, !tbaa !9
  %343 = load i32, ptr %15, align 4, !tbaa !9
  %344 = lshr i32 %343, 12
  %345 = load i32, ptr %16, align 4, !tbaa !9
  %346 = xor i32 %345, %344
  store i32 %346, ptr %16, align 4, !tbaa !9
  %347 = load i32, ptr %15, align 4, !tbaa !9
  %348 = load i32, ptr %17, align 4, !tbaa !9
  %349 = sub i32 %348, %347
  store i32 %349, ptr %17, align 4, !tbaa !9
  %350 = load i32, ptr %16, align 4, !tbaa !9
  %351 = load i32, ptr %17, align 4, !tbaa !9
  %352 = sub i32 %351, %350
  store i32 %352, ptr %17, align 4, !tbaa !9
  %353 = load i32, ptr %16, align 4, !tbaa !9
  %354 = shl i32 %353, 16
  %355 = load i32, ptr %17, align 4, !tbaa !9
  %356 = xor i32 %355, %354
  store i32 %356, ptr %17, align 4, !tbaa !9
  %357 = load i32, ptr %16, align 4, !tbaa !9
  %358 = load i32, ptr %15, align 4, !tbaa !9
  %359 = sub i32 %358, %357
  store i32 %359, ptr %15, align 4, !tbaa !9
  %360 = load i32, ptr %17, align 4, !tbaa !9
  %361 = load i32, ptr %15, align 4, !tbaa !9
  %362 = sub i32 %361, %360
  store i32 %362, ptr %15, align 4, !tbaa !9
  %363 = load i32, ptr %17, align 4, !tbaa !9
  %364 = lshr i32 %363, 5
  %365 = load i32, ptr %15, align 4, !tbaa !9
  %366 = xor i32 %365, %364
  store i32 %366, ptr %15, align 4, !tbaa !9
  %367 = load i32, ptr %17, align 4, !tbaa !9
  %368 = load i32, ptr %16, align 4, !tbaa !9
  %369 = sub i32 %368, %367
  store i32 %369, ptr %16, align 4, !tbaa !9
  %370 = load i32, ptr %15, align 4, !tbaa !9
  %371 = load i32, ptr %16, align 4, !tbaa !9
  %372 = sub i32 %371, %370
  store i32 %372, ptr %16, align 4, !tbaa !9
  %373 = load i32, ptr %15, align 4, !tbaa !9
  %374 = lshr i32 %373, 3
  %375 = load i32, ptr %16, align 4, !tbaa !9
  %376 = xor i32 %375, %374
  store i32 %376, ptr %16, align 4, !tbaa !9
  %377 = load i32, ptr %15, align 4, !tbaa !9
  %378 = load i32, ptr %17, align 4, !tbaa !9
  %379 = sub i32 %378, %377
  store i32 %379, ptr %17, align 4, !tbaa !9
  %380 = load i32, ptr %16, align 4, !tbaa !9
  %381 = load i32, ptr %17, align 4, !tbaa !9
  %382 = sub i32 %381, %380
  store i32 %382, ptr %17, align 4, !tbaa !9
  %383 = load i32, ptr %16, align 4, !tbaa !9
  %384 = shl i32 %383, 10
  %385 = load i32, ptr %17, align 4, !tbaa !9
  %386 = xor i32 %385, %384
  store i32 %386, ptr %17, align 4, !tbaa !9
  %387 = load i32, ptr %16, align 4, !tbaa !9
  %388 = load i32, ptr %15, align 4, !tbaa !9
  %389 = sub i32 %388, %387
  store i32 %389, ptr %15, align 4, !tbaa !9
  %390 = load i32, ptr %17, align 4, !tbaa !9
  %391 = load i32, ptr %15, align 4, !tbaa !9
  %392 = sub i32 %391, %390
  store i32 %392, ptr %15, align 4, !tbaa !9
  %393 = load i32, ptr %17, align 4, !tbaa !9
  %394 = lshr i32 %393, 15
  %395 = load i32, ptr %15, align 4, !tbaa !9
  %396 = xor i32 %395, %394
  store i32 %396, ptr %15, align 4, !tbaa !9
  br label %397

397:                                              ; preds = %306
  br label %398

398:                                              ; preds = %397
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %399

399:                                              ; preds = %398
  br label %400

400:                                              ; preds = %399
  br label %401

401:                                              ; preds = %400
  br label %402

402:                                              ; preds = %401
  br label %403

403:                                              ; preds = %402
  store ptr null, ptr %14, align 8, !tbaa !5
  %404 = load ptr, ptr %8, align 8, !tbaa !5
  %405 = load ptr, ptr %404, align 8, !tbaa !5
  %406 = icmp ne ptr %405, null
  br i1 %406, label %407, label %519

407:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  br label %408

408:                                              ; preds = %407
  %409 = load i32, ptr %15, align 4, !tbaa !9
  %410 = load ptr, ptr %8, align 8, !tbaa !5
  %411 = load ptr, ptr %410, align 8, !tbaa !5
  %412 = getelementptr inbounds %struct.bpf_map, ptr %411, i32 0, i32 2
  %413 = getelementptr inbounds %struct.UT_hash_handle, ptr %412, i32 0, i32 0
  %414 = load ptr, ptr %413, align 8, !tbaa !16
  %415 = getelementptr inbounds %struct.UT_hash_table, ptr %414, i32 0, i32 1
  %416 = load i32, ptr %415, align 8, !tbaa !19
  %417 = sub i32 %416, 1
  %418 = and i32 %409, %417
  store i32 %418, ptr %20, align 4, !tbaa !9
  br label %419

419:                                              ; preds = %408
  br label %420

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420
  %422 = load ptr, ptr %8, align 8, !tbaa !5
  %423 = load ptr, ptr %422, align 8, !tbaa !5
  %424 = getelementptr inbounds %struct.bpf_map, ptr %423, i32 0, i32 2
  %425 = getelementptr inbounds %struct.UT_hash_handle, ptr %424, i32 0, i32 0
  %426 = load ptr, ptr %425, align 8, !tbaa !16
  %427 = getelementptr inbounds %struct.UT_hash_table, ptr %426, i32 0, i32 0
  %428 = load ptr, ptr %427, align 8, !tbaa !22
  %429 = load i32, ptr %20, align 4, !tbaa !9
  %430 = zext i32 %429 to i64
  %431 = getelementptr inbounds %struct.UT_hash_bucket, ptr %428, i64 %430
  %432 = getelementptr inbounds %struct.UT_hash_bucket, ptr %431, i32 0, i32 0
  %433 = load ptr, ptr %432, align 8, !tbaa !23
  %434 = icmp ne ptr %433, null
  br i1 %434, label %435, label %460

435:                                              ; preds = %421
  br label %436

436:                                              ; preds = %435
  %437 = load ptr, ptr %8, align 8, !tbaa !5
  %438 = load ptr, ptr %437, align 8, !tbaa !5
  %439 = getelementptr inbounds %struct.bpf_map, ptr %438, i32 0, i32 2
  %440 = getelementptr inbounds %struct.UT_hash_handle, ptr %439, i32 0, i32 0
  %441 = load ptr, ptr %440, align 8, !tbaa !16
  %442 = getelementptr inbounds %struct.UT_hash_table, ptr %441, i32 0, i32 0
  %443 = load ptr, ptr %442, align 8, !tbaa !22
  %444 = load i32, ptr %20, align 4, !tbaa !9
  %445 = zext i32 %444 to i64
  %446 = getelementptr inbounds %struct.UT_hash_bucket, ptr %443, i64 %445
  %447 = getelementptr inbounds %struct.UT_hash_bucket, ptr %446, i32 0, i32 0
  %448 = load ptr, ptr %447, align 8, !tbaa !23
  %449 = load ptr, ptr %8, align 8, !tbaa !5
  %450 = load ptr, ptr %449, align 8, !tbaa !5
  %451 = getelementptr inbounds %struct.bpf_map, ptr %450, i32 0, i32 2
  %452 = getelementptr inbounds %struct.UT_hash_handle, ptr %451, i32 0, i32 0
  %453 = load ptr, ptr %452, align 8, !tbaa !16
  %454 = getelementptr inbounds %struct.UT_hash_table, ptr %453, i32 0, i32 5
  %455 = load i64, ptr %454, align 8, !tbaa !25
  %456 = sub i64 0, %455
  %457 = getelementptr inbounds i8, ptr %448, i64 %456
  store ptr %457, ptr %14, align 8, !tbaa !5
  br label %458

458:                                              ; preds = %436
  br label %459

459:                                              ; preds = %458
  br label %461

460:                                              ; preds = %421
  store ptr null, ptr %14, align 8, !tbaa !5
  br label %461

461:                                              ; preds = %460, %459
  br label %462

462:                                              ; preds = %515, %461
  %463 = load ptr, ptr %14, align 8, !tbaa !5
  %464 = icmp ne ptr %463, null
  br i1 %464, label %465, label %516

465:                                              ; preds = %462
  %466 = load ptr, ptr %14, align 8, !tbaa !5
  %467 = getelementptr inbounds %struct.bpf_map, ptr %466, i32 0, i32 2
  %468 = getelementptr inbounds %struct.UT_hash_handle, ptr %467, i32 0, i32 7
  %469 = load i32, ptr %468, align 4, !tbaa !26
  %470 = load i32, ptr %15, align 4, !tbaa !9
  %471 = icmp eq i32 %469, %470
  br i1 %471, label %472, label %491

472:                                              ; preds = %465
  %473 = load ptr, ptr %14, align 8, !tbaa !5
  %474 = getelementptr inbounds %struct.bpf_map, ptr %473, i32 0, i32 2
  %475 = getelementptr inbounds %struct.UT_hash_handle, ptr %474, i32 0, i32 6
  %476 = load i32, ptr %475, align 8, !tbaa !27
  %477 = load i32, ptr %10, align 4, !tbaa !9
  %478 = icmp eq i32 %476, %477
  br i1 %478, label %479, label %491

479:                                              ; preds = %472
  %480 = load ptr, ptr %14, align 8, !tbaa !5
  %481 = getelementptr inbounds %struct.bpf_map, ptr %480, i32 0, i32 2
  %482 = getelementptr inbounds %struct.UT_hash_handle, ptr %481, i32 0, i32 5
  %483 = load ptr, ptr %482, align 8, !tbaa !28
  %484 = load ptr, ptr %9, align 8, !tbaa !5
  %485 = load i32, ptr %10, align 4, !tbaa !9
  %486 = zext i32 %485 to i64
  %487 = call i32 @memcmp(ptr noundef %483, ptr noundef %484, i64 noundef %486) #9
  %488 = icmp eq i32 %487, 0
  br i1 %488, label %489, label %490

489:                                              ; preds = %479
  br label %516

490:                                              ; preds = %479
  br label %491

491:                                              ; preds = %490, %472, %465
  %492 = load ptr, ptr %14, align 8, !tbaa !5
  %493 = getelementptr inbounds %struct.bpf_map, ptr %492, i32 0, i32 2
  %494 = getelementptr inbounds %struct.UT_hash_handle, ptr %493, i32 0, i32 4
  %495 = load ptr, ptr %494, align 8, !tbaa !29
  %496 = icmp ne ptr %495, null
  br i1 %496, label %497, label %514

497:                                              ; preds = %491
  br label %498

498:                                              ; preds = %497
  %499 = load ptr, ptr %14, align 8, !tbaa !5
  %500 = getelementptr inbounds %struct.bpf_map, ptr %499, i32 0, i32 2
  %501 = getelementptr inbounds %struct.UT_hash_handle, ptr %500, i32 0, i32 4
  %502 = load ptr, ptr %501, align 8, !tbaa !29
  %503 = load ptr, ptr %8, align 8, !tbaa !5
  %504 = load ptr, ptr %503, align 8, !tbaa !5
  %505 = getelementptr inbounds %struct.bpf_map, ptr %504, i32 0, i32 2
  %506 = getelementptr inbounds %struct.UT_hash_handle, ptr %505, i32 0, i32 0
  %507 = load ptr, ptr %506, align 8, !tbaa !16
  %508 = getelementptr inbounds %struct.UT_hash_table, ptr %507, i32 0, i32 5
  %509 = load i64, ptr %508, align 8, !tbaa !25
  %510 = sub i64 0, %509
  %511 = getelementptr inbounds i8, ptr %502, i64 %510
  store ptr %511, ptr %14, align 8, !tbaa !5
  br label %512

512:                                              ; preds = %498
  br label %513

513:                                              ; preds = %512
  br label %515

514:                                              ; preds = %491
  store ptr null, ptr %14, align 8, !tbaa !5
  br label %515

515:                                              ; preds = %514, %513
  br label %462, !llvm.loop !30

516:                                              ; preds = %489, %462
  br label %517

517:                                              ; preds = %516
  br label %518

518:                                              ; preds = %517
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %519

519:                                              ; preds = %518, %403
  br label %520

520:                                              ; preds = %519
  br label %521

521:                                              ; preds = %520
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %522

522:                                              ; preds = %521
  br label %523

523:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #8
  %524 = load ptr, ptr %14, align 8, !tbaa !5
  %525 = load i64, ptr %13, align 8, !tbaa !11
  %526 = call i32 @check_flags(ptr noundef %524, i64 noundef %525)
  store i32 %526, ptr %21, align 4, !tbaa !9
  %527 = load i32, ptr %21, align 4, !tbaa !9
  %528 = icmp ne i32 %527, 0
  br i1 %528, label %529, label %531

529:                                              ; preds = %523
  %530 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %530, ptr %7, align 4
  store i32 1, ptr %22, align 4
  br label %1417

531:                                              ; preds = %523
  %532 = load ptr, ptr %14, align 8, !tbaa !5
  %533 = icmp eq ptr %532, null
  br i1 %533, label %534, label %1405

534:                                              ; preds = %531
  %535 = call noalias ptr @malloc(i64 noundef 72) #10
  store ptr %535, ptr %14, align 8, !tbaa !5
  %536 = load i32, ptr %10, align 4, !tbaa !9
  %537 = zext i32 %536 to i64
  %538 = call noalias ptr @malloc(i64 noundef %537) #10
  %539 = load ptr, ptr %14, align 8, !tbaa !5
  %540 = getelementptr inbounds %struct.bpf_map, ptr %539, i32 0, i32 0
  store ptr %538, ptr %540, align 8, !tbaa !31
  %541 = load ptr, ptr %14, align 8, !tbaa !5
  %542 = getelementptr inbounds %struct.bpf_map, ptr %541, i32 0, i32 0
  %543 = load ptr, ptr %542, align 8, !tbaa !31
  %544 = load ptr, ptr %9, align 8, !tbaa !5
  %545 = load i32, ptr %10, align 4, !tbaa !9
  %546 = zext i32 %545 to i64
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %543, ptr align 1 %544, i64 %546, i1 false)
  br label %547

547:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %550 = load ptr, ptr %14, align 8, !tbaa !5
  %551 = getelementptr inbounds %struct.bpf_map, ptr %550, i32 0, i32 0
  %552 = load ptr, ptr %551, align 8, !tbaa !31
  store ptr %552, ptr %27, align 8, !tbaa !5
  store i32 -17973521, ptr %23, align 4, !tbaa !9
  store i32 -1640531527, ptr %25, align 4, !tbaa !9
  store i32 -1640531527, ptr %24, align 4, !tbaa !9
  %553 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %553, ptr %26, align 4, !tbaa !9
  br label %554

554:                                              ; preds = %722, %549
  %555 = load i32, ptr %26, align 4, !tbaa !9
  %556 = icmp uge i32 %555, 12
  br i1 %556, label %557, label %727

557:                                              ; preds = %554
  %558 = load ptr, ptr %27, align 8, !tbaa !5
  %559 = getelementptr inbounds i8, ptr %558, i64 0
  %560 = load i8, ptr %559, align 1, !tbaa !13
  %561 = zext i8 %560 to i32
  %562 = load ptr, ptr %27, align 8, !tbaa !5
  %563 = getelementptr inbounds i8, ptr %562, i64 1
  %564 = load i8, ptr %563, align 1, !tbaa !13
  %565 = zext i8 %564 to i32
  %566 = shl i32 %565, 8
  %567 = add i32 %561, %566
  %568 = load ptr, ptr %27, align 8, !tbaa !5
  %569 = getelementptr inbounds i8, ptr %568, i64 2
  %570 = load i8, ptr %569, align 1, !tbaa !13
  %571 = zext i8 %570 to i32
  %572 = shl i32 %571, 16
  %573 = add i32 %567, %572
  %574 = load ptr, ptr %27, align 8, !tbaa !5
  %575 = getelementptr inbounds i8, ptr %574, i64 3
  %576 = load i8, ptr %575, align 1, !tbaa !13
  %577 = zext i8 %576 to i32
  %578 = shl i32 %577, 24
  %579 = add i32 %573, %578
  %580 = load i32, ptr %24, align 4, !tbaa !9
  %581 = add i32 %580, %579
  store i32 %581, ptr %24, align 4, !tbaa !9
  %582 = load ptr, ptr %27, align 8, !tbaa !5
  %583 = getelementptr inbounds i8, ptr %582, i64 4
  %584 = load i8, ptr %583, align 1, !tbaa !13
  %585 = zext i8 %584 to i32
  %586 = load ptr, ptr %27, align 8, !tbaa !5
  %587 = getelementptr inbounds i8, ptr %586, i64 5
  %588 = load i8, ptr %587, align 1, !tbaa !13
  %589 = zext i8 %588 to i32
  %590 = shl i32 %589, 8
  %591 = add i32 %585, %590
  %592 = load ptr, ptr %27, align 8, !tbaa !5
  %593 = getelementptr inbounds i8, ptr %592, i64 6
  %594 = load i8, ptr %593, align 1, !tbaa !13
  %595 = zext i8 %594 to i32
  %596 = shl i32 %595, 16
  %597 = add i32 %591, %596
  %598 = load ptr, ptr %27, align 8, !tbaa !5
  %599 = getelementptr inbounds i8, ptr %598, i64 7
  %600 = load i8, ptr %599, align 1, !tbaa !13
  %601 = zext i8 %600 to i32
  %602 = shl i32 %601, 24
  %603 = add i32 %597, %602
  %604 = load i32, ptr %25, align 4, !tbaa !9
  %605 = add i32 %604, %603
  store i32 %605, ptr %25, align 4, !tbaa !9
  %606 = load ptr, ptr %27, align 8, !tbaa !5
  %607 = getelementptr inbounds i8, ptr %606, i64 8
  %608 = load i8, ptr %607, align 1, !tbaa !13
  %609 = zext i8 %608 to i32
  %610 = load ptr, ptr %27, align 8, !tbaa !5
  %611 = getelementptr inbounds i8, ptr %610, i64 9
  %612 = load i8, ptr %611, align 1, !tbaa !13
  %613 = zext i8 %612 to i32
  %614 = shl i32 %613, 8
  %615 = add i32 %609, %614
  %616 = load ptr, ptr %27, align 8, !tbaa !5
  %617 = getelementptr inbounds i8, ptr %616, i64 10
  %618 = load i8, ptr %617, align 1, !tbaa !13
  %619 = zext i8 %618 to i32
  %620 = shl i32 %619, 16
  %621 = add i32 %615, %620
  %622 = load ptr, ptr %27, align 8, !tbaa !5
  %623 = getelementptr inbounds i8, ptr %622, i64 11
  %624 = load i8, ptr %623, align 1, !tbaa !13
  %625 = zext i8 %624 to i32
  %626 = shl i32 %625, 24
  %627 = add i32 %621, %626
  %628 = load i32, ptr %23, align 4, !tbaa !9
  %629 = add i32 %628, %627
  store i32 %629, ptr %23, align 4, !tbaa !9
  br label %630

630:                                              ; preds = %557
  %631 = load i32, ptr %25, align 4, !tbaa !9
  %632 = load i32, ptr %24, align 4, !tbaa !9
  %633 = sub i32 %632, %631
  store i32 %633, ptr %24, align 4, !tbaa !9
  %634 = load i32, ptr %23, align 4, !tbaa !9
  %635 = load i32, ptr %24, align 4, !tbaa !9
  %636 = sub i32 %635, %634
  store i32 %636, ptr %24, align 4, !tbaa !9
  %637 = load i32, ptr %23, align 4, !tbaa !9
  %638 = lshr i32 %637, 13
  %639 = load i32, ptr %24, align 4, !tbaa !9
  %640 = xor i32 %639, %638
  store i32 %640, ptr %24, align 4, !tbaa !9
  %641 = load i32, ptr %23, align 4, !tbaa !9
  %642 = load i32, ptr %25, align 4, !tbaa !9
  %643 = sub i32 %642, %641
  store i32 %643, ptr %25, align 4, !tbaa !9
  %644 = load i32, ptr %24, align 4, !tbaa !9
  %645 = load i32, ptr %25, align 4, !tbaa !9
  %646 = sub i32 %645, %644
  store i32 %646, ptr %25, align 4, !tbaa !9
  %647 = load i32, ptr %24, align 4, !tbaa !9
  %648 = shl i32 %647, 8
  %649 = load i32, ptr %25, align 4, !tbaa !9
  %650 = xor i32 %649, %648
  store i32 %650, ptr %25, align 4, !tbaa !9
  %651 = load i32, ptr %24, align 4, !tbaa !9
  %652 = load i32, ptr %23, align 4, !tbaa !9
  %653 = sub i32 %652, %651
  store i32 %653, ptr %23, align 4, !tbaa !9
  %654 = load i32, ptr %25, align 4, !tbaa !9
  %655 = load i32, ptr %23, align 4, !tbaa !9
  %656 = sub i32 %655, %654
  store i32 %656, ptr %23, align 4, !tbaa !9
  %657 = load i32, ptr %25, align 4, !tbaa !9
  %658 = lshr i32 %657, 13
  %659 = load i32, ptr %23, align 4, !tbaa !9
  %660 = xor i32 %659, %658
  store i32 %660, ptr %23, align 4, !tbaa !9
  %661 = load i32, ptr %25, align 4, !tbaa !9
  %662 = load i32, ptr %24, align 4, !tbaa !9
  %663 = sub i32 %662, %661
  store i32 %663, ptr %24, align 4, !tbaa !9
  %664 = load i32, ptr %23, align 4, !tbaa !9
  %665 = load i32, ptr %24, align 4, !tbaa !9
  %666 = sub i32 %665, %664
  store i32 %666, ptr %24, align 4, !tbaa !9
  %667 = load i32, ptr %23, align 4, !tbaa !9
  %668 = lshr i32 %667, 12
  %669 = load i32, ptr %24, align 4, !tbaa !9
  %670 = xor i32 %669, %668
  store i32 %670, ptr %24, align 4, !tbaa !9
  %671 = load i32, ptr %23, align 4, !tbaa !9
  %672 = load i32, ptr %25, align 4, !tbaa !9
  %673 = sub i32 %672, %671
  store i32 %673, ptr %25, align 4, !tbaa !9
  %674 = load i32, ptr %24, align 4, !tbaa !9
  %675 = load i32, ptr %25, align 4, !tbaa !9
  %676 = sub i32 %675, %674
  store i32 %676, ptr %25, align 4, !tbaa !9
  %677 = load i32, ptr %24, align 4, !tbaa !9
  %678 = shl i32 %677, 16
  %679 = load i32, ptr %25, align 4, !tbaa !9
  %680 = xor i32 %679, %678
  store i32 %680, ptr %25, align 4, !tbaa !9
  %681 = load i32, ptr %24, align 4, !tbaa !9
  %682 = load i32, ptr %23, align 4, !tbaa !9
  %683 = sub i32 %682, %681
  store i32 %683, ptr %23, align 4, !tbaa !9
  %684 = load i32, ptr %25, align 4, !tbaa !9
  %685 = load i32, ptr %23, align 4, !tbaa !9
  %686 = sub i32 %685, %684
  store i32 %686, ptr %23, align 4, !tbaa !9
  %687 = load i32, ptr %25, align 4, !tbaa !9
  %688 = lshr i32 %687, 5
  %689 = load i32, ptr %23, align 4, !tbaa !9
  %690 = xor i32 %689, %688
  store i32 %690, ptr %23, align 4, !tbaa !9
  %691 = load i32, ptr %25, align 4, !tbaa !9
  %692 = load i32, ptr %24, align 4, !tbaa !9
  %693 = sub i32 %692, %691
  store i32 %693, ptr %24, align 4, !tbaa !9
  %694 = load i32, ptr %23, align 4, !tbaa !9
  %695 = load i32, ptr %24, align 4, !tbaa !9
  %696 = sub i32 %695, %694
  store i32 %696, ptr %24, align 4, !tbaa !9
  %697 = load i32, ptr %23, align 4, !tbaa !9
  %698 = lshr i32 %697, 3
  %699 = load i32, ptr %24, align 4, !tbaa !9
  %700 = xor i32 %699, %698
  store i32 %700, ptr %24, align 4, !tbaa !9
  %701 = load i32, ptr %23, align 4, !tbaa !9
  %702 = load i32, ptr %25, align 4, !tbaa !9
  %703 = sub i32 %702, %701
  store i32 %703, ptr %25, align 4, !tbaa !9
  %704 = load i32, ptr %24, align 4, !tbaa !9
  %705 = load i32, ptr %25, align 4, !tbaa !9
  %706 = sub i32 %705, %704
  store i32 %706, ptr %25, align 4, !tbaa !9
  %707 = load i32, ptr %24, align 4, !tbaa !9
  %708 = shl i32 %707, 10
  %709 = load i32, ptr %25, align 4, !tbaa !9
  %710 = xor i32 %709, %708
  store i32 %710, ptr %25, align 4, !tbaa !9
  %711 = load i32, ptr %24, align 4, !tbaa !9
  %712 = load i32, ptr %23, align 4, !tbaa !9
  %713 = sub i32 %712, %711
  store i32 %713, ptr %23, align 4, !tbaa !9
  %714 = load i32, ptr %25, align 4, !tbaa !9
  %715 = load i32, ptr %23, align 4, !tbaa !9
  %716 = sub i32 %715, %714
  store i32 %716, ptr %23, align 4, !tbaa !9
  %717 = load i32, ptr %25, align 4, !tbaa !9
  %718 = lshr i32 %717, 15
  %719 = load i32, ptr %23, align 4, !tbaa !9
  %720 = xor i32 %719, %718
  store i32 %720, ptr %23, align 4, !tbaa !9
  br label %721

721:                                              ; preds = %630
  br label %722

722:                                              ; preds = %721
  %723 = load ptr, ptr %27, align 8, !tbaa !5
  %724 = getelementptr inbounds i8, ptr %723, i64 12
  store ptr %724, ptr %27, align 8, !tbaa !5
  %725 = load i32, ptr %26, align 4, !tbaa !9
  %726 = sub i32 %725, 12
  store i32 %726, ptr %26, align 4, !tbaa !9
  br label %554, !llvm.loop !32

727:                                              ; preds = %554
  %728 = load i32, ptr %10, align 4, !tbaa !9
  %729 = load i32, ptr %23, align 4, !tbaa !9
  %730 = add i32 %729, %728
  store i32 %730, ptr %23, align 4, !tbaa !9
  %731 = load i32, ptr %26, align 4, !tbaa !9
  switch i32 %731, label %818 [
    i32 11, label %732
    i32 10, label %740
    i32 9, label %748
    i32 8, label %756
    i32 7, label %764
    i32 6, label %772
    i32 5, label %780
    i32 4, label %787
    i32 3, label %795
    i32 2, label %803
    i32 1, label %811
  ]

732:                                              ; preds = %727
  %733 = load ptr, ptr %27, align 8, !tbaa !5
  %734 = getelementptr inbounds i8, ptr %733, i64 10
  %735 = load i8, ptr %734, align 1, !tbaa !13
  %736 = zext i8 %735 to i32
  %737 = shl i32 %736, 24
  %738 = load i32, ptr %23, align 4, !tbaa !9
  %739 = add i32 %738, %737
  store i32 %739, ptr %23, align 4, !tbaa !9
  br label %740

740:                                              ; preds = %732, %727
  %741 = load ptr, ptr %27, align 8, !tbaa !5
  %742 = getelementptr inbounds i8, ptr %741, i64 9
  %743 = load i8, ptr %742, align 1, !tbaa !13
  %744 = zext i8 %743 to i32
  %745 = shl i32 %744, 16
  %746 = load i32, ptr %23, align 4, !tbaa !9
  %747 = add i32 %746, %745
  store i32 %747, ptr %23, align 4, !tbaa !9
  br label %748

748:                                              ; preds = %740, %727
  %749 = load ptr, ptr %27, align 8, !tbaa !5
  %750 = getelementptr inbounds i8, ptr %749, i64 8
  %751 = load i8, ptr %750, align 1, !tbaa !13
  %752 = zext i8 %751 to i32
  %753 = shl i32 %752, 8
  %754 = load i32, ptr %23, align 4, !tbaa !9
  %755 = add i32 %754, %753
  store i32 %755, ptr %23, align 4, !tbaa !9
  br label %756

756:                                              ; preds = %748, %727
  %757 = load ptr, ptr %27, align 8, !tbaa !5
  %758 = getelementptr inbounds i8, ptr %757, i64 7
  %759 = load i8, ptr %758, align 1, !tbaa !13
  %760 = zext i8 %759 to i32
  %761 = shl i32 %760, 24
  %762 = load i32, ptr %25, align 4, !tbaa !9
  %763 = add i32 %762, %761
  store i32 %763, ptr %25, align 4, !tbaa !9
  br label %764

764:                                              ; preds = %756, %727
  %765 = load ptr, ptr %27, align 8, !tbaa !5
  %766 = getelementptr inbounds i8, ptr %765, i64 6
  %767 = load i8, ptr %766, align 1, !tbaa !13
  %768 = zext i8 %767 to i32
  %769 = shl i32 %768, 16
  %770 = load i32, ptr %25, align 4, !tbaa !9
  %771 = add i32 %770, %769
  store i32 %771, ptr %25, align 4, !tbaa !9
  br label %772

772:                                              ; preds = %764, %727
  %773 = load ptr, ptr %27, align 8, !tbaa !5
  %774 = getelementptr inbounds i8, ptr %773, i64 5
  %775 = load i8, ptr %774, align 1, !tbaa !13
  %776 = zext i8 %775 to i32
  %777 = shl i32 %776, 8
  %778 = load i32, ptr %25, align 4, !tbaa !9
  %779 = add i32 %778, %777
  store i32 %779, ptr %25, align 4, !tbaa !9
  br label %780

780:                                              ; preds = %772, %727
  %781 = load ptr, ptr %27, align 8, !tbaa !5
  %782 = getelementptr inbounds i8, ptr %781, i64 4
  %783 = load i8, ptr %782, align 1, !tbaa !13
  %784 = zext i8 %783 to i32
  %785 = load i32, ptr %25, align 4, !tbaa !9
  %786 = add i32 %785, %784
  store i32 %786, ptr %25, align 4, !tbaa !9
  br label %787

787:                                              ; preds = %780, %727
  %788 = load ptr, ptr %27, align 8, !tbaa !5
  %789 = getelementptr inbounds i8, ptr %788, i64 3
  %790 = load i8, ptr %789, align 1, !tbaa !13
  %791 = zext i8 %790 to i32
  %792 = shl i32 %791, 24
  %793 = load i32, ptr %24, align 4, !tbaa !9
  %794 = add i32 %793, %792
  store i32 %794, ptr %24, align 4, !tbaa !9
  br label %795

795:                                              ; preds = %787, %727
  %796 = load ptr, ptr %27, align 8, !tbaa !5
  %797 = getelementptr inbounds i8, ptr %796, i64 2
  %798 = load i8, ptr %797, align 1, !tbaa !13
  %799 = zext i8 %798 to i32
  %800 = shl i32 %799, 16
  %801 = load i32, ptr %24, align 4, !tbaa !9
  %802 = add i32 %801, %800
  store i32 %802, ptr %24, align 4, !tbaa !9
  br label %803

803:                                              ; preds = %795, %727
  %804 = load ptr, ptr %27, align 8, !tbaa !5
  %805 = getelementptr inbounds i8, ptr %804, i64 1
  %806 = load i8, ptr %805, align 1, !tbaa !13
  %807 = zext i8 %806 to i32
  %808 = shl i32 %807, 8
  %809 = load i32, ptr %24, align 4, !tbaa !9
  %810 = add i32 %809, %808
  store i32 %810, ptr %24, align 4, !tbaa !9
  br label %811

811:                                              ; preds = %803, %727
  %812 = load ptr, ptr %27, align 8, !tbaa !5
  %813 = getelementptr inbounds i8, ptr %812, i64 0
  %814 = load i8, ptr %813, align 1, !tbaa !13
  %815 = zext i8 %814 to i32
  %816 = load i32, ptr %24, align 4, !tbaa !9
  %817 = add i32 %816, %815
  store i32 %817, ptr %24, align 4, !tbaa !9
  br label %818

818:                                              ; preds = %811, %727
  br label %819

819:                                              ; preds = %818
  %820 = load i32, ptr %25, align 4, !tbaa !9
  %821 = load i32, ptr %24, align 4, !tbaa !9
  %822 = sub i32 %821, %820
  store i32 %822, ptr %24, align 4, !tbaa !9
  %823 = load i32, ptr %23, align 4, !tbaa !9
  %824 = load i32, ptr %24, align 4, !tbaa !9
  %825 = sub i32 %824, %823
  store i32 %825, ptr %24, align 4, !tbaa !9
  %826 = load i32, ptr %23, align 4, !tbaa !9
  %827 = lshr i32 %826, 13
  %828 = load i32, ptr %24, align 4, !tbaa !9
  %829 = xor i32 %828, %827
  store i32 %829, ptr %24, align 4, !tbaa !9
  %830 = load i32, ptr %23, align 4, !tbaa !9
  %831 = load i32, ptr %25, align 4, !tbaa !9
  %832 = sub i32 %831, %830
  store i32 %832, ptr %25, align 4, !tbaa !9
  %833 = load i32, ptr %24, align 4, !tbaa !9
  %834 = load i32, ptr %25, align 4, !tbaa !9
  %835 = sub i32 %834, %833
  store i32 %835, ptr %25, align 4, !tbaa !9
  %836 = load i32, ptr %24, align 4, !tbaa !9
  %837 = shl i32 %836, 8
  %838 = load i32, ptr %25, align 4, !tbaa !9
  %839 = xor i32 %838, %837
  store i32 %839, ptr %25, align 4, !tbaa !9
  %840 = load i32, ptr %24, align 4, !tbaa !9
  %841 = load i32, ptr %23, align 4, !tbaa !9
  %842 = sub i32 %841, %840
  store i32 %842, ptr %23, align 4, !tbaa !9
  %843 = load i32, ptr %25, align 4, !tbaa !9
  %844 = load i32, ptr %23, align 4, !tbaa !9
  %845 = sub i32 %844, %843
  store i32 %845, ptr %23, align 4, !tbaa !9
  %846 = load i32, ptr %25, align 4, !tbaa !9
  %847 = lshr i32 %846, 13
  %848 = load i32, ptr %23, align 4, !tbaa !9
  %849 = xor i32 %848, %847
  store i32 %849, ptr %23, align 4, !tbaa !9
  %850 = load i32, ptr %25, align 4, !tbaa !9
  %851 = load i32, ptr %24, align 4, !tbaa !9
  %852 = sub i32 %851, %850
  store i32 %852, ptr %24, align 4, !tbaa !9
  %853 = load i32, ptr %23, align 4, !tbaa !9
  %854 = load i32, ptr %24, align 4, !tbaa !9
  %855 = sub i32 %854, %853
  store i32 %855, ptr %24, align 4, !tbaa !9
  %856 = load i32, ptr %23, align 4, !tbaa !9
  %857 = lshr i32 %856, 12
  %858 = load i32, ptr %24, align 4, !tbaa !9
  %859 = xor i32 %858, %857
  store i32 %859, ptr %24, align 4, !tbaa !9
  %860 = load i32, ptr %23, align 4, !tbaa !9
  %861 = load i32, ptr %25, align 4, !tbaa !9
  %862 = sub i32 %861, %860
  store i32 %862, ptr %25, align 4, !tbaa !9
  %863 = load i32, ptr %24, align 4, !tbaa !9
  %864 = load i32, ptr %25, align 4, !tbaa !9
  %865 = sub i32 %864, %863
  store i32 %865, ptr %25, align 4, !tbaa !9
  %866 = load i32, ptr %24, align 4, !tbaa !9
  %867 = shl i32 %866, 16
  %868 = load i32, ptr %25, align 4, !tbaa !9
  %869 = xor i32 %868, %867
  store i32 %869, ptr %25, align 4, !tbaa !9
  %870 = load i32, ptr %24, align 4, !tbaa !9
  %871 = load i32, ptr %23, align 4, !tbaa !9
  %872 = sub i32 %871, %870
  store i32 %872, ptr %23, align 4, !tbaa !9
  %873 = load i32, ptr %25, align 4, !tbaa !9
  %874 = load i32, ptr %23, align 4, !tbaa !9
  %875 = sub i32 %874, %873
  store i32 %875, ptr %23, align 4, !tbaa !9
  %876 = load i32, ptr %25, align 4, !tbaa !9
  %877 = lshr i32 %876, 5
  %878 = load i32, ptr %23, align 4, !tbaa !9
  %879 = xor i32 %878, %877
  store i32 %879, ptr %23, align 4, !tbaa !9
  %880 = load i32, ptr %25, align 4, !tbaa !9
  %881 = load i32, ptr %24, align 4, !tbaa !9
  %882 = sub i32 %881, %880
  store i32 %882, ptr %24, align 4, !tbaa !9
  %883 = load i32, ptr %23, align 4, !tbaa !9
  %884 = load i32, ptr %24, align 4, !tbaa !9
  %885 = sub i32 %884, %883
  store i32 %885, ptr %24, align 4, !tbaa !9
  %886 = load i32, ptr %23, align 4, !tbaa !9
  %887 = lshr i32 %886, 3
  %888 = load i32, ptr %24, align 4, !tbaa !9
  %889 = xor i32 %888, %887
  store i32 %889, ptr %24, align 4, !tbaa !9
  %890 = load i32, ptr %23, align 4, !tbaa !9
  %891 = load i32, ptr %25, align 4, !tbaa !9
  %892 = sub i32 %891, %890
  store i32 %892, ptr %25, align 4, !tbaa !9
  %893 = load i32, ptr %24, align 4, !tbaa !9
  %894 = load i32, ptr %25, align 4, !tbaa !9
  %895 = sub i32 %894, %893
  store i32 %895, ptr %25, align 4, !tbaa !9
  %896 = load i32, ptr %24, align 4, !tbaa !9
  %897 = shl i32 %896, 10
  %898 = load i32, ptr %25, align 4, !tbaa !9
  %899 = xor i32 %898, %897
  store i32 %899, ptr %25, align 4, !tbaa !9
  %900 = load i32, ptr %24, align 4, !tbaa !9
  %901 = load i32, ptr %23, align 4, !tbaa !9
  %902 = sub i32 %901, %900
  store i32 %902, ptr %23, align 4, !tbaa !9
  %903 = load i32, ptr %25, align 4, !tbaa !9
  %904 = load i32, ptr %23, align 4, !tbaa !9
  %905 = sub i32 %904, %903
  store i32 %905, ptr %23, align 4, !tbaa !9
  %906 = load i32, ptr %25, align 4, !tbaa !9
  %907 = lshr i32 %906, 15
  %908 = load i32, ptr %23, align 4, !tbaa !9
  %909 = xor i32 %908, %907
  store i32 %909, ptr %23, align 4, !tbaa !9
  br label %910

910:                                              ; preds = %819
  br label %911

911:                                              ; preds = %910
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  br label %912

912:                                              ; preds = %911
  br label %913

913:                                              ; preds = %912
  br label %914

914:                                              ; preds = %913
  br label %915

915:                                              ; preds = %914
  br label %916

916:                                              ; preds = %915
  %917 = load i32, ptr %23, align 4, !tbaa !9
  %918 = load ptr, ptr %14, align 8, !tbaa !5
  %919 = getelementptr inbounds %struct.bpf_map, ptr %918, i32 0, i32 2
  %920 = getelementptr inbounds %struct.UT_hash_handle, ptr %919, i32 0, i32 7
  store i32 %917, ptr %920, align 4, !tbaa !26
  %921 = load ptr, ptr %14, align 8, !tbaa !5
  %922 = getelementptr inbounds %struct.bpf_map, ptr %921, i32 0, i32 0
  %923 = load ptr, ptr %922, align 8, !tbaa !31
  %924 = load ptr, ptr %14, align 8, !tbaa !5
  %925 = getelementptr inbounds %struct.bpf_map, ptr %924, i32 0, i32 2
  %926 = getelementptr inbounds %struct.UT_hash_handle, ptr %925, i32 0, i32 5
  store ptr %923, ptr %926, align 8, !tbaa !28
  %927 = load i32, ptr %10, align 4, !tbaa !9
  %928 = load ptr, ptr %14, align 8, !tbaa !5
  %929 = getelementptr inbounds %struct.bpf_map, ptr %928, i32 0, i32 2
  %930 = getelementptr inbounds %struct.UT_hash_handle, ptr %929, i32 0, i32 6
  store i32 %927, ptr %930, align 8, !tbaa !27
  %931 = load ptr, ptr %8, align 8, !tbaa !5
  %932 = load ptr, ptr %931, align 8, !tbaa !5
  %933 = icmp ne ptr %932, null
  br i1 %933, label %1017, label %934

934:                                              ; preds = %916
  %935 = load ptr, ptr %14, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.bpf_map, ptr %935, i32 0, i32 2
  %937 = getelementptr inbounds %struct.UT_hash_handle, ptr %936, i32 0, i32 2
  store ptr null, ptr %937, align 8, !tbaa !33
  %938 = load ptr, ptr %14, align 8, !tbaa !5
  %939 = getelementptr inbounds %struct.bpf_map, ptr %938, i32 0, i32 2
  %940 = getelementptr inbounds %struct.UT_hash_handle, ptr %939, i32 0, i32 1
  store ptr null, ptr %940, align 8, !tbaa !34
  br label %941

941:                                              ; preds = %934
  %942 = call noalias ptr @malloc(i64 noundef 64) #10
  %943 = load ptr, ptr %14, align 8, !tbaa !5
  %944 = getelementptr inbounds %struct.bpf_map, ptr %943, i32 0, i32 2
  %945 = getelementptr inbounds %struct.UT_hash_handle, ptr %944, i32 0, i32 0
  store ptr %942, ptr %945, align 8, !tbaa !16
  %946 = load ptr, ptr %14, align 8, !tbaa !5
  %947 = getelementptr inbounds %struct.bpf_map, ptr %946, i32 0, i32 2
  %948 = getelementptr inbounds %struct.UT_hash_handle, ptr %947, i32 0, i32 0
  %949 = load ptr, ptr %948, align 8, !tbaa !16
  %950 = icmp ne ptr %949, null
  br i1 %950, label %952, label %951

951:                                              ; preds = %941
  call void @exit(i32 noundef -1) #11
  unreachable

952:                                              ; preds = %941
  %953 = load ptr, ptr %14, align 8, !tbaa !5
  %954 = getelementptr inbounds %struct.bpf_map, ptr %953, i32 0, i32 2
  %955 = getelementptr inbounds %struct.UT_hash_handle, ptr %954, i32 0, i32 0
  %956 = load ptr, ptr %955, align 8, !tbaa !16
  call void @llvm.memset.p0.i64(ptr align 8 %956, i8 0, i64 64, i1 false)
  %957 = load ptr, ptr %14, align 8, !tbaa !5
  %958 = getelementptr inbounds %struct.bpf_map, ptr %957, i32 0, i32 2
  %959 = load ptr, ptr %14, align 8, !tbaa !5
  %960 = getelementptr inbounds %struct.bpf_map, ptr %959, i32 0, i32 2
  %961 = getelementptr inbounds %struct.UT_hash_handle, ptr %960, i32 0, i32 0
  %962 = load ptr, ptr %961, align 8, !tbaa !16
  %963 = getelementptr inbounds %struct.UT_hash_table, ptr %962, i32 0, i32 4
  store ptr %958, ptr %963, align 8, !tbaa !35
  %964 = load ptr, ptr %14, align 8, !tbaa !5
  %965 = getelementptr inbounds %struct.bpf_map, ptr %964, i32 0, i32 2
  %966 = getelementptr inbounds %struct.UT_hash_handle, ptr %965, i32 0, i32 0
  %967 = load ptr, ptr %966, align 8, !tbaa !16
  %968 = getelementptr inbounds %struct.UT_hash_table, ptr %967, i32 0, i32 1
  store i32 32, ptr %968, align 8, !tbaa !19
  %969 = load ptr, ptr %14, align 8, !tbaa !5
  %970 = getelementptr inbounds %struct.bpf_map, ptr %969, i32 0, i32 2
  %971 = getelementptr inbounds %struct.UT_hash_handle, ptr %970, i32 0, i32 0
  %972 = load ptr, ptr %971, align 8, !tbaa !16
  %973 = getelementptr inbounds %struct.UT_hash_table, ptr %972, i32 0, i32 2
  store i32 5, ptr %973, align 4, !tbaa !36
  %974 = load ptr, ptr %14, align 8, !tbaa !5
  %975 = getelementptr inbounds %struct.bpf_map, ptr %974, i32 0, i32 2
  %976 = load ptr, ptr %14, align 8, !tbaa !5
  %977 = ptrtoint ptr %975 to i64
  %978 = ptrtoint ptr %976 to i64
  %979 = sub i64 %977, %978
  %980 = load ptr, ptr %14, align 8, !tbaa !5
  %981 = getelementptr inbounds %struct.bpf_map, ptr %980, i32 0, i32 2
  %982 = getelementptr inbounds %struct.UT_hash_handle, ptr %981, i32 0, i32 0
  %983 = load ptr, ptr %982, align 8, !tbaa !16
  %984 = getelementptr inbounds %struct.UT_hash_table, ptr %983, i32 0, i32 5
  store i64 %979, ptr %984, align 8, !tbaa !25
  %985 = call noalias ptr @malloc(i64 noundef 512) #10
  %986 = load ptr, ptr %14, align 8, !tbaa !5
  %987 = getelementptr inbounds %struct.bpf_map, ptr %986, i32 0, i32 2
  %988 = getelementptr inbounds %struct.UT_hash_handle, ptr %987, i32 0, i32 0
  %989 = load ptr, ptr %988, align 8, !tbaa !16
  %990 = getelementptr inbounds %struct.UT_hash_table, ptr %989, i32 0, i32 0
  store ptr %985, ptr %990, align 8, !tbaa !22
  %991 = load ptr, ptr %14, align 8, !tbaa !5
  %992 = getelementptr inbounds %struct.bpf_map, ptr %991, i32 0, i32 2
  %993 = getelementptr inbounds %struct.UT_hash_handle, ptr %992, i32 0, i32 0
  %994 = load ptr, ptr %993, align 8, !tbaa !16
  %995 = getelementptr inbounds %struct.UT_hash_table, ptr %994, i32 0, i32 10
  store i32 -1609490463, ptr %995, align 8, !tbaa !37
  %996 = load ptr, ptr %14, align 8, !tbaa !5
  %997 = getelementptr inbounds %struct.bpf_map, ptr %996, i32 0, i32 2
  %998 = getelementptr inbounds %struct.UT_hash_handle, ptr %997, i32 0, i32 0
  %999 = load ptr, ptr %998, align 8, !tbaa !16
  %1000 = getelementptr inbounds %struct.UT_hash_table, ptr %999, i32 0, i32 0
  %1001 = load ptr, ptr %1000, align 8, !tbaa !22
  %1002 = icmp ne ptr %1001, null
  br i1 %1002, label %1004, label %1003

1003:                                             ; preds = %952
  call void @exit(i32 noundef -1) #11
  unreachable

1004:                                             ; preds = %952
  %1005 = load ptr, ptr %14, align 8, !tbaa !5
  %1006 = getelementptr inbounds %struct.bpf_map, ptr %1005, i32 0, i32 2
  %1007 = getelementptr inbounds %struct.UT_hash_handle, ptr %1006, i32 0, i32 0
  %1008 = load ptr, ptr %1007, align 8, !tbaa !16
  %1009 = getelementptr inbounds %struct.UT_hash_table, ptr %1008, i32 0, i32 0
  %1010 = load ptr, ptr %1009, align 8, !tbaa !22
  call void @llvm.memset.p0.i64(ptr align 8 %1010, i8 0, i64 512, i1 false)
  br label %1011

1011:                                             ; preds = %1004
  br label %1012

1012:                                             ; preds = %1011
  br label %1013

1013:                                             ; preds = %1012
  br label %1014

1014:                                             ; preds = %1013
  %1015 = load ptr, ptr %14, align 8, !tbaa !5
  %1016 = load ptr, ptr %8, align 8, !tbaa !5
  store ptr %1015, ptr %1016, align 8, !tbaa !5
  br label %1068

1017:                                             ; preds = %916
  %1018 = load ptr, ptr %8, align 8, !tbaa !5
  %1019 = load ptr, ptr %1018, align 8, !tbaa !5
  %1020 = getelementptr inbounds %struct.bpf_map, ptr %1019, i32 0, i32 2
  %1021 = getelementptr inbounds %struct.UT_hash_handle, ptr %1020, i32 0, i32 0
  %1022 = load ptr, ptr %1021, align 8, !tbaa !16
  %1023 = load ptr, ptr %14, align 8, !tbaa !5
  %1024 = getelementptr inbounds %struct.bpf_map, ptr %1023, i32 0, i32 2
  %1025 = getelementptr inbounds %struct.UT_hash_handle, ptr %1024, i32 0, i32 0
  store ptr %1022, ptr %1025, align 8, !tbaa !16
  br label %1026

1026:                                             ; preds = %1017
  %1027 = load ptr, ptr %14, align 8, !tbaa !5
  %1028 = getelementptr inbounds %struct.bpf_map, ptr %1027, i32 0, i32 2
  %1029 = getelementptr inbounds %struct.UT_hash_handle, ptr %1028, i32 0, i32 2
  store ptr null, ptr %1029, align 8, !tbaa !33
  %1030 = load ptr, ptr %8, align 8, !tbaa !5
  %1031 = load ptr, ptr %1030, align 8, !tbaa !5
  %1032 = getelementptr inbounds %struct.bpf_map, ptr %1031, i32 0, i32 2
  %1033 = getelementptr inbounds %struct.UT_hash_handle, ptr %1032, i32 0, i32 0
  %1034 = load ptr, ptr %1033, align 8, !tbaa !16
  %1035 = getelementptr inbounds %struct.UT_hash_table, ptr %1034, i32 0, i32 4
  %1036 = load ptr, ptr %1035, align 8, !tbaa !35
  %1037 = load ptr, ptr %8, align 8, !tbaa !5
  %1038 = load ptr, ptr %1037, align 8, !tbaa !5
  %1039 = getelementptr inbounds %struct.bpf_map, ptr %1038, i32 0, i32 2
  %1040 = getelementptr inbounds %struct.UT_hash_handle, ptr %1039, i32 0, i32 0
  %1041 = load ptr, ptr %1040, align 8, !tbaa !16
  %1042 = getelementptr inbounds %struct.UT_hash_table, ptr %1041, i32 0, i32 5
  %1043 = load i64, ptr %1042, align 8, !tbaa !25
  %1044 = sub i64 0, %1043
  %1045 = getelementptr inbounds i8, ptr %1036, i64 %1044
  %1046 = load ptr, ptr %14, align 8, !tbaa !5
  %1047 = getelementptr inbounds %struct.bpf_map, ptr %1046, i32 0, i32 2
  %1048 = getelementptr inbounds %struct.UT_hash_handle, ptr %1047, i32 0, i32 1
  store ptr %1045, ptr %1048, align 8, !tbaa !34
  %1049 = load ptr, ptr %14, align 8, !tbaa !5
  %1050 = load ptr, ptr %8, align 8, !tbaa !5
  %1051 = load ptr, ptr %1050, align 8, !tbaa !5
  %1052 = getelementptr inbounds %struct.bpf_map, ptr %1051, i32 0, i32 2
  %1053 = getelementptr inbounds %struct.UT_hash_handle, ptr %1052, i32 0, i32 0
  %1054 = load ptr, ptr %1053, align 8, !tbaa !16
  %1055 = getelementptr inbounds %struct.UT_hash_table, ptr %1054, i32 0, i32 4
  %1056 = load ptr, ptr %1055, align 8, !tbaa !35
  %1057 = getelementptr inbounds %struct.UT_hash_handle, ptr %1056, i32 0, i32 2
  store ptr %1049, ptr %1057, align 8, !tbaa !38
  %1058 = load ptr, ptr %14, align 8, !tbaa !5
  %1059 = getelementptr inbounds %struct.bpf_map, ptr %1058, i32 0, i32 2
  %1060 = load ptr, ptr %8, align 8, !tbaa !5
  %1061 = load ptr, ptr %1060, align 8, !tbaa !5
  %1062 = getelementptr inbounds %struct.bpf_map, ptr %1061, i32 0, i32 2
  %1063 = getelementptr inbounds %struct.UT_hash_handle, ptr %1062, i32 0, i32 0
  %1064 = load ptr, ptr %1063, align 8, !tbaa !16
  %1065 = getelementptr inbounds %struct.UT_hash_table, ptr %1064, i32 0, i32 4
  store ptr %1059, ptr %1065, align 8, !tbaa !35
  br label %1066

1066:                                             ; preds = %1026
  br label %1067

1067:                                             ; preds = %1066
  br label %1068

1068:                                             ; preds = %1067, %1014
  br label %1069

1069:                                             ; preds = %1068
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  %1070 = load ptr, ptr %8, align 8, !tbaa !5
  %1071 = load ptr, ptr %1070, align 8, !tbaa !5
  %1072 = getelementptr inbounds %struct.bpf_map, ptr %1071, i32 0, i32 2
  %1073 = getelementptr inbounds %struct.UT_hash_handle, ptr %1072, i32 0, i32 0
  %1074 = load ptr, ptr %1073, align 8, !tbaa !16
  %1075 = getelementptr inbounds %struct.UT_hash_table, ptr %1074, i32 0, i32 3
  %1076 = load i32, ptr %1075, align 8, !tbaa !39
  %1077 = add i32 %1076, 1
  store i32 %1077, ptr %1075, align 8, !tbaa !39
  br label %1078

1078:                                             ; preds = %1069
  %1079 = load i32, ptr %23, align 4, !tbaa !9
  %1080 = load ptr, ptr %8, align 8, !tbaa !5
  %1081 = load ptr, ptr %1080, align 8, !tbaa !5
  %1082 = getelementptr inbounds %struct.bpf_map, ptr %1081, i32 0, i32 2
  %1083 = getelementptr inbounds %struct.UT_hash_handle, ptr %1082, i32 0, i32 0
  %1084 = load ptr, ptr %1083, align 8, !tbaa !16
  %1085 = getelementptr inbounds %struct.UT_hash_table, ptr %1084, i32 0, i32 1
  %1086 = load i32, ptr %1085, align 8, !tbaa !19
  %1087 = sub i32 %1086, 1
  %1088 = and i32 %1079, %1087
  store i32 %1088, ptr %28, align 4, !tbaa !9
  br label %1089

1089:                                             ; preds = %1078
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %1092 = load ptr, ptr %8, align 8, !tbaa !5
  %1093 = load ptr, ptr %1092, align 8, !tbaa !5
  %1094 = getelementptr inbounds %struct.bpf_map, ptr %1093, i32 0, i32 2
  %1095 = getelementptr inbounds %struct.UT_hash_handle, ptr %1094, i32 0, i32 0
  %1096 = load ptr, ptr %1095, align 8, !tbaa !16
  %1097 = getelementptr inbounds %struct.UT_hash_table, ptr %1096, i32 0, i32 0
  %1098 = load ptr, ptr %1097, align 8, !tbaa !22
  %1099 = load i32, ptr %28, align 4, !tbaa !9
  %1100 = zext i32 %1099 to i64
  %1101 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1098, i64 %1100
  store ptr %1101, ptr %29, align 8, !tbaa !5
  %1102 = load ptr, ptr %29, align 8, !tbaa !5
  %1103 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1102, i32 0, i32 1
  %1104 = load i32, ptr %1103, align 8, !tbaa !40
  %1105 = add i32 %1104, 1
  store i32 %1105, ptr %1103, align 8, !tbaa !40
  %1106 = load ptr, ptr %29, align 8, !tbaa !5
  %1107 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1106, i32 0, i32 0
  %1108 = load ptr, ptr %1107, align 8, !tbaa !23
  %1109 = load ptr, ptr %14, align 8, !tbaa !5
  %1110 = getelementptr inbounds %struct.bpf_map, ptr %1109, i32 0, i32 2
  %1111 = getelementptr inbounds %struct.UT_hash_handle, ptr %1110, i32 0, i32 4
  store ptr %1108, ptr %1111, align 8, !tbaa !29
  %1112 = load ptr, ptr %14, align 8, !tbaa !5
  %1113 = getelementptr inbounds %struct.bpf_map, ptr %1112, i32 0, i32 2
  %1114 = getelementptr inbounds %struct.UT_hash_handle, ptr %1113, i32 0, i32 3
  store ptr null, ptr %1114, align 8, !tbaa !41
  %1115 = load ptr, ptr %29, align 8, !tbaa !5
  %1116 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1115, i32 0, i32 0
  %1117 = load ptr, ptr %1116, align 8, !tbaa !23
  %1118 = icmp ne ptr %1117, null
  br i1 %1118, label %1119, label %1126

1119:                                             ; preds = %1091
  %1120 = load ptr, ptr %14, align 8, !tbaa !5
  %1121 = getelementptr inbounds %struct.bpf_map, ptr %1120, i32 0, i32 2
  %1122 = load ptr, ptr %29, align 8, !tbaa !5
  %1123 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1122, i32 0, i32 0
  %1124 = load ptr, ptr %1123, align 8, !tbaa !23
  %1125 = getelementptr inbounds %struct.UT_hash_handle, ptr %1124, i32 0, i32 3
  store ptr %1121, ptr %1125, align 8, !tbaa !42
  br label %1126

1126:                                             ; preds = %1119, %1091
  %1127 = load ptr, ptr %14, align 8, !tbaa !5
  %1128 = getelementptr inbounds %struct.bpf_map, ptr %1127, i32 0, i32 2
  %1129 = load ptr, ptr %29, align 8, !tbaa !5
  %1130 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1129, i32 0, i32 0
  store ptr %1128, ptr %1130, align 8, !tbaa !23
  %1131 = load ptr, ptr %29, align 8, !tbaa !5
  %1132 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1131, i32 0, i32 1
  %1133 = load i32, ptr %1132, align 8, !tbaa !40
  %1134 = load ptr, ptr %29, align 8, !tbaa !5
  %1135 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1134, i32 0, i32 2
  %1136 = load i32, ptr %1135, align 4, !tbaa !43
  %1137 = add i32 %1136, 1
  %1138 = mul i32 %1137, 10
  %1139 = icmp uge i32 %1133, %1138
  br i1 %1139, label %1140, label %1396

1140:                                             ; preds = %1126
  %1141 = load ptr, ptr %14, align 8, !tbaa !5
  %1142 = getelementptr inbounds %struct.bpf_map, ptr %1141, i32 0, i32 2
  %1143 = getelementptr inbounds %struct.UT_hash_handle, ptr %1142, i32 0, i32 0
  %1144 = load ptr, ptr %1143, align 8, !tbaa !16
  %1145 = getelementptr inbounds %struct.UT_hash_table, ptr %1144, i32 0, i32 9
  %1146 = load i32, ptr %1145, align 4, !tbaa !44
  %1147 = icmp ne i32 %1146, 0
  br i1 %1147, label %1396, label %1148

1148:                                             ; preds = %1140
  br label %1149

1149:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %1150 = load ptr, ptr %14, align 8, !tbaa !5
  %1151 = getelementptr inbounds %struct.bpf_map, ptr %1150, i32 0, i32 2
  %1152 = getelementptr inbounds %struct.UT_hash_handle, ptr %1151, i32 0, i32 0
  %1153 = load ptr, ptr %1152, align 8, !tbaa !16
  %1154 = getelementptr inbounds %struct.UT_hash_table, ptr %1153, i32 0, i32 1
  %1155 = load i32, ptr %1154, align 8, !tbaa !19
  %1156 = zext i32 %1155 to i64
  %1157 = mul i64 2, %1156
  %1158 = mul i64 %1157, 16
  %1159 = call noalias ptr @malloc(i64 noundef %1158) #10
  store ptr %1159, ptr %34, align 8, !tbaa !5
  %1160 = load ptr, ptr %34, align 8, !tbaa !5
  %1161 = icmp ne ptr %1160, null
  br i1 %1161, label %1163, label %1162

1162:                                             ; preds = %1149
  call void @exit(i32 noundef -1) #11
  unreachable

1163:                                             ; preds = %1149
  %1164 = load ptr, ptr %34, align 8, !tbaa !5
  %1165 = load ptr, ptr %14, align 8, !tbaa !5
  %1166 = getelementptr inbounds %struct.bpf_map, ptr %1165, i32 0, i32 2
  %1167 = getelementptr inbounds %struct.UT_hash_handle, ptr %1166, i32 0, i32 0
  %1168 = load ptr, ptr %1167, align 8, !tbaa !16
  %1169 = getelementptr inbounds %struct.UT_hash_table, ptr %1168, i32 0, i32 1
  %1170 = load i32, ptr %1169, align 8, !tbaa !19
  %1171 = zext i32 %1170 to i64
  %1172 = mul i64 2, %1171
  %1173 = mul i64 %1172, 16
  call void @llvm.memset.p0.i64(ptr align 8 %1164, i8 0, i64 %1173, i1 false)
  %1174 = load ptr, ptr %14, align 8, !tbaa !5
  %1175 = getelementptr inbounds %struct.bpf_map, ptr %1174, i32 0, i32 2
  %1176 = getelementptr inbounds %struct.UT_hash_handle, ptr %1175, i32 0, i32 0
  %1177 = load ptr, ptr %1176, align 8, !tbaa !16
  %1178 = getelementptr inbounds %struct.UT_hash_table, ptr %1177, i32 0, i32 3
  %1179 = load i32, ptr %1178, align 8, !tbaa !39
  %1180 = load ptr, ptr %14, align 8, !tbaa !5
  %1181 = getelementptr inbounds %struct.bpf_map, ptr %1180, i32 0, i32 2
  %1182 = getelementptr inbounds %struct.UT_hash_handle, ptr %1181, i32 0, i32 0
  %1183 = load ptr, ptr %1182, align 8, !tbaa !16
  %1184 = getelementptr inbounds %struct.UT_hash_table, ptr %1183, i32 0, i32 2
  %1185 = load i32, ptr %1184, align 4, !tbaa !36
  %1186 = add i32 %1185, 1
  %1187 = lshr i32 %1179, %1186
  %1188 = load ptr, ptr %14, align 8, !tbaa !5
  %1189 = getelementptr inbounds %struct.bpf_map, ptr %1188, i32 0, i32 2
  %1190 = getelementptr inbounds %struct.UT_hash_handle, ptr %1189, i32 0, i32 0
  %1191 = load ptr, ptr %1190, align 8, !tbaa !16
  %1192 = getelementptr inbounds %struct.UT_hash_table, ptr %1191, i32 0, i32 3
  %1193 = load i32, ptr %1192, align 8, !tbaa !39
  %1194 = load ptr, ptr %14, align 8, !tbaa !5
  %1195 = getelementptr inbounds %struct.bpf_map, ptr %1194, i32 0, i32 2
  %1196 = getelementptr inbounds %struct.UT_hash_handle, ptr %1195, i32 0, i32 0
  %1197 = load ptr, ptr %1196, align 8, !tbaa !16
  %1198 = getelementptr inbounds %struct.UT_hash_table, ptr %1197, i32 0, i32 1
  %1199 = load i32, ptr %1198, align 8, !tbaa !19
  %1200 = mul i32 %1199, 2
  %1201 = sub i32 %1200, 1
  %1202 = and i32 %1193, %1201
  %1203 = icmp ne i32 %1202, 0
  %1204 = zext i1 %1203 to i64
  %1205 = select i1 %1203, i32 1, i32 0
  %1206 = add i32 %1187, %1205
  %1207 = load ptr, ptr %14, align 8, !tbaa !5
  %1208 = getelementptr inbounds %struct.bpf_map, ptr %1207, i32 0, i32 2
  %1209 = getelementptr inbounds %struct.UT_hash_handle, ptr %1208, i32 0, i32 0
  %1210 = load ptr, ptr %1209, align 8, !tbaa !16
  %1211 = getelementptr inbounds %struct.UT_hash_table, ptr %1210, i32 0, i32 6
  store i32 %1206, ptr %1211, align 8, !tbaa !45
  %1212 = load ptr, ptr %14, align 8, !tbaa !5
  %1213 = getelementptr inbounds %struct.bpf_map, ptr %1212, i32 0, i32 2
  %1214 = getelementptr inbounds %struct.UT_hash_handle, ptr %1213, i32 0, i32 0
  %1215 = load ptr, ptr %1214, align 8, !tbaa !16
  %1216 = getelementptr inbounds %struct.UT_hash_table, ptr %1215, i32 0, i32 7
  store i32 0, ptr %1216, align 4, !tbaa !46
  store i32 0, ptr %31, align 4, !tbaa !9
  br label %1217

1217:                                             ; preds = %1319, %1163
  %1218 = load i32, ptr %31, align 4, !tbaa !9
  %1219 = load ptr, ptr %14, align 8, !tbaa !5
  %1220 = getelementptr inbounds %struct.bpf_map, ptr %1219, i32 0, i32 2
  %1221 = getelementptr inbounds %struct.UT_hash_handle, ptr %1220, i32 0, i32 0
  %1222 = load ptr, ptr %1221, align 8, !tbaa !16
  %1223 = getelementptr inbounds %struct.UT_hash_table, ptr %1222, i32 0, i32 1
  %1224 = load i32, ptr %1223, align 8, !tbaa !19
  %1225 = icmp ult i32 %1218, %1224
  br i1 %1225, label %1226, label %1322

1226:                                             ; preds = %1217
  %1227 = load ptr, ptr %14, align 8, !tbaa !5
  %1228 = getelementptr inbounds %struct.bpf_map, ptr %1227, i32 0, i32 2
  %1229 = getelementptr inbounds %struct.UT_hash_handle, ptr %1228, i32 0, i32 0
  %1230 = load ptr, ptr %1229, align 8, !tbaa !16
  %1231 = getelementptr inbounds %struct.UT_hash_table, ptr %1230, i32 0, i32 0
  %1232 = load ptr, ptr %1231, align 8, !tbaa !22
  %1233 = load i32, ptr %31, align 4, !tbaa !9
  %1234 = zext i32 %1233 to i64
  %1235 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1232, i64 %1234
  %1236 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1235, i32 0, i32 0
  %1237 = load ptr, ptr %1236, align 8, !tbaa !23
  store ptr %1237, ptr %32, align 8, !tbaa !5
  br label %1238

1238:                                             ; preds = %1313, %1226
  %1239 = load ptr, ptr %32, align 8, !tbaa !5
  %1240 = icmp ne ptr %1239, null
  br i1 %1240, label %1241, label %1318

1241:                                             ; preds = %1238
  %1242 = load ptr, ptr %32, align 8, !tbaa !5
  %1243 = getelementptr inbounds %struct.UT_hash_handle, ptr %1242, i32 0, i32 4
  %1244 = load ptr, ptr %1243, align 8, !tbaa !47
  store ptr %1244, ptr %33, align 8, !tbaa !5
  br label %1245

1245:                                             ; preds = %1241
  %1246 = load ptr, ptr %32, align 8, !tbaa !5
  %1247 = getelementptr inbounds %struct.UT_hash_handle, ptr %1246, i32 0, i32 7
  %1248 = load i32, ptr %1247, align 4, !tbaa !48
  %1249 = load ptr, ptr %14, align 8, !tbaa !5
  %1250 = getelementptr inbounds %struct.bpf_map, ptr %1249, i32 0, i32 2
  %1251 = getelementptr inbounds %struct.UT_hash_handle, ptr %1250, i32 0, i32 0
  %1252 = load ptr, ptr %1251, align 8, !tbaa !16
  %1253 = getelementptr inbounds %struct.UT_hash_table, ptr %1252, i32 0, i32 1
  %1254 = load i32, ptr %1253, align 8, !tbaa !19
  %1255 = mul i32 %1254, 2
  %1256 = sub i32 %1255, 1
  %1257 = and i32 %1248, %1256
  store i32 %1257, ptr %30, align 4, !tbaa !9
  br label %1258

1258:                                             ; preds = %1245
  br label %1259

1259:                                             ; preds = %1258
  %1260 = load ptr, ptr %34, align 8, !tbaa !5
  %1261 = load i32, ptr %30, align 4, !tbaa !9
  %1262 = zext i32 %1261 to i64
  %1263 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1260, i64 %1262
  store ptr %1263, ptr %35, align 8, !tbaa !5
  %1264 = load ptr, ptr %35, align 8, !tbaa !5
  %1265 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1264, i32 0, i32 1
  %1266 = load i32, ptr %1265, align 8, !tbaa !40
  %1267 = add i32 %1266, 1
  store i32 %1267, ptr %1265, align 8, !tbaa !40
  %1268 = load ptr, ptr %14, align 8, !tbaa !5
  %1269 = getelementptr inbounds %struct.bpf_map, ptr %1268, i32 0, i32 2
  %1270 = getelementptr inbounds %struct.UT_hash_handle, ptr %1269, i32 0, i32 0
  %1271 = load ptr, ptr %1270, align 8, !tbaa !16
  %1272 = getelementptr inbounds %struct.UT_hash_table, ptr %1271, i32 0, i32 6
  %1273 = load i32, ptr %1272, align 8, !tbaa !45
  %1274 = icmp ugt i32 %1267, %1273
  br i1 %1274, label %1275, label %1295

1275:                                             ; preds = %1259
  %1276 = load ptr, ptr %14, align 8, !tbaa !5
  %1277 = getelementptr inbounds %struct.bpf_map, ptr %1276, i32 0, i32 2
  %1278 = getelementptr inbounds %struct.UT_hash_handle, ptr %1277, i32 0, i32 0
  %1279 = load ptr, ptr %1278, align 8, !tbaa !16
  %1280 = getelementptr inbounds %struct.UT_hash_table, ptr %1279, i32 0, i32 7
  %1281 = load i32, ptr %1280, align 4, !tbaa !46
  %1282 = add i32 %1281, 1
  store i32 %1282, ptr %1280, align 4, !tbaa !46
  %1283 = load ptr, ptr %35, align 8, !tbaa !5
  %1284 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1283, i32 0, i32 1
  %1285 = load i32, ptr %1284, align 8, !tbaa !40
  %1286 = load ptr, ptr %14, align 8, !tbaa !5
  %1287 = getelementptr inbounds %struct.bpf_map, ptr %1286, i32 0, i32 2
  %1288 = getelementptr inbounds %struct.UT_hash_handle, ptr %1287, i32 0, i32 0
  %1289 = load ptr, ptr %1288, align 8, !tbaa !16
  %1290 = getelementptr inbounds %struct.UT_hash_table, ptr %1289, i32 0, i32 6
  %1291 = load i32, ptr %1290, align 8, !tbaa !45
  %1292 = udiv i32 %1285, %1291
  %1293 = load ptr, ptr %35, align 8, !tbaa !5
  %1294 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1293, i32 0, i32 2
  store i32 %1292, ptr %1294, align 4, !tbaa !43
  br label %1295

1295:                                             ; preds = %1275, %1259
  %1296 = load ptr, ptr %32, align 8, !tbaa !5
  %1297 = getelementptr inbounds %struct.UT_hash_handle, ptr %1296, i32 0, i32 3
  store ptr null, ptr %1297, align 8, !tbaa !42
  %1298 = load ptr, ptr %35, align 8, !tbaa !5
  %1299 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1298, i32 0, i32 0
  %1300 = load ptr, ptr %1299, align 8, !tbaa !23
  %1301 = load ptr, ptr %32, align 8, !tbaa !5
  %1302 = getelementptr inbounds %struct.UT_hash_handle, ptr %1301, i32 0, i32 4
  store ptr %1300, ptr %1302, align 8, !tbaa !47
  %1303 = load ptr, ptr %35, align 8, !tbaa !5
  %1304 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1303, i32 0, i32 0
  %1305 = load ptr, ptr %1304, align 8, !tbaa !23
  %1306 = icmp ne ptr %1305, null
  br i1 %1306, label %1307, label %1313

1307:                                             ; preds = %1295
  %1308 = load ptr, ptr %32, align 8, !tbaa !5
  %1309 = load ptr, ptr %35, align 8, !tbaa !5
  %1310 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1309, i32 0, i32 0
  %1311 = load ptr, ptr %1310, align 8, !tbaa !23
  %1312 = getelementptr inbounds %struct.UT_hash_handle, ptr %1311, i32 0, i32 3
  store ptr %1308, ptr %1312, align 8, !tbaa !42
  br label %1313

1313:                                             ; preds = %1307, %1295
  %1314 = load ptr, ptr %32, align 8, !tbaa !5
  %1315 = load ptr, ptr %35, align 8, !tbaa !5
  %1316 = getelementptr inbounds %struct.UT_hash_bucket, ptr %1315, i32 0, i32 0
  store ptr %1314, ptr %1316, align 8, !tbaa !23
  %1317 = load ptr, ptr %33, align 8, !tbaa !5
  store ptr %1317, ptr %32, align 8, !tbaa !5
  br label %1238, !llvm.loop !49

1318:                                             ; preds = %1238
  br label %1319

1319:                                             ; preds = %1318
  %1320 = load i32, ptr %31, align 4, !tbaa !9
  %1321 = add i32 %1320, 1
  store i32 %1321, ptr %31, align 4, !tbaa !9
  br label %1217, !llvm.loop !50

1322:                                             ; preds = %1217
  %1323 = load ptr, ptr %14, align 8, !tbaa !5
  %1324 = getelementptr inbounds %struct.bpf_map, ptr %1323, i32 0, i32 2
  %1325 = getelementptr inbounds %struct.UT_hash_handle, ptr %1324, i32 0, i32 0
  %1326 = load ptr, ptr %1325, align 8, !tbaa !16
  %1327 = getelementptr inbounds %struct.UT_hash_table, ptr %1326, i32 0, i32 0
  %1328 = load ptr, ptr %1327, align 8, !tbaa !22
  call void @free(ptr noundef %1328) #8
  %1329 = load ptr, ptr %14, align 8, !tbaa !5
  %1330 = getelementptr inbounds %struct.bpf_map, ptr %1329, i32 0, i32 2
  %1331 = getelementptr inbounds %struct.UT_hash_handle, ptr %1330, i32 0, i32 0
  %1332 = load ptr, ptr %1331, align 8, !tbaa !16
  %1333 = getelementptr inbounds %struct.UT_hash_table, ptr %1332, i32 0, i32 1
  %1334 = load i32, ptr %1333, align 8, !tbaa !19
  %1335 = mul i32 %1334, 2
  store i32 %1335, ptr %1333, align 8, !tbaa !19
  %1336 = load ptr, ptr %14, align 8, !tbaa !5
  %1337 = getelementptr inbounds %struct.bpf_map, ptr %1336, i32 0, i32 2
  %1338 = getelementptr inbounds %struct.UT_hash_handle, ptr %1337, i32 0, i32 0
  %1339 = load ptr, ptr %1338, align 8, !tbaa !16
  %1340 = getelementptr inbounds %struct.UT_hash_table, ptr %1339, i32 0, i32 2
  %1341 = load i32, ptr %1340, align 4, !tbaa !36
  %1342 = add i32 %1341, 1
  store i32 %1342, ptr %1340, align 4, !tbaa !36
  %1343 = load ptr, ptr %34, align 8, !tbaa !5
  %1344 = load ptr, ptr %14, align 8, !tbaa !5
  %1345 = getelementptr inbounds %struct.bpf_map, ptr %1344, i32 0, i32 2
  %1346 = getelementptr inbounds %struct.UT_hash_handle, ptr %1345, i32 0, i32 0
  %1347 = load ptr, ptr %1346, align 8, !tbaa !16
  %1348 = getelementptr inbounds %struct.UT_hash_table, ptr %1347, i32 0, i32 0
  store ptr %1343, ptr %1348, align 8, !tbaa !22
  %1349 = load ptr, ptr %14, align 8, !tbaa !5
  %1350 = getelementptr inbounds %struct.bpf_map, ptr %1349, i32 0, i32 2
  %1351 = getelementptr inbounds %struct.UT_hash_handle, ptr %1350, i32 0, i32 0
  %1352 = load ptr, ptr %1351, align 8, !tbaa !16
  %1353 = getelementptr inbounds %struct.UT_hash_table, ptr %1352, i32 0, i32 7
  %1354 = load i32, ptr %1353, align 4, !tbaa !46
  %1355 = load ptr, ptr %14, align 8, !tbaa !5
  %1356 = getelementptr inbounds %struct.bpf_map, ptr %1355, i32 0, i32 2
  %1357 = getelementptr inbounds %struct.UT_hash_handle, ptr %1356, i32 0, i32 0
  %1358 = load ptr, ptr %1357, align 8, !tbaa !16
  %1359 = getelementptr inbounds %struct.UT_hash_table, ptr %1358, i32 0, i32 3
  %1360 = load i32, ptr %1359, align 8, !tbaa !39
  %1361 = lshr i32 %1360, 1
  %1362 = icmp ugt i32 %1354, %1361
  br i1 %1362, label %1363, label %1371

1363:                                             ; preds = %1322
  %1364 = load ptr, ptr %14, align 8, !tbaa !5
  %1365 = getelementptr inbounds %struct.bpf_map, ptr %1364, i32 0, i32 2
  %1366 = getelementptr inbounds %struct.UT_hash_handle, ptr %1365, i32 0, i32 0
  %1367 = load ptr, ptr %1366, align 8, !tbaa !16
  %1368 = getelementptr inbounds %struct.UT_hash_table, ptr %1367, i32 0, i32 8
  %1369 = load i32, ptr %1368, align 8, !tbaa !51
  %1370 = add i32 %1369, 1
  br label %1372

1371:                                             ; preds = %1322
  br label %1372

1372:                                             ; preds = %1371, %1363
  %1373 = phi i32 [ %1370, %1363 ], [ 0, %1371 ]
  %1374 = load ptr, ptr %14, align 8, !tbaa !5
  %1375 = getelementptr inbounds %struct.bpf_map, ptr %1374, i32 0, i32 2
  %1376 = getelementptr inbounds %struct.UT_hash_handle, ptr %1375, i32 0, i32 0
  %1377 = load ptr, ptr %1376, align 8, !tbaa !16
  %1378 = getelementptr inbounds %struct.UT_hash_table, ptr %1377, i32 0, i32 8
  store i32 %1373, ptr %1378, align 8, !tbaa !51
  %1379 = load ptr, ptr %14, align 8, !tbaa !5
  %1380 = getelementptr inbounds %struct.bpf_map, ptr %1379, i32 0, i32 2
  %1381 = getelementptr inbounds %struct.UT_hash_handle, ptr %1380, i32 0, i32 0
  %1382 = load ptr, ptr %1381, align 8, !tbaa !16
  %1383 = getelementptr inbounds %struct.UT_hash_table, ptr %1382, i32 0, i32 8
  %1384 = load i32, ptr %1383, align 8, !tbaa !51
  %1385 = icmp ugt i32 %1384, 1
  br i1 %1385, label %1386, label %1392

1386:                                             ; preds = %1372
  %1387 = load ptr, ptr %14, align 8, !tbaa !5
  %1388 = getelementptr inbounds %struct.bpf_map, ptr %1387, i32 0, i32 2
  %1389 = getelementptr inbounds %struct.UT_hash_handle, ptr %1388, i32 0, i32 0
  %1390 = load ptr, ptr %1389, align 8, !tbaa !16
  %1391 = getelementptr inbounds %struct.UT_hash_table, ptr %1390, i32 0, i32 9
  store i32 1, ptr %1391, align 4, !tbaa !44
  br label %1392

1392:                                             ; preds = %1386, %1372
  br label %1393

1393:                                             ; preds = %1392
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  br label %1394

1394:                                             ; preds = %1393
  br label %1395

1395:                                             ; preds = %1394
  br label %1396

1396:                                             ; preds = %1395, %1140, %1126
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  br label %1397

1397:                                             ; preds = %1396
  br label %1398

1398:                                             ; preds = %1397
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

1400:                                             ; preds = %1399
  br label %1401

1401:                                             ; preds = %1400
  br label %1402

1402:                                             ; preds = %1401
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  br label %1403

1403:                                             ; preds = %1402
  br label %1404

1404:                                             ; preds = %1403
  br label %1405

1405:                                             ; preds = %1404, %531
  %1406 = load i32, ptr %12, align 4, !tbaa !9
  %1407 = zext i32 %1406 to i64
  %1408 = call noalias ptr @malloc(i64 noundef %1407) #10
  %1409 = load ptr, ptr %14, align 8, !tbaa !5
  %1410 = getelementptr inbounds %struct.bpf_map, ptr %1409, i32 0, i32 1
  store ptr %1408, ptr %1410, align 8, !tbaa !52
  %1411 = load ptr, ptr %14, align 8, !tbaa !5
  %1412 = getelementptr inbounds %struct.bpf_map, ptr %1411, i32 0, i32 1
  %1413 = load ptr, ptr %1412, align 8, !tbaa !52
  %1414 = load ptr, ptr %11, align 8, !tbaa !5
  %1415 = load i32, ptr %12, align 4, !tbaa !9
  %1416 = zext i32 %1415 to i64
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1413, ptr align 1 %1414, i64 %1416, i1 false)
  store i32 0, ptr %7, align 4
  store i32 1, ptr %22, align 4
  br label %1417

1417:                                             ; preds = %1405, %529
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  %1418 = load i32, ptr %7, align 4
  ret i32 %1418
}

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

; Function Attrs: nounwind allocsize(0)
declare noalias ptr @malloc(i64 noundef) #3

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #5

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6

; Function Attrs: nounwind
declare void @free(ptr noundef) #7

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind allocsize(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 #4 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { noreturn nounwind "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 #6 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #7 = { nounwind "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 #8 = { nounwind }
attributes #9 = { nounwind willreturn memory(read) }
attributes #10 = { nounwind allocsize(0) }
attributes #11 = { noreturn 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, !12, i64 0}
!12 = !{!"long long", !7, i64 0}
!13 = !{!7, !7, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = !{!17, !6, i64 16}
!17 = !{!"bpf_map", !6, i64 0, !6, i64 8, !18, i64 16}
!18 = !{!"UT_hash_handle", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !10, i64 48, !10, i64 52}
!19 = !{!20, !10, i64 8}
!20 = !{!"UT_hash_table", !6, i64 0, !10, i64 8, !10, i64 12, !10, i64 16, !6, i64 24, !21, i64 32, !10, i64 40, !10, i64 44, !10, i64 48, !10, i64 52, !10, i64 56}
!21 = !{!"long", !7, i64 0}
!22 = !{!20, !6, i64 0}
!23 = !{!24, !6, i64 0}
!24 = !{!"UT_hash_bucket", !6, i64 0, !10, i64 8, !10, i64 12}
!25 = !{!20, !21, i64 32}
!26 = !{!17, !10, i64 68}
!27 = !{!17, !10, i64 64}
!28 = !{!17, !6, i64 56}
!29 = !{!17, !6, i64 48}
!30 = distinct !{!30, !15}
!31 = !{!17, !6, i64 0}
!32 = distinct !{!32, !15}
!33 = !{!17, !6, i64 32}
!34 = !{!17, !6, i64 24}
!35 = !{!20, !6, i64 24}
!36 = !{!20, !10, i64 12}
!37 = !{!20, !10, i64 56}
!38 = !{!18, !6, i64 16}
!39 = !{!20, !10, i64 16}
!40 = !{!24, !10, i64 8}
!41 = !{!17, !6, i64 40}
!42 = !{!18, !6, i64 24}
!43 = !{!24, !10, i64 12}
!44 = !{!20, !10, i64 52}
!45 = !{!20, !10, i64 40}
!46 = !{!20, !10, i64 44}
!47 = !{!18, !6, i64 32}
!48 = !{!18, !10, i64 52}
!49 = distinct !{!49, !15}
!50 = distinct !{!50, !15}
!51 = !{!20, !10, i64 48}
!52 = !{!17, !6, i64 8}


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

%struct.UT_hash_bucket = type { ptr, i32, i32 }

; Function Attrs: nounwind uwtable
define dso_local i32 @bpf_map_update_elem(ptr nocapture noundef %0, ptr nocapture noundef readonly %1, i32 noundef %2, ptr nocapture noundef readonly %3, i32 noundef %4, i64 noundef %5) local_unnamed_addr #0 {
  %7 = icmp ugt i32 %2, 11
  br i1 %7, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %6, %.lr.ph
  %.0440597 = phi i32 [ %50, %.lr.ph ], [ -17973521, %6 ]
  %.0447596 = phi i32 [ %42, %.lr.ph ], [ -1640531527, %6 ]
  %.0452595 = phi i32 [ %46, %.lr.ph ], [ -1640531527, %6 ]
  %.0461594 = phi i32 [ %52, %.lr.ph ], [ %2, %6 ]
  %.0490593 = phi ptr [ %51, %.lr.ph ], [ %1, %6 ]
  %8 = load i32, ptr %.0490593, align 1
  %9 = getelementptr inbounds i8, ptr %.0490593, i64 4
  %10 = load i32, ptr %9, align 1
  %11 = add i32 %10, %.0452595
  %12 = getelementptr inbounds i8, ptr %.0490593, i64 8
  %13 = load i32, ptr %12, align 1
  %14 = add i32 %13, %.0440597
  %.neg576 = add i32 %8, %.0447596
  %15 = add i32 %11, %14
  %16 = sub i32 %.neg576, %15
  %17 = lshr i32 %14, 13
  %18 = xor i32 %16, %17
  %19 = add i32 %14, %18
  %20 = sub i32 %11, %19
  %21 = shl i32 %18, 8
  %22 = xor i32 %20, %21
  %23 = add i32 %18, %22
  %24 = sub i32 %14, %23
  %25 = lshr i32 %22, 13
  %26 = xor i32 %24, %25
  %27 = add i32 %22, %26
  %28 = sub i32 %18, %27
  %29 = lshr i32 %26, 12
  %30 = xor i32 %28, %29
  %31 = add i32 %26, %30
  %32 = sub i32 %22, %31
  %33 = shl i32 %30, 16
  %34 = xor i32 %32, %33
  %35 = add i32 %30, %34
  %36 = sub i32 %26, %35
  %37 = lshr i32 %34, 5
  %38 = xor i32 %36, %37
  %39 = add i32 %34, %38
  %40 = sub i32 %30, %39
  %41 = lshr i32 %38, 3
  %42 = xor i32 %40, %41
  %43 = add i32 %38, %42
  %44 = sub i32 %34, %43
  %45 = shl i32 %42, 10
  %46 = xor i32 %44, %45
  %47 = add i32 %42, %46
  %48 = sub i32 %38, %47
  %49 = lshr i32 %46, 15
  %50 = xor i32 %48, %49
  %51 = getelementptr inbounds i8, ptr %.0490593, i64 12
  %52 = add i32 %.0461594, -12
  %53 = icmp ugt i32 %52, 11
  br i1 %53, label %.lr.ph, label %._crit_edge, !llvm.loop !5

._crit_edge:                                      ; preds = %.lr.ph, %6
  %.0490.lcssa = phi ptr [ %1, %6 ], [ %51, %.lr.ph ]
  %.0461.lcssa = phi i32 [ %2, %6 ], [ %52, %.lr.ph ]
  %.0452.lcssa = phi i32 [ -1640531527, %6 ], [ %46, %.lr.ph ]
  %.0447.lcssa = phi i32 [ -1640531527, %6 ], [ %42, %.lr.ph ]
  %.0440.lcssa = phi i32 [ -17973521, %6 ], [ %50, %.lr.ph ]
  %54 = add i32 %.0440.lcssa, %2
  switch i32 %.0461.lcssa, label %118 [
    i32 11, label %55
    i32 10, label %61
    i32 9, label %67
    i32 8, label %73
    i32 7, label %79
    i32 6, label %85
    i32 5, label %91
    i32 4, label %96
    i32 3, label %102
    i32 2, label %108
    i32 1, label %114
  ]

55:                                               ; preds = %._crit_edge
  %56 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 10
  %57 = load i8, ptr %56, align 1, !tbaa !7
  %58 = zext i8 %57 to i32
  %59 = shl nuw i32 %58, 24
  %60 = add i32 %59, %54
  br label %61

61:                                               ; preds = %55, %._crit_edge
  %.1441 = phi i32 [ %54, %._crit_edge ], [ %60, %55 ]
  %62 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 9
  %63 = load i8, ptr %62, align 1, !tbaa !7
  %64 = zext i8 %63 to i32
  %65 = shl nuw nsw i32 %64, 16
  %66 = add i32 %65, %.1441
  br label %67

67:                                               ; preds = %61, %._crit_edge
  %.2442 = phi i32 [ %54, %._crit_edge ], [ %66, %61 ]
  %68 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 8
  %69 = load i8, ptr %68, align 1, !tbaa !7
  %70 = zext i8 %69 to i32
  %71 = shl nuw nsw i32 %70, 8
  %72 = add i32 %71, %.2442
  br label %73

73:                                               ; preds = %67, %._crit_edge
  %.3443 = phi i32 [ %54, %._crit_edge ], [ %72, %67 ]
  %74 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 7
  %75 = load i8, ptr %74, align 1, !tbaa !7
  %76 = zext i8 %75 to i32
  %77 = shl nuw i32 %76, 24
  %78 = add i32 %77, %.0452.lcssa
  br label %79

79:                                               ; preds = %73, %._crit_edge
  %.1453 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %78, %73 ]
  %.4444 = phi i32 [ %54, %._crit_edge ], [ %.3443, %73 ]
  %80 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 6
  %81 = load i8, ptr %80, align 1, !tbaa !7
  %82 = zext i8 %81 to i32
  %83 = shl nuw nsw i32 %82, 16
  %84 = add i32 %83, %.1453
  br label %85

85:                                               ; preds = %79, %._crit_edge
  %.2454 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %84, %79 ]
  %.5 = phi i32 [ %54, %._crit_edge ], [ %.4444, %79 ]
  %86 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 5
  %87 = load i8, ptr %86, align 1, !tbaa !7
  %88 = zext i8 %87 to i32
  %89 = shl nuw nsw i32 %88, 8
  %90 = add i32 %89, %.2454
  br label %91

91:                                               ; preds = %85, %._crit_edge
  %.3455 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %90, %85 ]
  %.6 = phi i32 [ %54, %._crit_edge ], [ %.5, %85 ]
  %92 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 4
  %93 = load i8, ptr %92, align 1, !tbaa !7
  %94 = zext i8 %93 to i32
  %95 = add i32 %.3455, %94
  br label %96

96:                                               ; preds = %91, %._crit_edge
  %.4456 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %95, %91 ]
  %.7 = phi i32 [ %54, %._crit_edge ], [ %.6, %91 ]
  %97 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 3
  %98 = load i8, ptr %97, align 1, !tbaa !7
  %99 = zext i8 %98 to i32
  %100 = shl nuw i32 %99, 24
  %101 = add i32 %100, %.0447.lcssa
  br label %102

102:                                              ; preds = %96, %._crit_edge
  %.5457 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %.4456, %96 ]
  %.1448 = phi i32 [ %.0447.lcssa, %._crit_edge ], [ %101, %96 ]
  %.8 = phi i32 [ %54, %._crit_edge ], [ %.7, %96 ]
  %103 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 2
  %104 = load i8, ptr %103, align 1, !tbaa !7
  %105 = zext i8 %104 to i32
  %106 = shl nuw nsw i32 %105, 16
  %107 = add i32 %106, %.1448
  br label %108

108:                                              ; preds = %102, %._crit_edge
  %.6458 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %.5457, %102 ]
  %.2449 = phi i32 [ %.0447.lcssa, %._crit_edge ], [ %107, %102 ]
  %.9 = phi i32 [ %54, %._crit_edge ], [ %.8, %102 ]
  %109 = getelementptr inbounds i8, ptr %.0490.lcssa, i64 1
  %110 = load i8, ptr %109, align 1, !tbaa !7
  %111 = zext i8 %110 to i32
  %112 = shl nuw nsw i32 %111, 8
  %113 = add i32 %112, %.2449
  br label %114

114:                                              ; preds = %108, %._crit_edge
  %.7459 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %.6458, %108 ]
  %.3450 = phi i32 [ %.0447.lcssa, %._crit_edge ], [ %113, %108 ]
  %.10 = phi i32 [ %54, %._crit_edge ], [ %.9, %108 ]
  %115 = load i8, ptr %.0490.lcssa, align 1, !tbaa !7
  %116 = zext i8 %115 to i32
  %117 = add i32 %.3450, %116
  br label %118

118:                                              ; preds = %._crit_edge, %114
  %.8460 = phi i32 [ %.0452.lcssa, %._crit_edge ], [ %.7459, %114 ]
  %.4451 = phi i32 [ %.0447.lcssa, %._crit_edge ], [ %117, %114 ]
  %.11 = phi i32 [ %54, %._crit_edge ], [ %.10, %114 ]
  %119 = add i32 %.8460, %.11
  %120 = sub i32 %.4451, %119
  %121 = lshr i32 %.11, 13
  %122 = xor i32 %120, %121
  %123 = add i32 %.11, %122
  %124 = sub i32 %.8460, %123
  %125 = shl i32 %122, 8
  %126 = xor i32 %124, %125
  %127 = add i32 %122, %126
  %128 = sub i32 %.11, %127
  %129 = lshr i32 %126, 13
  %130 = xor i32 %128, %129
  %131 = add i32 %126, %130
  %132 = sub i32 %122, %131
  %133 = lshr i32 %130, 12
  %134 = xor i32 %132, %133
  %135 = add i32 %130, %134
  %136 = sub i32 %126, %135
  %137 = shl i32 %134, 16
  %138 = xor i32 %136, %137
  %139 = add i32 %134, %138
  %140 = sub i32 %130, %139
  %141 = lshr i32 %138, 5
  %142 = xor i32 %140, %141
  %143 = add i32 %138, %142
  %144 = sub i32 %134, %143
  %145 = lshr i32 %142, 3
  %146 = xor i32 %144, %145
  %147 = add i32 %142, %146
  %148 = sub i32 %138, %147
  %149 = shl i32 %146, 10
  %150 = xor i32 %148, %149
  %151 = add i32 %146, %150
  %152 = sub i32 %142, %151
  %153 = lshr i32 %150, 15
  %154 = xor i32 %152, %153
  %155 = load ptr, ptr %0, align 8, !tbaa !10
  %.not = icmp eq ptr %155, null
  br i1 %.not, label %.thread, label %156

156:                                              ; preds = %118
  %157 = getelementptr inbounds i8, ptr %155, i64 16
  %158 = load ptr, ptr %157, align 8, !tbaa !12
  %159 = getelementptr inbounds i8, ptr %158, i64 8
  %160 = load i32, ptr %159, align 8, !tbaa !16
  %161 = add i32 %160, -1
  %162 = and i32 %161, %154
  %163 = load ptr, ptr %158, align 8, !tbaa !19
  %164 = zext i32 %162 to i64
  %165 = getelementptr inbounds %struct.UT_hash_bucket, ptr %163, i64 %164
  %166 = load ptr, ptr %165, align 8, !tbaa !20
  %.not502 = icmp eq ptr %166, null
  br i1 %.not502, label %._crit_edge606, label %.lr.ph605

.lr.ph605:                                        ; preds = %156
  %167 = getelementptr inbounds i8, ptr %158, i64 32
  %168 = load i64, ptr %167, align 8, !tbaa !22
  %169 = sub i64 0, %168
  %170 = getelementptr inbounds i8, ptr %166, i64 %169
  %171 = zext i32 %2 to i64
  %172 = getelementptr inbounds i8, ptr %158, i64 32
  br label %173

173:                                              ; preds = %188, %.lr.ph605
  %.1603 = phi ptr [ %170, %.lr.ph605 ], [ %191, %188 ]
  %174 = getelementptr inbounds i8, ptr %.1603, i64 68
  %175 = load i32, ptr %174, align 4, !tbaa !23
  %176 = icmp eq i32 %175, %154
  br i1 %176, label %177, label %185

177:                                              ; preds = %173
  %178 = getelementptr inbounds i8, ptr %.1603, i64 64
  %179 = load i32, ptr %178, align 8, !tbaa !24
  %180 = icmp eq i32 %179, %2
  br i1 %180, label %181, label %185

181:                                              ; preds = %177
  %182 = getelementptr inbounds i8, ptr %.1603, i64 56
  %183 = load ptr, ptr %182, align 8, !tbaa !25
  %bcmp = tail call i32 @bcmp(ptr %183, ptr %1, i64 %171)
  %184 = icmp eq i32 %bcmp, 0
  br i1 %184, label %._crit_edge606, label %185

185:                                              ; preds = %181, %177, %173
  %186 = getelementptr inbounds i8, ptr %.1603, i64 48
  %187 = load ptr, ptr %186, align 8, !tbaa !26
  %.not504 = icmp eq ptr %187, null
  br i1 %.not504, label %._crit_edge606, label %188

188:                                              ; preds = %185
  %189 = load i64, ptr %172, align 8, !tbaa !22
  %190 = sub i64 0, %189
  %191 = getelementptr inbounds i8, ptr %187, i64 %190
  br label %173, !llvm.loop !27

._crit_edge606:                                   ; preds = %185, %181, %156
  %.1.lcssa = phi ptr [ null, %156 ], [ null, %185 ], [ %.1603, %181 ]
  %192 = tail call i32 @check_flags(ptr noundef %.1.lcssa, i64 noundef %5)
  %.not505 = icmp eq i32 %192, 0
  br i1 %.not505, label %194, label %477

.thread:                                          ; preds = %118
  %193 = tail call i32 @check_flags(ptr noundef null, i64 noundef %5)
  %.not505517 = icmp eq i32 %193, 0
  br i1 %.not505517, label %.thread519, label %477

194:                                              ; preds = %._crit_edge606
  %195 = icmp eq ptr %.1.lcssa, null
  br i1 %195, label %.thread519, label %473

.thread519:                                       ; preds = %.thread, %194
  %196 = tail call noalias dereferenceable_or_null(72) ptr @malloc(i64 noundef 72) #8
  %197 = zext i32 %2 to i64
  %198 = tail call noalias ptr @malloc(i64 noundef %197) #8
  store ptr %198, ptr %196, align 8, !tbaa !28
  tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %198, ptr align 1 %1, i64 %197, i1 false)
  br i1 %7, label %.lr.ph615, label %._crit_edge616

.lr.ph615:                                        ; preds = %.thread519, %.lr.ph615
  %.0462614 = phi ptr [ %242, %.lr.ph615 ], [ %198, %.thread519 ]
  %.0463613 = phi i32 [ %243, %.lr.ph615 ], [ %2, %.thread519 ]
  %.0464612 = phi i32 [ %237, %.lr.ph615 ], [ -1640531527, %.thread519 ]
  %.0473611 = phi i32 [ %233, %.lr.ph615 ], [ -1640531527, %.thread519 ]
  %.0478610 = phi i32 [ %241, %.lr.ph615 ], [ -17973521, %.thread519 ]
  %199 = load i32, ptr %.0462614, align 1
  %200 = getelementptr inbounds i8, ptr %.0462614, i64 4
  %201 = load i32, ptr %200, align 1
  %202 = add i32 %201, %.0464612
  %203 = getelementptr inbounds i8, ptr %.0462614, i64 8
  %204 = load i32, ptr %203, align 1
  %205 = add i32 %204, %.0478610
  %.neg557 = add i32 %199, %.0473611
  %206 = add i32 %202, %205
  %207 = sub i32 %.neg557, %206
  %208 = lshr i32 %205, 13
  %209 = xor i32 %207, %208
  %210 = add i32 %205, %209
  %211 = sub i32 %202, %210
  %212 = shl i32 %209, 8
  %213 = xor i32 %211, %212
  %214 = add i32 %209, %213
  %215 = sub i32 %205, %214
  %216 = lshr i32 %213, 13
  %217 = xor i32 %215, %216
  %218 = add i32 %213, %217
  %219 = sub i32 %209, %218
  %220 = lshr i32 %217, 12
  %221 = xor i32 %219, %220
  %222 = add i32 %217, %221
  %223 = sub i32 %213, %222
  %224 = shl i32 %221, 16
  %225 = xor i32 %223, %224
  %226 = add i32 %221, %225
  %227 = sub i32 %217, %226
  %228 = lshr i32 %225, 5
  %229 = xor i32 %227, %228
  %230 = add i32 %225, %229
  %231 = sub i32 %221, %230
  %232 = lshr i32 %229, 3
  %233 = xor i32 %231, %232
  %234 = add i32 %229, %233
  %235 = sub i32 %225, %234
  %236 = shl i32 %233, 10
  %237 = xor i32 %235, %236
  %238 = add i32 %233, %237
  %239 = sub i32 %229, %238
  %240 = lshr i32 %237, 15
  %241 = xor i32 %239, %240
  %242 = getelementptr inbounds i8, ptr %.0462614, i64 12
  %243 = add i32 %.0463613, -12
  %244 = icmp ugt i32 %243, 11
  br i1 %244, label %.lr.ph615, label %._crit_edge616, !llvm.loop !29

._crit_edge616:                                   ; preds = %.lr.ph615, %.thread519
  %.0478.lcssa = phi i32 [ -17973521, %.thread519 ], [ %241, %.lr.ph615 ]
  %.0473.lcssa = phi i32 [ -1640531527, %.thread519 ], [ %233, %.lr.ph615 ]
  %.0464.lcssa = phi i32 [ -1640531527, %.thread519 ], [ %237, %.lr.ph615 ]
  %.0463.lcssa = phi i32 [ %2, %.thread519 ], [ %243, %.lr.ph615 ]
  %.0462.lcssa = phi ptr [ %198, %.thread519 ], [ %242, %.lr.ph615 ]
  %245 = add i32 %.0478.lcssa, %2
  switch i32 %.0463.lcssa, label %309 [
    i32 11, label %246
    i32 10, label %252
    i32 9, label %258
    i32 8, label %264
    i32 7, label %270
    i32 6, label %276
    i32 5, label %282
    i32 4, label %287
    i32 3, label %293
    i32 2, label %299
    i32 1, label %305
  ]

246:                                              ; preds = %._crit_edge616
  %247 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 10
  %248 = load i8, ptr %247, align 1, !tbaa !7
  %249 = zext i8 %248 to i32
  %250 = shl nuw i32 %249, 24
  %251 = add i32 %250, %245
  br label %252

252:                                              ; preds = %246, %._crit_edge616
  %.1479 = phi i32 [ %245, %._crit_edge616 ], [ %251, %246 ]
  %253 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 9
  %254 = load i8, ptr %253, align 1, !tbaa !7
  %255 = zext i8 %254 to i32
  %256 = shl nuw nsw i32 %255, 16
  %257 = add i32 %256, %.1479
  br label %258

258:                                              ; preds = %252, %._crit_edge616
  %.2480 = phi i32 [ %245, %._crit_edge616 ], [ %257, %252 ]
  %259 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 8
  %260 = load i8, ptr %259, align 1, !tbaa !7
  %261 = zext i8 %260 to i32
  %262 = shl nuw nsw i32 %261, 8
  %263 = add i32 %262, %.2480
  br label %264

264:                                              ; preds = %258, %._crit_edge616
  %.3481 = phi i32 [ %245, %._crit_edge616 ], [ %263, %258 ]
  %265 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 7
  %266 = load i8, ptr %265, align 1, !tbaa !7
  %267 = zext i8 %266 to i32
  %268 = shl nuw i32 %267, 24
  %269 = add i32 %268, %.0464.lcssa
  br label %270

270:                                              ; preds = %264, %._crit_edge616
  %.4482 = phi i32 [ %245, %._crit_edge616 ], [ %.3481, %264 ]
  %.1465 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %269, %264 ]
  %271 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 6
  %272 = load i8, ptr %271, align 1, !tbaa !7
  %273 = zext i8 %272 to i32
  %274 = shl nuw nsw i32 %273, 16
  %275 = add i32 %274, %.1465
  br label %276

276:                                              ; preds = %270, %._crit_edge616
  %.5483 = phi i32 [ %245, %._crit_edge616 ], [ %.4482, %270 ]
  %.2466 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %275, %270 ]
  %277 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 5
  %278 = load i8, ptr %277, align 1, !tbaa !7
  %279 = zext i8 %278 to i32
  %280 = shl nuw nsw i32 %279, 8
  %281 = add i32 %280, %.2466
  br label %282

282:                                              ; preds = %276, %._crit_edge616
  %.6484 = phi i32 [ %245, %._crit_edge616 ], [ %.5483, %276 ]
  %.3467 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %281, %276 ]
  %283 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 4
  %284 = load i8, ptr %283, align 1, !tbaa !7
  %285 = zext i8 %284 to i32
  %286 = add i32 %.3467, %285
  br label %287

287:                                              ; preds = %282, %._crit_edge616
  %.7485 = phi i32 [ %245, %._crit_edge616 ], [ %.6484, %282 ]
  %.4468 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %286, %282 ]
  %288 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 3
  %289 = load i8, ptr %288, align 1, !tbaa !7
  %290 = zext i8 %289 to i32
  %291 = shl nuw i32 %290, 24
  %292 = add i32 %291, %.0473.lcssa
  br label %293

293:                                              ; preds = %287, %._crit_edge616
  %.8486 = phi i32 [ %245, %._crit_edge616 ], [ %.7485, %287 ]
  %.1474 = phi i32 [ %.0473.lcssa, %._crit_edge616 ], [ %292, %287 ]
  %.5469 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %.4468, %287 ]
  %294 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 2
  %295 = load i8, ptr %294, align 1, !tbaa !7
  %296 = zext i8 %295 to i32
  %297 = shl nuw nsw i32 %296, 16
  %298 = add i32 %297, %.1474
  br label %299

299:                                              ; preds = %293, %._crit_edge616
  %.9487 = phi i32 [ %245, %._crit_edge616 ], [ %.8486, %293 ]
  %.2475 = phi i32 [ %.0473.lcssa, %._crit_edge616 ], [ %298, %293 ]
  %.6470 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %.5469, %293 ]
  %300 = getelementptr inbounds i8, ptr %.0462.lcssa, i64 1
  %301 = load i8, ptr %300, align 1, !tbaa !7
  %302 = zext i8 %301 to i32
  %303 = shl nuw nsw i32 %302, 8
  %304 = add i32 %303, %.2475
  br label %305

305:                                              ; preds = %299, %._crit_edge616
  %.10488 = phi i32 [ %245, %._crit_edge616 ], [ %.9487, %299 ]
  %.3476 = phi i32 [ %.0473.lcssa, %._crit_edge616 ], [ %304, %299 ]
  %.7471 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %.6470, %299 ]
  %306 = load i8, ptr %.0462.lcssa, align 1, !tbaa !7
  %307 = zext i8 %306 to i32
  %308 = add i32 %.3476, %307
  br label %309

309:                                              ; preds = %._crit_edge616, %305
  %.11489 = phi i32 [ %245, %._crit_edge616 ], [ %.10488, %305 ]
  %.4477 = phi i32 [ %.0473.lcssa, %._crit_edge616 ], [ %308, %305 ]
  %.8472 = phi i32 [ %.0464.lcssa, %._crit_edge616 ], [ %.7471, %305 ]
  %310 = add i32 %.11489, %.8472
  %311 = sub i32 %.4477, %310
  %312 = lshr i32 %.11489, 13
  %313 = xor i32 %311, %312
  %314 = add i32 %.11489, %313
  %315 = sub i32 %.8472, %314
  %316 = shl i32 %313, 8
  %317 = xor i32 %315, %316
  %318 = add i32 %313, %317
  %319 = sub i32 %.11489, %318
  %320 = lshr i32 %317, 13
  %321 = xor i32 %319, %320
  %322 = add i32 %317, %321
  %323 = sub i32 %313, %322
  %324 = lshr i32 %321, 12
  %325 = xor i32 %323, %324
  %326 = add i32 %321, %325
  %327 = sub i32 %317, %326
  %328 = shl i32 %325, 16
  %329 = xor i32 %327, %328
  %330 = add i32 %325, %329
  %331 = sub i32 %321, %330
  %332 = lshr i32 %329, 5
  %333 = xor i32 %331, %332
  %334 = add i32 %329, %333
  %335 = sub i32 %325, %334
  %336 = lshr i32 %333, 3
  %337 = xor i32 %335, %336
  %338 = add i32 %333, %337
  %339 = sub i32 %329, %338
  %340 = shl i32 %337, 10
  %341 = xor i32 %339, %340
  %342 = add i32 %337, %341
  %343 = sub i32 %333, %342
  %344 = lshr i32 %341, 15
  %345 = xor i32 %343, %344
  %346 = getelementptr inbounds i8, ptr %196, i64 16
  %347 = getelementptr inbounds i8, ptr %196, i64 68
  store i32 %345, ptr %347, align 4, !tbaa !23
  %348 = getelementptr inbounds i8, ptr %196, i64 56
  store ptr %198, ptr %348, align 8, !tbaa !25
  %349 = getelementptr inbounds i8, ptr %196, i64 64
  store i32 %2, ptr %349, align 8, !tbaa !24
  %350 = load ptr, ptr %0, align 8, !tbaa !10
  %.not506 = icmp eq ptr %350, null
  br i1 %.not506, label %351, label %362

351:                                              ; preds = %309
  %352 = getelementptr inbounds i8, ptr %196, i64 24
  %calloc654 = tail call dereferenceable_or_null(64) ptr @calloc(i64 1, i64 64)
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %352, i8 0, i64 16, i1 false)
  store ptr %calloc654, ptr %346, align 8, !tbaa !12
  %.not507 = icmp eq ptr %calloc654, null
  br i1 %.not507, label %353, label %354

353:                                              ; preds = %351
  tail call void @exit(i32 noundef -1) #9
  unreachable

354:                                              ; preds = %351
  %355 = getelementptr inbounds i8, ptr %calloc654, i64 24
  store ptr %346, ptr %355, align 8, !tbaa !30
  %356 = getelementptr inbounds i8, ptr %calloc654, i64 8
  store i32 32, ptr %356, align 8, !tbaa !16
  %357 = getelementptr inbounds i8, ptr %calloc654, i64 12
  store i32 5, ptr %357, align 4, !tbaa !31
  %358 = getelementptr inbounds i8, ptr %calloc654, i64 32
  store i64 16, ptr %358, align 8, !tbaa !22
  %calloc653 = tail call dereferenceable_or_null(512) ptr @calloc(i64 1, i64 512)
  store ptr %calloc653, ptr %calloc654, align 8, !tbaa !19
  %359 = getelementptr inbounds i8, ptr %calloc654, i64 56
  store i32 -1609490463, ptr %359, align 8, !tbaa !32
  %.not508 = icmp eq ptr %calloc653, null
  br i1 %.not508, label %360, label %361

360:                                              ; preds = %354
  tail call void @exit(i32 noundef -1) #9
  unreachable

361:                                              ; preds = %354
  store ptr %196, ptr %0, align 8, !tbaa !10
  br label %379

362:                                              ; preds = %309
  %363 = getelementptr inbounds i8, ptr %350, i64 16
  %364 = load ptr, ptr %363, align 8, !tbaa !12
  store ptr %364, ptr %346, align 8, !tbaa !12
  %365 = getelementptr inbounds i8, ptr %196, i64 32
  store ptr null, ptr %365, align 8, !tbaa !33
  %366 = getelementptr inbounds i8, ptr %364, i64 24
  %367 = load ptr, ptr %366, align 8, !tbaa !30
  %368 = getelementptr inbounds i8, ptr %364, i64 32
  %369 = load i64, ptr %368, align 8, !tbaa !22
  %370 = sub i64 0, %369
  %371 = getelementptr inbounds i8, ptr %367, i64 %370
  %372 = getelementptr inbounds i8, ptr %196, i64 24
  store ptr %371, ptr %372, align 8, !tbaa !34
  %373 = getelementptr inbounds i8, ptr %367, i64 16
  store ptr %196, ptr %373, align 8, !tbaa !35
  %374 = load ptr, ptr %0, align 8, !tbaa !10
  %375 = getelementptr inbounds i8, ptr %374, i64 16
  %376 = load ptr, ptr %375, align 8, !tbaa !12
  %377 = getelementptr inbounds i8, ptr %376, i64 24
  store ptr %346, ptr %377, align 8, !tbaa !30
  %.pre = load ptr, ptr %0, align 8, !tbaa !10
  %.phi.trans.insert = getelementptr inbounds i8, ptr %.pre, i64 16
  %.pre642 = load ptr, ptr %.phi.trans.insert, align 8, !tbaa !12
  %.phi.trans.insert643 = getelementptr inbounds i8, ptr %.pre642, i64 8
  %.pre644 = load i32, ptr %.phi.trans.insert643, align 8, !tbaa !16
  %.pre645 = load ptr, ptr %.pre642, align 8, !tbaa !19
  %378 = add i32 %.pre644, -1
  br label %379

379:                                              ; preds = %361, %362
  %380 = phi ptr [ %calloc654, %361 ], [ %364, %362 ]
  %381 = phi ptr [ %calloc653, %361 ], [ %.pre645, %362 ]
  %382 = phi i32 [ 31, %361 ], [ %378, %362 ]
  %383 = phi ptr [ %calloc654, %361 ], [ %.pre642, %362 ]
  %384 = getelementptr inbounds i8, ptr %383, i64 16
  %385 = load i32, ptr %384, align 8, !tbaa !36
  %386 = add i32 %385, 1
  store i32 %386, ptr %384, align 8, !tbaa !36
  %387 = and i32 %382, %345
  %388 = zext i32 %387 to i64
  %389 = getelementptr inbounds %struct.UT_hash_bucket, ptr %381, i64 %388
  %390 = getelementptr inbounds i8, ptr %389, i64 8
  %391 = load i32, ptr %390, align 8, !tbaa !37
  %392 = add i32 %391, 1
  store i32 %392, ptr %390, align 8, !tbaa !37
  %393 = load ptr, ptr %389, align 8, !tbaa !20
  %394 = getelementptr inbounds i8, ptr %196, i64 48
  store ptr %393, ptr %394, align 8, !tbaa !26
  %395 = getelementptr inbounds i8, ptr %196, i64 40
  store ptr null, ptr %395, align 8, !tbaa !38
  %.not509 = icmp eq ptr %393, null
  br i1 %.not509, label %398, label %396

396:                                              ; preds = %379
  %397 = getelementptr inbounds i8, ptr %393, i64 24
  store ptr %346, ptr %397, align 8, !tbaa !39
  br label %398

398:                                              ; preds = %396, %379
  store ptr %346, ptr %389, align 8, !tbaa !20
  %399 = getelementptr inbounds i8, ptr %389, i64 12
  %400 = load i32, ptr %399, align 4, !tbaa !40
  %401 = mul i32 %400, 10
  %402 = add i32 %401, 10
  %.not510 = icmp ult i32 %392, %402
  br i1 %.not510, label %473, label %403

403:                                              ; preds = %398
  %404 = getelementptr inbounds i8, ptr %380, i64 52
  %405 = load i32, ptr %404, align 4, !tbaa !41
  %.not511 = icmp eq i32 %405, 0
  br i1 %.not511, label %406, label %473

406:                                              ; preds = %403
  %407 = getelementptr inbounds i8, ptr %380, i64 8
  %408 = load i32, ptr %407, align 8, !tbaa !16
  %409 = zext i32 %408 to i64
  %410 = shl nuw nsw i64 %409, 5
  %calloc = tail call ptr @calloc(i64 1, i64 %410)
  %.not512 = icmp eq ptr %calloc, null
  br i1 %.not512, label %411, label %412

411:                                              ; preds = %406
  tail call void @exit(i32 noundef -1) #9
  unreachable

412:                                              ; preds = %406
  %413 = getelementptr inbounds i8, ptr %380, i64 16
  %414 = load i32, ptr %413, align 8, !tbaa !36
  %415 = getelementptr inbounds i8, ptr %380, i64 12
  %416 = load i32, ptr %415, align 4, !tbaa !31
  %417 = add i32 %416, 1
  %418 = lshr i32 %414, %417
  %419 = shl i32 %408, 1
  %420 = add i32 %419, -1
  %421 = and i32 %420, %414
  %.not513 = icmp ne i32 %421, 0
  %422 = zext i1 %.not513 to i32
  %423 = add i32 %418, %422
  %424 = getelementptr inbounds i8, ptr %380, i64 40
  store i32 %423, ptr %424, align 8, !tbaa !42
  %425 = getelementptr inbounds i8, ptr %380, i64 44
  store i32 0, ptr %425, align 4, !tbaa !43
  %.not631 = icmp eq i32 %408, 0
  %.pre646 = load ptr, ptr %380, align 8, !tbaa !19
  br i1 %.not631, label %._crit_edge630, label %.lr.ph629

.lr.ph629:                                        ; preds = %412, %._crit_edge626
  %426 = phi i32 [ %452, %._crit_edge626 ], [ 0, %412 ]
  %indvars.iv = phi i64 [ %indvars.iv.next, %._crit_edge626 ], [ 0, %412 ]
  %427 = getelementptr inbounds %struct.UT_hash_bucket, ptr %.pre646, i64 %indvars.iv
  %428 = load ptr, ptr %427, align 8, !tbaa !20
  %.not514622 = icmp eq ptr %428, null
  br i1 %.not514622, label %._crit_edge626, label %.lr.ph625

.lr.ph625:                                        ; preds = %.lr.ph629, %451
  %429 = phi i32 [ %446, %451 ], [ %426, %.lr.ph629 ]
  %.0445623 = phi ptr [ %431, %451 ], [ %428, %.lr.ph629 ]
  %430 = getelementptr inbounds i8, ptr %.0445623, i64 32
  %431 = load ptr, ptr %430, align 8, !tbaa !44
  %432 = getelementptr inbounds i8, ptr %.0445623, i64 52
  %433 = load i32, ptr %432, align 4, !tbaa !45
  %434 = and i32 %433, %420
  %435 = zext i32 %434 to i64
  %436 = getelementptr inbounds %struct.UT_hash_bucket, ptr %calloc, i64 %435
  %437 = getelementptr inbounds i8, ptr %436, i64 8
  %438 = load i32, ptr %437, align 8, !tbaa !37
  %439 = add i32 %438, 1
  store i32 %439, ptr %437, align 8, !tbaa !37
  %440 = icmp ugt i32 %439, %423
  br i1 %440, label %441, label %445

441:                                              ; preds = %.lr.ph625
  %442 = add i32 %429, 1
  store i32 %442, ptr %425, align 4, !tbaa !43
  %443 = udiv i32 %439, %423
  %444 = getelementptr inbounds i8, ptr %436, i64 12
  store i32 %443, ptr %444, align 4, !tbaa !40
  br label %445

445:                                              ; preds = %441, %.lr.ph625
  %446 = phi i32 [ %442, %441 ], [ %429, %.lr.ph625 ]
  %447 = getelementptr inbounds i8, ptr %.0445623, i64 24
  store ptr null, ptr %447, align 8, !tbaa !39
  %448 = load ptr, ptr %436, align 8, !tbaa !20
  store ptr %448, ptr %430, align 8, !tbaa !44
  %.not515 = icmp eq ptr %448, null
  br i1 %.not515, label %451, label %449

449:                                              ; preds = %445
  %450 = getelementptr inbounds i8, ptr %448, i64 24
  store ptr %.0445623, ptr %450, align 8, !tbaa !39
  br label %451

451:                                              ; preds = %449, %445
  store ptr %.0445623, ptr %436, align 8, !tbaa !20
  %.not514 = icmp eq ptr %431, null
  br i1 %.not514, label %._crit_edge626, label %.lr.ph625, !llvm.loop !46

._crit_edge626:                                   ; preds = %451, %.lr.ph629
  %452 = phi i32 [ %426, %.lr.ph629 ], [ %446, %451 ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %409
  br i1 %exitcond.not, label %._crit_edge630, label %.lr.ph629, !llvm.loop !47

._crit_edge630:                                   ; preds = %._crit_edge626, %412
  tail call void @free(ptr noundef %.pre646) #10
  %453 = load ptr, ptr %346, align 8, !tbaa !12
  %454 = getelementptr inbounds i8, ptr %453, i64 8
  %455 = load i32, ptr %454, align 8, !tbaa !16
  %456 = shl i32 %455, 1
  store i32 %456, ptr %454, align 8, !tbaa !16
  %457 = getelementptr inbounds i8, ptr %453, i64 12
  %458 = load i32, ptr %457, align 4, !tbaa !31
  %459 = add i32 %458, 1
  store i32 %459, ptr %457, align 4, !tbaa !31
  store ptr %calloc, ptr %453, align 8, !tbaa !19
  %460 = getelementptr inbounds i8, ptr %453, i64 44
  %461 = load i32, ptr %460, align 4, !tbaa !43
  %462 = getelementptr inbounds i8, ptr %453, i64 16
  %463 = load i32, ptr %462, align 8, !tbaa !36
  %464 = lshr i32 %463, 1
  %465 = icmp ugt i32 %461, %464
  %466 = getelementptr inbounds i8, ptr %453, i64 48
  br i1 %465, label %467, label %.thread521

.thread521:                                       ; preds = %._crit_edge630
  store i32 0, ptr %466, align 8, !tbaa !48
  br label %473

467:                                              ; preds = %._crit_edge630
  %468 = load i32, ptr %466, align 8, !tbaa !48
  %469 = add i32 %468, 1
  store i32 %469, ptr %466, align 8, !tbaa !48
  %470 = icmp ugt i32 %469, 1
  br i1 %470, label %471, label %473

471:                                              ; preds = %467
  %472 = getelementptr inbounds i8, ptr %453, i64 52
  store i32 1, ptr %472, align 4, !tbaa !41
  br label %473

473:                                              ; preds = %.thread521, %398, %403, %467, %471, %194
  %.4 = phi ptr [ %.1.lcssa, %194 ], [ %196, %471 ], [ %196, %467 ], [ %196, %403 ], [ %196, %398 ], [ %196, %.thread521 ]
  %474 = zext i32 %4 to i64
  %475 = tail call noalias ptr @malloc(i64 noundef %474) #8
  %476 = getelementptr inbounds i8, ptr %.4, i64 8
  store ptr %475, ptr %476, align 8, !tbaa !49
  tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %475, ptr align 1 %3, i64 %474, i1 false)
  br label %477

477:                                              ; preds = %.thread, %._crit_edge606, %473
  %.0 = phi i32 [ 0, %473 ], [ %192, %._crit_edge606 ], [ %193, %.thread ]
  ret i32 %.0
}

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

; Function Attrs: mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #6

; Function Attrs: nofree nounwind willreturn allockind("alloc,zeroed") allocsize(0,1) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @calloc(i64 noundef, i64 noundef) local_unnamed_addr #7

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 = { mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "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 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { noreturn nounwind "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 #4 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #5 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "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 #6 = { nofree nounwind willreturn memory(argmem: read) }
attributes #7 = { nofree nounwind willreturn allockind("alloc,zeroed") allocsize(0,1) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" }
attributes #8 = { nounwind allocsize(0) }
attributes #9 = { noreturn nounwind }
attributes #10 = { 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 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = !{!8, !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!11, !11, i64 0}
!11 = !{!"any pointer", !8, i64 0}
!12 = !{!13, !11, i64 16}
!13 = !{!"bpf_map", !11, i64 0, !11, i64 8, !14, i64 16}
!14 = !{!"UT_hash_handle", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !15, i64 48, !15, i64 52}
!15 = !{!"int", !8, i64 0}
!16 = !{!17, !15, i64 8}
!17 = !{!"UT_hash_table", !11, i64 0, !15, i64 8, !15, i64 12, !15, i64 16, !11, i64 24, !18, i64 32, !15, i64 40, !15, i64 44, !15, i64 48, !15, i64 52, !15, i64 56}
!18 = !{!"long", !8, i64 0}
!19 = !{!17, !11, i64 0}
!20 = !{!21, !11, i64 0}
!21 = !{!"UT_hash_bucket", !11, i64 0, !15, i64 8, !15, i64 12}
!22 = !{!17, !18, i64 32}
!23 = !{!13, !15, i64 68}
!24 = !{!13, !15, i64 64}
!25 = !{!13, !11, i64 56}
!26 = !{!13, !11, i64 48}
!27 = distinct !{!27, !6}
!28 = !{!13, !11, i64 0}
!29 = distinct !{!29, !6}
!30 = !{!17, !11, i64 24}
!31 = !{!17, !15, i64 12}
!32 = !{!17, !15, i64 56}
!33 = !{!13, !11, i64 32}
!34 = !{!13, !11, i64 24}
!35 = !{!14, !11, i64 16}
!36 = !{!17, !15, i64 16}
!37 = !{!21, !15, i64 8}
!38 = !{!13, !11, i64 40}
!39 = !{!14, !11, i64 24}
!40 = !{!21, !15, i64 12}
!41 = !{!17, !15, i64 52}
!42 = !{!17, !15, i64 40}
!43 = !{!17, !15, i64 44}
!44 = !{!14, !11, i64 32}
!45 = !{!14, !15, i64 52}
!46 = distinct !{!46, !6}
!47 = distinct !{!47, !6}
!48 = !{!17, !15, i64 48}
!49 = !{!13, !11, i64 8}


; Effective O3 passes: AggressiveInstCombinePass,BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass