; LLVM IR from apigee/apib :: third_party/http_parser (test)

; 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.message = type { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, [13 x [2 x [2048 x i8]]], i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }

@requests = external dso_local constant <{ { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 } }>, align 16
@responses = external dso_local constant <{ %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, [13 x [2 x [2048 x i8]]], i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 } }>, align 16
@.str.359 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.362 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.368 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.369 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.371 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.372 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.374 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [2048 x i8], align 1
@constinit = external hidden constant <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, align 1
@.str.376 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.382 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.384 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.387 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.388 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [47 x i8], align 1
@main.all_methods = external hidden global [33 x ptr], align 16
@.str.421 = external hidden unnamed_addr constant [18 x i8], align 1
@main.bad_methods = external hidden global [13 x ptr], align 16
@.str.434 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [2045 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [14 x i8], align 1

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

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

; 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) #1

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

declare i32 @printf(ptr noundef, ...) #3

; Function Attrs: nounwind uwtable
declare dso_local void @test_preserve_data() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_parse_url() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_method_str() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_status_str() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_count_body(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_simple_type(ptr noundef, i32 noundef, i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_simple(ptr noundef, i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_invalid_header_field_content_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_invalid_header_field_token_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_double_content_length_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_chunked_content_length_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_cr_no_lf_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_no_overflow_parse_url() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_overflow_error(i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_nread_value() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_content_length_overflow_error() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_chunk_content_length_overflow_error() #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_no_overflow_long_body(i32 noundef, i64 noundef) #4

; Function Attrs: nounwind
declare i32 @sprintf(ptr noundef, ptr noundef, ...) #5

; Function Attrs: nounwind uwtable
declare dso_local void @test_multiple3(ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_scan(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @puts(ptr noundef) #3

; Function Attrs: nounwind uwtable
declare dso_local ptr @create_large_chunked_message(i32 noundef, ptr noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_pause(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_connect(ptr noundef) #4

; Function Attrs: nounwind uwtable
define dso_local i32 @main() #4 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i64, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca %struct.message, align 8
  %11 = alloca ptr, align 8
  %12 = alloca [200 x i8], align 16
  %13 = alloca [200 x i8], align 16
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  %17 = call i64 @http_parser_version()
  store i64 %17, ptr %5, align 8, !tbaa !5
  %18 = load i64, ptr %5, align 8, !tbaa !5
  %19 = lshr i64 %18, 16
  %20 = and i64 %19, 255
  %21 = trunc i64 %20 to i32
  store i32 %21, ptr %6, align 4, !tbaa !9
  %22 = load i64, ptr %5, align 8, !tbaa !5
  %23 = lshr i64 %22, 8
  %24 = and i64 %23, 255
  %25 = trunc i64 %24 to i32
  store i32 %25, ptr %7, align 4, !tbaa !9
  %26 = load i64, ptr %5, align 8, !tbaa !5
  %27 = and i64 %26, 255
  %28 = trunc i64 %27 to i32
  store i32 %28, ptr %8, align 4, !tbaa !9
  %29 = load i32, ptr %6, align 4, !tbaa !9
  %30 = load i32, ptr %7, align 4, !tbaa !9
  %31 = load i32, ptr %8, align 4, !tbaa !9
  %32 = load i64, ptr %5, align 8, !tbaa !5
  %33 = call i32 (ptr, ...) @printf(ptr noundef @.str.359, i32 noundef %29, i32 noundef %30, i32 noundef %31, i64 noundef %32)
  %34 = call i32 (ptr, ...) @printf(ptr noundef @.str.360, i32 noundef 32)
  call void @test_preserve_data()
  call void @test_parse_url()
  call void @test_method_str()
  call void @test_status_str()
  call void @test_header_nread_value()
  call void @test_no_overflow_parse_url()
  call void @test_header_overflow_error(i32 noundef 0)
  call void @test_no_overflow_long_body(i32 noundef 0, i64 noundef 1000)
  call void @test_no_overflow_long_body(i32 noundef 0, i64 noundef 100000)
  call void @test_header_overflow_error(i32 noundef 1)
  call void @test_no_overflow_long_body(i32 noundef 1, i64 noundef 1000)
  call void @test_no_overflow_long_body(i32 noundef 1, i64 noundef 100000)
  call void @test_header_content_length_overflow_error()
  call void @test_chunk_content_length_overflow_error()
  call void @test_double_content_length_error(i32 noundef 0)
  call void @test_chunked_content_length_error(i32 noundef 0)
  call void @test_header_cr_no_lf_error(i32 noundef 0)
  call void @test_invalid_header_field_token_error(i32 noundef 0)
  call void @test_invalid_header_field_content_error(i32 noundef 0)
  call void @test_double_content_length_error(i32 noundef 1)
  call void @test_chunked_content_length_error(i32 noundef 1)
  call void @test_header_cr_no_lf_error(i32 noundef 1)
  call void @test_invalid_header_field_token_error(i32 noundef 1)
  call void @test_invalid_header_field_content_error(i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.361, i32 noundef 25, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.362, i32 noundef 0, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.363, i32 noundef 25, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.364, i32 noundef 25, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.365, i32 noundef 25, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.366, i32 noundef 0, i32 noundef 0)
  call void @test_simple_type(ptr noundef @.str.367, i32 noundef 14, i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.368, i32 noundef 14, i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.369, i32 noundef 14, i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.370, i32 noundef 14, i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.371, i32 noundef 14, i32 noundef 1)
  call void @test_simple_type(ptr noundef @.str.372, i32 noundef 14, i32 noundef 1)
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %35

35:                                               ; preds = %43, %0
  %36 = load i32, ptr %2, align 4, !tbaa !9
  %37 = zext i32 %36 to i64
  %38 = icmp ult i64 %37, 29
  br i1 %38, label %39, label %46

39:                                               ; preds = %35
  %40 = load i32, ptr %2, align 4, !tbaa !9
  %41 = zext i32 %40 to i64
  %42 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %41
  call void @test_message(ptr noundef %42)
  br label %43

43:                                               ; preds = %39
  %44 = load i32, ptr %2, align 4, !tbaa !9
  %45 = add i32 %44, 1
  store i32 %45, ptr %2, align 4, !tbaa !9
  br label %35, !llvm.loop !11

46:                                               ; preds = %35
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %47

47:                                               ; preds = %55, %46
  %48 = load i32, ptr %2, align 4, !tbaa !9
  %49 = zext i32 %48 to i64
  %50 = icmp ult i64 %49, 29
  br i1 %50, label %51, label %58

51:                                               ; preds = %47
  %52 = load i32, ptr %2, align 4, !tbaa !9
  %53 = zext i32 %52 to i64
  %54 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %53
  call void @test_message_pause(ptr noundef %54)
  br label %55

55:                                               ; preds = %51
  %56 = load i32, ptr %2, align 4, !tbaa !9
  %57 = add i32 %56, 1
  store i32 %57, ptr %2, align 4, !tbaa !9
  br label %47, !llvm.loop !13

58:                                               ; preds = %47
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %59

59:                                               ; preds = %67, %58
  %60 = load i32, ptr %2, align 4, !tbaa !9
  %61 = zext i32 %60 to i64
  %62 = icmp ult i64 %61, 29
  br i1 %62, label %63, label %70

63:                                               ; preds = %59
  %64 = load i32, ptr %2, align 4, !tbaa !9
  %65 = zext i32 %64 to i64
  %66 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %65
  call void @test_message_connect(ptr noundef %66)
  br label %67

67:                                               ; preds = %63
  %68 = load i32, ptr %2, align 4, !tbaa !9
  %69 = add i32 %68, 1
  store i32 %69, ptr %2, align 4, !tbaa !9
  br label %59, !llvm.loop !14

70:                                               ; preds = %59
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %71

71:                                               ; preds = %119, %70
  %72 = load i32, ptr %2, align 4, !tbaa !9
  %73 = zext i32 %72 to i64
  %74 = icmp ult i64 %73, 29
  br i1 %74, label %75, label %122

75:                                               ; preds = %71
  %76 = load i32, ptr %2, align 4, !tbaa !9
  %77 = zext i32 %76 to i64
  %78 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %77
  %79 = getelementptr inbounds %struct.message, ptr %78, i32 0, i32 18
  %80 = load i32, ptr %79, align 4, !tbaa !15
  %81 = icmp ne i32 %80, 0
  br i1 %81, label %83, label %82

82:                                               ; preds = %75
  br label %119

83:                                               ; preds = %75
  store i32 0, ptr %3, align 4, !tbaa !9
  br label %84

84:                                               ; preds = %115, %83
  %85 = load i32, ptr %3, align 4, !tbaa !9
  %86 = zext i32 %85 to i64
  %87 = icmp ult i64 %86, 29
  br i1 %87, label %88, label %118

88:                                               ; preds = %84
  %89 = load i32, ptr %3, align 4, !tbaa !9
  %90 = zext i32 %89 to i64
  %91 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %90
  %92 = getelementptr inbounds %struct.message, ptr %91, i32 0, i32 18
  %93 = load i32, ptr %92, align 4, !tbaa !15
  %94 = icmp ne i32 %93, 0
  br i1 %94, label %96, label %95

95:                                               ; preds = %88
  br label %115

96:                                               ; preds = %88
  store i32 0, ptr %4, align 4, !tbaa !9
  br label %97

97:                                               ; preds = %111, %96
  %98 = load i32, ptr %4, align 4, !tbaa !9
  %99 = zext i32 %98 to i64
  %100 = icmp ult i64 %99, 29
  br i1 %100, label %101, label %114

101:                                              ; preds = %97
  %102 = load i32, ptr %2, align 4, !tbaa !9
  %103 = zext i32 %102 to i64
  %104 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %103
  %105 = load i32, ptr %3, align 4, !tbaa !9
  %106 = zext i32 %105 to i64
  %107 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %106
  %108 = load i32, ptr %4, align 4, !tbaa !9
  %109 = zext i32 %108 to i64
  %110 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %109
  call void @test_multiple3(ptr noundef %104, ptr noundef %107, ptr noundef %110)
  br label %111

111:                                              ; preds = %101
  %112 = load i32, ptr %4, align 4, !tbaa !9
  %113 = add i32 %112, 1
  store i32 %113, ptr %4, align 4, !tbaa !9
  br label %97, !llvm.loop !19

114:                                              ; preds = %97
  br label %115

115:                                              ; preds = %114, %95
  %116 = load i32, ptr %3, align 4, !tbaa !9
  %117 = add i32 %116, 1
  store i32 %117, ptr %3, align 4, !tbaa !9
  br label %84, !llvm.loop !20

118:                                              ; preds = %84
  br label %119

119:                                              ; preds = %118, %82
  %120 = load i32, ptr %2, align 4, !tbaa !9
  %121 = add i32 %120, 1
  store i32 %121, ptr %2, align 4, !tbaa !9
  br label %71, !llvm.loop !21

122:                                              ; preds = %71
  call void @test_message_count_body(ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 2))
  call void @test_message_count_body(ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 4))
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %123 = call ptr @create_large_chunked_message(i32 noundef 31337, ptr noundef @.str.373)
  store ptr %123, ptr %9, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 65720, ptr %10) #6
  call void @llvm.memset.p0.i64(ptr align 8 %10, i8 0, i64 65720, i1 false)
  %124 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 0
  store ptr @.str.374, ptr %124, align 8, !tbaa !23
  %125 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 1
  %126 = load ptr, ptr %9, align 8, !tbaa !22
  store ptr %126, ptr %125, align 8, !tbaa !24
  %127 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 2
  store i32 1, ptr %127, align 8, !tbaa !25
  %128 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 3
  %129 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 4
  store i32 200, ptr %129, align 8, !tbaa !26
  %130 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 5
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %130, ptr align 1 @.str.375, i64 2048, i1 false), !tbaa.struct !27
  %131 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 6
  %132 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 7
  %133 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 8
  %134 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 9
  %135 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 10
  %136 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 11
  store i64 32089088, ptr %136, align 8, !tbaa !29
  %137 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 12
  %138 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 13
  %139 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 14
  %140 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 15
  store i32 2, ptr %140, align 4, !tbaa !30
  %141 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 16
  %142 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 17
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %142, ptr align 1 @constinit, i64 53248, i1 false), !tbaa.struct !31
  %143 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 18
  %144 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 19
  %145 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 20
  store i32 31338, ptr %145, align 4, !tbaa !32
  %146 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 21
  %147 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 22
  %148 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 23
  store i16 1, ptr %148, align 8, !tbaa !33
  %149 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 24
  %150 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 25
  %151 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 26
  %152 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 27
  %153 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 28
  %154 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 29
  %155 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 30
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %156

156:                                              ; preds = %164, %122
  %157 = load i32, ptr %2, align 4, !tbaa !9
  %158 = icmp ult i32 %157, 16
  br i1 %158, label %159, label %167

159:                                              ; preds = %156
  %160 = getelementptr inbounds %struct.message, ptr %10, i32 0, i32 21
  %161 = load i32, ptr %2, align 4, !tbaa !9
  %162 = zext i32 %161 to i64
  %163 = getelementptr inbounds [16 x i32], ptr %160, i64 0, i64 %162
  store i32 1024, ptr %163, align 4, !tbaa !9
  br label %164

164:                                              ; preds = %159
  %165 = load i32, ptr %2, align 4, !tbaa !9
  %166 = add i32 %165, 1
  store i32 %166, ptr %2, align 4, !tbaa !9
  br label %156, !llvm.loop !34

167:                                              ; preds = %156
  call void @test_message_count_body(ptr noundef %10)
  %168 = load ptr, ptr %9, align 8, !tbaa !22
  call void @free(ptr noundef %168) #6
  call void @llvm.lifetime.end.p0(i64 65720, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  %169 = call i32 (ptr, ...) @printf(ptr noundef @.str.376)
  call void @test_scan(ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 4), ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 14), ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 3))
  %170 = call i32 (ptr, ...) @printf(ptr noundef @.str.377)
  call void @test_scan(ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 8), ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 7), ptr noundef getelementptr inbounds ([29 x %struct.message], ptr @responses, i64 0, i64 5))
  %171 = call i32 @puts(ptr noundef @.str.378)
  call void @test_simple(ptr noundef @.str.379, i32 noundef 28)
  call void @test_simple(ptr noundef @.str.380, i32 noundef 28)
  call void @test_simple(ptr noundef @.str.381, i32 noundef 14)
  call void @test_simple(ptr noundef @.str.382, i32 noundef 14)
  call void @test_simple(ptr noundef @.str.383, i32 noundef 14)
  call void @test_simple(ptr noundef @.str.384, i32 noundef 14)
  call void @test_simple(ptr noundef @.str.385, i32 noundef 24)
  call void @test_simple(ptr noundef @.str.386, i32 noundef 24)
  call void @test_simple(ptr noundef @.str.387, i32 noundef 0)
  call void @test_simple(ptr noundef @.str.388, i32 noundef 0)
  call void @test_simple(ptr noundef @.str.389, i32 noundef 33)
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  store ptr @main.all_methods, ptr %11, align 8, !tbaa !22
  br label %172

172:                                              ; preds = %182, %167
  %173 = load ptr, ptr %11, align 8, !tbaa !22
  %174 = load ptr, ptr %173, align 8, !tbaa !22
  %175 = icmp ne ptr %174, null
  br i1 %175, label %176, label %185

176:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 200, ptr %12) #6
  %177 = getelementptr inbounds [200 x i8], ptr %12, i64 0, i64 0
  %178 = load ptr, ptr %11, align 8, !tbaa !22
  %179 = load ptr, ptr %178, align 8, !tbaa !22
  %180 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %177, ptr noundef @.str.421, ptr noundef %179) #6
  %181 = getelementptr inbounds [200 x i8], ptr %12, i64 0, i64 0
  call void @test_simple(ptr noundef %181, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 200, ptr %12) #6
  br label %182

182:                                              ; preds = %176
  %183 = load ptr, ptr %11, align 8, !tbaa !22
  %184 = getelementptr inbounds ptr, ptr %183, i32 1
  store ptr %184, ptr %11, align 8, !tbaa !22
  br label %172, !llvm.loop !35

185:                                              ; preds = %172
  store ptr @main.bad_methods, ptr %11, align 8, !tbaa !22
  br label %186

186:                                              ; preds = %196, %185
  %187 = load ptr, ptr %11, align 8, !tbaa !22
  %188 = load ptr, ptr %187, align 8, !tbaa !22
  %189 = icmp ne ptr %188, null
  br i1 %189, label %190, label %199

190:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 200, ptr %13) #6
  %191 = getelementptr inbounds [200 x i8], ptr %13, i64 0, i64 0
  %192 = load ptr, ptr %11, align 8, !tbaa !22
  %193 = load ptr, ptr %192, align 8, !tbaa !22
  %194 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %191, ptr noundef @.str.421, ptr noundef %193) #6
  %195 = getelementptr inbounds [200 x i8], ptr %13, i64 0, i64 0
  call void @test_simple(ptr noundef %195, i32 noundef 16)
  call void @llvm.lifetime.end.p0(i64 200, ptr %13) #6
  br label %196

196:                                              ; preds = %190
  %197 = load ptr, ptr %11, align 8, !tbaa !22
  %198 = getelementptr inbounds ptr, ptr %197, i32 1
  store ptr %198, ptr %11, align 8, !tbaa !22
  br label %186, !llvm.loop !36

199:                                              ; preds = %186
  call void @test_simple(ptr noundef @.str.434, i32 noundef 24)
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  store ptr @.str.435, ptr %14, align 8, !tbaa !22
  %200 = load ptr, ptr %14, align 8, !tbaa !22
  call void @test_simple(ptr noundef %200, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #6
  store ptr @.str.436, ptr %15, align 8, !tbaa !22
  %201 = load ptr, ptr %15, align 8, !tbaa !22
  call void @test_simple(ptr noundef %201, i32 noundef 24)
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  store ptr @.str.437, ptr %16, align 8, !tbaa !22
  %202 = load ptr, ptr %16, align 8, !tbaa !22
  call void @test_simple(ptr noundef %202, i32 noundef 24)
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %203

203:                                              ; preds = %211, %199
  %204 = load i32, ptr %2, align 4, !tbaa !9
  %205 = zext i32 %204 to i64
  %206 = icmp ult i64 %205, 44
  br i1 %206, label %207, label %214

207:                                              ; preds = %203
  %208 = load i32, ptr %2, align 4, !tbaa !9
  %209 = zext i32 %208 to i64
  %210 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %209
  call void @test_message(ptr noundef %210)
  br label %211

211:                                              ; preds = %207
  %212 = load i32, ptr %2, align 4, !tbaa !9
  %213 = add i32 %212, 1
  store i32 %213, ptr %2, align 4, !tbaa !9
  br label %203, !llvm.loop !37

214:                                              ; preds = %203
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %215

215:                                              ; preds = %223, %214
  %216 = load i32, ptr %2, align 4, !tbaa !9
  %217 = zext i32 %216 to i64
  %218 = icmp ult i64 %217, 44
  br i1 %218, label %219, label %226

219:                                              ; preds = %215
  %220 = load i32, ptr %2, align 4, !tbaa !9
  %221 = zext i32 %220 to i64
  %222 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %221
  call void @test_message_pause(ptr noundef %222)
  br label %223

223:                                              ; preds = %219
  %224 = load i32, ptr %2, align 4, !tbaa !9
  %225 = add i32 %224, 1
  store i32 %225, ptr %2, align 4, !tbaa !9
  br label %215, !llvm.loop !38

226:                                              ; preds = %215
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %227

227:                                              ; preds = %275, %226
  %228 = load i32, ptr %2, align 4, !tbaa !9
  %229 = zext i32 %228 to i64
  %230 = icmp ult i64 %229, 44
  br i1 %230, label %231, label %278

231:                                              ; preds = %227
  %232 = load i32, ptr %2, align 4, !tbaa !9
  %233 = zext i32 %232 to i64
  %234 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %233
  %235 = getelementptr inbounds %struct.message, ptr %234, i32 0, i32 18
  %236 = load i32, ptr %235, align 4, !tbaa !15
  %237 = icmp ne i32 %236, 0
  br i1 %237, label %239, label %238

238:                                              ; preds = %231
  br label %275

239:                                              ; preds = %231
  store i32 0, ptr %3, align 4, !tbaa !9
  br label %240

240:                                              ; preds = %271, %239
  %241 = load i32, ptr %3, align 4, !tbaa !9
  %242 = zext i32 %241 to i64
  %243 = icmp ult i64 %242, 44
  br i1 %243, label %244, label %274

244:                                              ; preds = %240
  %245 = load i32, ptr %3, align 4, !tbaa !9
  %246 = zext i32 %245 to i64
  %247 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %246
  %248 = getelementptr inbounds %struct.message, ptr %247, i32 0, i32 18
  %249 = load i32, ptr %248, align 4, !tbaa !15
  %250 = icmp ne i32 %249, 0
  br i1 %250, label %252, label %251

251:                                              ; preds = %244
  br label %271

252:                                              ; preds = %244
  store i32 0, ptr %4, align 4, !tbaa !9
  br label %253

253:                                              ; preds = %267, %252
  %254 = load i32, ptr %4, align 4, !tbaa !9
  %255 = zext i32 %254 to i64
  %256 = icmp ult i64 %255, 44
  br i1 %256, label %257, label %270

257:                                              ; preds = %253
  %258 = load i32, ptr %2, align 4, !tbaa !9
  %259 = zext i32 %258 to i64
  %260 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %259
  %261 = load i32, ptr %3, align 4, !tbaa !9
  %262 = zext i32 %261 to i64
  %263 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %262
  %264 = load i32, ptr %4, align 4, !tbaa !9
  %265 = zext i32 %264 to i64
  %266 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %265
  call void @test_multiple3(ptr noundef %260, ptr noundef %263, ptr noundef %266)
  br label %267

267:                                              ; preds = %257
  %268 = load i32, ptr %4, align 4, !tbaa !9
  %269 = add i32 %268, 1
  store i32 %269, ptr %4, align 4, !tbaa !9
  br label %253, !llvm.loop !39

270:                                              ; preds = %253
  br label %271

271:                                              ; preds = %270, %251
  %272 = load i32, ptr %3, align 4, !tbaa !9
  %273 = add i32 %272, 1
  store i32 %273, ptr %3, align 4, !tbaa !9
  br label %240, !llvm.loop !40

274:                                              ; preds = %240
  br label %275

275:                                              ; preds = %274, %238
  %276 = load i32, ptr %2, align 4, !tbaa !9
  %277 = add i32 %276, 1
  store i32 %277, ptr %2, align 4, !tbaa !9
  br label %227, !llvm.loop !41

278:                                              ; preds = %227
  %279 = call i32 (ptr, ...) @printf(ptr noundef @.str.438)
  call void @test_scan(ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 4), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 5), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 4))
  %280 = call i32 (ptr, ...) @printf(ptr noundef @.str.439)
  call void @test_scan(ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 8), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 7), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 6))
  %281 = call i32 (ptr, ...) @printf(ptr noundef @.str.440)
  call void @test_scan(ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 9), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 10), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 11))
  %282 = call i32 (ptr, ...) @printf(ptr noundef @.str.441)
  call void @test_scan(ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 14), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 15), ptr noundef getelementptr inbounds ([44 x %struct.message], ptr @requests, i64 0, i64 17))
  %283 = call i32 @puts(ptr noundef @.str.442)
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #6
  ret i32 0
}

declare i64 @http_parser_version() #3

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { "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 = { 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 #5 = { 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 = { 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 = !{!"long", !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 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = !{!16, !10, i64 65604}
!16 = !{!"message", !17, i64 0, !17, i64 8, !10, i64 16, !10, i64 20, !10, i64 24, !7, i64 28, !7, i64 2076, !7, i64 4124, !7, i64 6172, !7, i64 8220, !7, i64 10268, !6, i64 12320, !17, i64 12328, !17, i64 12336, !18, i64 12344, !10, i64 12348, !10, i64 12352, !7, i64 12356, !10, i64 65604, !10, i64 65608, !10, i64 65612, !7, i64 65616, !17, i64 65680, !18, i64 65688, !18, i64 65690, !10, i64 65692, !10, i64 65696, !10, i64 65700, !10, i64 65704, !10, i64 65708, !10, i64 65712}
!17 = !{!"any pointer", !7, i64 0}
!18 = !{!"short", !7, i64 0}
!19 = distinct !{!19, !12}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12}
!22 = !{!17, !17, i64 0}
!23 = !{!16, !17, i64 0}
!24 = !{!16, !17, i64 8}
!25 = !{!16, !10, i64 16}
!26 = !{!16, !10, i64 24}
!27 = !{i64 0, i64 2048, !28}
!28 = !{!7, !7, i64 0}
!29 = !{!16, !6, i64 12320}
!30 = !{!16, !10, i64 12348}
!31 = !{i64 0, i64 53248, !28}
!32 = !{!16, !10, i64 65612}
!33 = !{!16, !18, i64 65688}
!34 = distinct !{!34, !12}
!35 = distinct !{!35, !12}
!36 = distinct !{!36, !12}
!37 = distinct !{!37, !12}
!38 = distinct !{!38, !12}
!39 = distinct !{!39, !12}
!40 = distinct !{!40, !12}
!41 = distinct !{!41, !12}


; 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.message = type { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, [13 x [2 x [2048 x i8]]], i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }

@requests = external dso_local constant <{ { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 } }>, align 16
@responses = external dso_local constant <{ %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [8 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [9 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, [13 x [2 x [2048 x i8]]], i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, %struct.message, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, [15 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [2 x [2048 x i8]], [10 x [2 x [2048 x i8]]] }>, i32, i32, i32, <{ i32, i32, [14 x i32] }>, ptr, i16, i16, i32, i32, i32, i32, i32, i32 }, { ptr, ptr, i32, i32, i32, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], i64, ptr, ptr, i16, i32, i32, <{ [2 x [2048 x i8]], [12 x [2 x [2048 x i8]]] }>, i32, i32, i32, [16 x i32], ptr, i16, i16, i32, i32, i32, i32, i32, i32 } }>, align 16
@.str.359 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.362 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.368 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.369 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.371 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.372 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.374 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [2048 x i8], align 1
@constinit = external hidden local_unnamed_addr constant <{ [2 x [2048 x i8]], [2 x [2048 x i8]], [11 x [2 x [2048 x i8]]] }>, align 1
@.str.376 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.382 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.384 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.387 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.388 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [47 x i8], align 1
@main.all_methods = external hidden local_unnamed_addr global [33 x ptr], align 16
@.str.421 = external hidden unnamed_addr constant [18 x i8], align 1
@main.bad_methods = external hidden local_unnamed_addr global [13 x ptr], align 16
@.str.434 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [2045 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [14 x i8], align 1

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

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

; 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) #1

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

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local void @test_preserve_data() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_parse_url() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_method_str() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_status_str() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_count_body(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_simple_type(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_simple(ptr noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_invalid_header_field_content_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_invalid_header_field_token_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_double_content_length_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_chunked_content_length_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_cr_no_lf_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_no_overflow_parse_url() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_overflow_error(i32 noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_nread_value() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_header_content_length_overflow_error() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_chunk_content_length_overflow_error() local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_no_overflow_long_body(i32 noundef, i64 noundef) local_unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @sprintf(ptr noalias nocapture noundef writeonly, ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local void @test_multiple3(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_scan(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @puts(ptr nocapture noundef readonly) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local ptr @create_large_chunked_message(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_pause(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare dso_local void @test_message_connect(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main() local_unnamed_addr #4 {
.preheader90.preheader:
  %0 = alloca %struct.message, align 8
  %1 = alloca [200 x i8], align 16
  %2 = alloca [200 x i8], align 16
  %3 = tail call i64 @http_parser_version() #7
  %4 = trunc i64 %3 to i32
  %5 = lshr i32 %4, 16
  %6 = and i32 %5, 255
  %7 = lshr i32 %4, 8
  %8 = and i32 %7, 255
  %9 = and i32 %4, 255
  %10 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.359, i32 noundef %6, i32 noundef %8, i32 noundef %9, i64 noundef %3)
  %11 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.360, i32 noundef 32)
  tail call void @test_preserve_data()
  tail call void @test_parse_url()
  tail call void @test_method_str()
  tail call void @test_status_str()
  tail call void @test_header_nread_value()
  tail call void @test_no_overflow_parse_url()
  tail call void @test_header_overflow_error(i32 noundef 0)
  tail call void @test_no_overflow_long_body(i32 noundef 0, i64 noundef 1000)
  tail call void @test_no_overflow_long_body(i32 noundef 0, i64 noundef 100000)
  tail call void @test_header_overflow_error(i32 noundef 1)
  tail call void @test_no_overflow_long_body(i32 noundef 1, i64 noundef 1000)
  tail call void @test_no_overflow_long_body(i32 noundef 1, i64 noundef 100000)
  tail call void @test_header_content_length_overflow_error()
  tail call void @test_chunk_content_length_overflow_error()
  tail call void @test_double_content_length_error(i32 noundef 0)
  tail call void @test_chunked_content_length_error(i32 noundef 0)
  tail call void @test_header_cr_no_lf_error(i32 noundef 0)
  tail call void @test_invalid_header_field_token_error(i32 noundef 0)
  tail call void @test_invalid_header_field_content_error(i32 noundef 0)
  tail call void @test_double_content_length_error(i32 noundef 1)
  tail call void @test_chunked_content_length_error(i32 noundef 1)
  tail call void @test_header_cr_no_lf_error(i32 noundef 1)
  tail call void @test_invalid_header_field_token_error(i32 noundef 1)
  tail call void @test_invalid_header_field_content_error(i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.361, i32 noundef 25, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.362, i32 noundef 0, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.363, i32 noundef 25, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.364, i32 noundef 25, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.365, i32 noundef 25, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.366, i32 noundef 0, i32 noundef 0)
  tail call void @test_simple_type(ptr noundef nonnull @.str.367, i32 noundef 14, i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.368, i32 noundef 14, i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.369, i32 noundef 14, i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.370, i32 noundef 14, i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.371, i32 noundef 14, i32 noundef 1)
  tail call void @test_simple_type(ptr noundef nonnull @.str.372, i32 noundef 14, i32 noundef 1)
  tail call void @test_message(ptr noundef nonnull @responses)
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 65720))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 131440))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 197160))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 328600))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 394320))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 460040))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 525760))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 591480))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 657200))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 722920))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 788640))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 854360))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 920080))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 985800))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1051520))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1117240))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1182960))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1248680))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1314400))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1380120))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1445840))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1511560))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1577280))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1643000))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1708720))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1774440))
  tail call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1840160))
  tail call void @test_message_pause(ptr noundef nonnull @responses)
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 65720))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 131440))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 197160))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 328600))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 394320))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 460040))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 525760))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 591480))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 657200))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 722920))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 788640))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 854360))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 920080))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 985800))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1051520))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1117240))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1182960))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1248680))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1314400))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1380120))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1445840))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1511560))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1577280))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1643000))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1708720))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1774440))
  tail call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1840160))
  tail call void @test_message_connect(ptr noundef nonnull @responses)
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 65720))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 131440))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 197160))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 328600))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 394320))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 460040))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 525760))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 591480))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 657200))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 722920))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 788640))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 854360))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 920080))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 985800))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1051520))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1117240))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1182960))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1248680))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1314400))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1380120))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1445840))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1511560))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1577280))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1643000))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1708720))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1774440))
  tail call void @test_message_connect(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1840160))
  br label %.preheader88

.preheader88:                                     ; preds = %.preheader90.preheader, %.loopexit87
  %indvars.iv113 = phi i64 [ 0, %.preheader90.preheader ], [ %indvars.iv.next114, %.loopexit87 ]
  %12 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %indvars.iv113
  %13 = getelementptr inbounds i8, ptr %12, i64 65604
  %14 = load i32, ptr %13, align 4, !tbaa !5
  %.not77 = icmp eq i32 %14, 0
  br i1 %.not77, label %.loopexit87, label %.preheader86

.preheader86:                                     ; preds = %.preheader88, %.loopexit85
  %indvars.iv = phi i64 [ %indvars.iv.next, %.loopexit85 ], [ 0, %.preheader88 ]
  %15 = getelementptr inbounds [29 x %struct.message], ptr @responses, i64 0, i64 %indvars.iv
  %16 = getelementptr inbounds i8, ptr %15, i64 65604
  %17 = load i32, ptr %16, align 4, !tbaa !5
  %.not78 = icmp eq i32 %17, 0
  br i1 %.not78, label %.loopexit85, label %.preheader84.preheader

.preheader84.preheader:                           ; preds = %.preheader86
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull @responses)
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 65720))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 131440))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 197160))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 328600))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 394320))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 460040))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 525760))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 591480))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 657200))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 722920))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 788640))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 854360))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 920080))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 985800))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1051520))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1117240))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1182960))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1248680))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1314400))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1380120))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1445840))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1511560))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1577280))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1643000))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1708720))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1774440))
  tail call void @test_multiple3(ptr noundef nonnull %12, ptr noundef nonnull %15, ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 1840160))
  br label %.loopexit85

.loopexit85:                                      ; preds = %.preheader84.preheader, %.preheader86
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 29
  br i1 %exitcond.not, label %.loopexit87, label %.preheader86, !llvm.loop !13

.loopexit87:                                      ; preds = %.loopexit85, %.preheader88
  %indvars.iv.next114 = add nuw nsw i64 %indvars.iv113, 1
  %exitcond116.not = icmp eq i64 %indvars.iv.next114, 29
  br i1 %exitcond116.not, label %18, label %.preheader88, !llvm.loop !15

18:                                               ; preds = %.loopexit87
  tail call void @test_message_count_body(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 131440))
  tail call void @test_message_count_body(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880))
  %19 = tail call ptr @create_large_chunked_message(i32 noundef 31337, ptr noundef nonnull @.str.373)
  call void @llvm.lifetime.start.p0(i64 65720, ptr nonnull %0) #7
  %20 = getelementptr inbounds i8, ptr %0, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(65720) %20, i8 0, i64 65704, i1 false)
  store ptr @.str.374, ptr %0, align 8, !tbaa !16
  %21 = getelementptr inbounds i8, ptr %0, i64 8
  store ptr %19, ptr %21, align 8, !tbaa !17
  %22 = getelementptr inbounds i8, ptr %0, i64 16
  store i32 1, ptr %22, align 8, !tbaa !18
  %23 = getelementptr inbounds i8, ptr %0, i64 24
  store i32 200, ptr %23, align 8, !tbaa !19
  %24 = getelementptr inbounds i8, ptr %0, i64 28
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(2048) %24, ptr noundef nonnull align 1 dereferenceable(2048) @.str.375, i64 2048, i1 false), !tbaa.struct !20
  %25 = getelementptr inbounds i8, ptr %0, i64 12320
  store i64 32089088, ptr %25, align 8, !tbaa !22
  %26 = getelementptr inbounds i8, ptr %0, i64 12348
  store i32 2, ptr %26, align 4, !tbaa !23
  %27 = getelementptr inbounds i8, ptr %0, i64 12356
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(53248) %27, ptr noundef nonnull align 1 dereferenceable(53248) @constinit, i64 53248, i1 false), !tbaa.struct !24
  %28 = getelementptr inbounds i8, ptr %0, i64 65612
  store i32 31338, ptr %28, align 4, !tbaa !25
  %29 = getelementptr inbounds i8, ptr %0, i64 65688
  store i16 1, ptr %29, align 8, !tbaa !26
  %30 = getelementptr inbounds i8, ptr %0, i64 65616
  store <4 x i32> <i32 1024, i32 1024, i32 1024, i32 1024>, ptr %30, align 8, !tbaa !27
  %31 = getelementptr inbounds i8, ptr %0, i64 65632
  store <4 x i32> <i32 1024, i32 1024, i32 1024, i32 1024>, ptr %31, align 8, !tbaa !27
  %32 = getelementptr inbounds i8, ptr %0, i64 65648
  store <4 x i32> <i32 1024, i32 1024, i32 1024, i32 1024>, ptr %32, align 8, !tbaa !27
  %33 = getelementptr inbounds i8, ptr %0, i64 65664
  store <4 x i32> <i32 1024, i32 1024, i32 1024, i32 1024>, ptr %33, align 8, !tbaa !27
  call void @test_message_count_body(ptr noundef nonnull %0)
  call void @free(ptr noundef %19) #7
  call void @llvm.lifetime.end.p0(i64 65720, ptr nonnull %0) #7
  %34 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.376)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 262880), ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 920080), ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 197160))
  %35 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.377)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 525760), ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 460040), ptr noundef nonnull getelementptr inbounds (i8, ptr @responses, i64 328600))
  %36 = call i32 @puts(ptr noundef nonnull dereferenceable(1) @.str.378)
  call void @test_simple(ptr noundef nonnull @.str.379, i32 noundef 28)
  call void @test_simple(ptr noundef nonnull @.str.380, i32 noundef 28)
  call void @test_simple(ptr noundef nonnull @.str.381, i32 noundef 14)
  call void @test_simple(ptr noundef nonnull @.str.382, i32 noundef 14)
  call void @test_simple(ptr noundef nonnull @.str.383, i32 noundef 14)
  call void @test_simple(ptr noundef nonnull @.str.384, i32 noundef 14)
  call void @test_simple(ptr noundef nonnull @.str.385, i32 noundef 24)
  call void @test_simple(ptr noundef nonnull @.str.386, i32 noundef 24)
  call void @test_simple(ptr noundef nonnull @.str.387, i32 noundef 0)
  call void @test_simple(ptr noundef nonnull @.str.388, i32 noundef 0)
  call void @test_simple(ptr noundef nonnull @.str.389, i32 noundef 33)
  %37 = load ptr, ptr @main.all_methods, align 16, !tbaa !28
  %.not98 = icmp eq ptr %37, null
  br i1 %.not98, label %.preheader83, label %.lr.ph

.preheader83:                                     ; preds = %.lr.ph, %18
  %38 = load ptr, ptr @main.bad_methods, align 16, !tbaa !28
  %.not74100 = icmp eq ptr %38, null
  br i1 %.not74100, label %._crit_edge, label %.lr.ph102

.lr.ph:                                           ; preds = %18, %.lr.ph
  %39 = phi ptr [ %42, %.lr.ph ], [ %37, %18 ]
  %.06199 = phi ptr [ %41, %.lr.ph ], [ @main.all_methods, %18 ]
  call void @llvm.lifetime.start.p0(i64 200, ptr nonnull %1) #7
  %40 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %1, ptr noundef nonnull dereferenceable(1) @.str.421, ptr noundef nonnull %39) #7
  call void @test_simple(ptr noundef nonnull %1, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 200, ptr nonnull %1) #7
  %41 = getelementptr inbounds i8, ptr %.06199, i64 8
  %42 = load ptr, ptr %41, align 8, !tbaa !28
  %.not = icmp eq ptr %42, null
  br i1 %.not, label %.preheader83, label %.lr.ph, !llvm.loop !29

.lr.ph102:                                        ; preds = %.preheader83, %.lr.ph102
  %43 = phi ptr [ %46, %.lr.ph102 ], [ %38, %.preheader83 ]
  %.162101 = phi ptr [ %45, %.lr.ph102 ], [ @main.bad_methods, %.preheader83 ]
  call void @llvm.lifetime.start.p0(i64 200, ptr nonnull %2) #7
  %44 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %2, ptr noundef nonnull dereferenceable(1) @.str.421, ptr noundef nonnull %43) #7
  call void @test_simple(ptr noundef nonnull %2, i32 noundef 16)
  call void @llvm.lifetime.end.p0(i64 200, ptr nonnull %2) #7
  %45 = getelementptr inbounds i8, ptr %.162101, i64 8
  %46 = load ptr, ptr %45, align 8, !tbaa !28
  %.not74 = icmp eq ptr %46, null
  br i1 %.not74, label %._crit_edge, label %.lr.ph102, !llvm.loop !30

._crit_edge:                                      ; preds = %.lr.ph102, %.preheader83
  call void @test_simple(ptr noundef nonnull @.str.434, i32 noundef 24)
  call void @test_simple(ptr noundef nonnull @.str.435, i32 noundef 0)
  call void @test_simple(ptr noundef nonnull @.str.436, i32 noundef 24)
  call void @test_simple(ptr noundef nonnull @.str.437, i32 noundef 24)
  call void @test_message(ptr noundef nonnull @requests)
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 65720))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 131440))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 197160))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 262880))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 328600))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 394320))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 460040))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 525760))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 591480))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 657200))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 722920))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 788640))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 854360))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 920080))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 985800))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1051520))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1117240))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1182960))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1248680))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1314400))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1380120))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1445840))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1511560))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1577280))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1643000))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1708720))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1774440))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1840160))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1905880))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1971600))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2037320))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2103040))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2168760))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2234480))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2300200))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2365920))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2431640))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2497360))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2563080))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2628800))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2694520))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2760240))
  call void @test_message(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2825960))
  call void @test_message_pause(ptr noundef nonnull @requests)
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 65720))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 131440))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 197160))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 262880))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 328600))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 394320))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 460040))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 525760))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 591480))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 657200))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 722920))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 788640))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 854360))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 920080))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 985800))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1051520))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1117240))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1182960))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1248680))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1314400))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1380120))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1445840))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1511560))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1577280))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1643000))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1708720))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1774440))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1840160))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1905880))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1971600))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2037320))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2103040))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2168760))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2234480))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2300200))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2365920))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2431640))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2497360))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2563080))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2628800))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2694520))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2760240))
  call void @test_message_pause(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2825960))
  br label %.preheader81

.preheader81:                                     ; preds = %._crit_edge, %.loopexit80
  %indvars.iv137 = phi i64 [ 0, %._crit_edge ], [ %indvars.iv.next138, %.loopexit80 ]
  %47 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %indvars.iv137
  %48 = getelementptr inbounds i8, ptr %47, i64 65604
  %49 = load i32, ptr %48, align 4, !tbaa !5
  %.not75 = icmp eq i32 %49, 0
  br i1 %.not75, label %.loopexit80, label %.preheader79

.preheader79:                                     ; preds = %.preheader81, %.loopexit
  %indvars.iv133 = phi i64 [ %indvars.iv.next134, %.loopexit ], [ 0, %.preheader81 ]
  %50 = getelementptr inbounds [44 x %struct.message], ptr @requests, i64 0, i64 %indvars.iv133
  %51 = getelementptr inbounds i8, ptr %50, i64 65604
  %52 = load i32, ptr %51, align 4, !tbaa !5
  %.not76 = icmp eq i32 %52, 0
  br i1 %.not76, label %.loopexit, label %.preheader.preheader

.preheader.preheader:                             ; preds = %.preheader79
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull @requests)
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 65720))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 131440))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 197160))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 262880))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 328600))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 394320))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 460040))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 525760))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 591480))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 657200))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 722920))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 788640))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 854360))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 920080))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 985800))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1051520))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1117240))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1182960))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1248680))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1314400))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1380120))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1445840))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1511560))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1577280))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1643000))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1708720))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1774440))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1840160))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1905880))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1971600))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2037320))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2103040))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2168760))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2234480))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2300200))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2365920))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2431640))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2497360))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2563080))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2628800))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2694520))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2760240))
  call void @test_multiple3(ptr noundef nonnull %47, ptr noundef nonnull %50, ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 2825960))
  br label %.loopexit

.loopexit:                                        ; preds = %.preheader.preheader, %.preheader79
  %indvars.iv.next134 = add nuw nsw i64 %indvars.iv133, 1
  %exitcond136.not = icmp eq i64 %indvars.iv.next134, 44
  br i1 %exitcond136.not, label %.loopexit80, label %.preheader79, !llvm.loop !31

.loopexit80:                                      ; preds = %.loopexit, %.preheader81
  %indvars.iv.next138 = add nuw nsw i64 %indvars.iv137, 1
  %exitcond140.not = icmp eq i64 %indvars.iv.next138, 44
  br i1 %exitcond140.not, label %53, label %.preheader81, !llvm.loop !32

53:                                               ; preds = %.loopexit80
  %54 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.438)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 262880), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 328600), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 262880))
  %55 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.439)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 525760), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 460040), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 394320))
  %56 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.440)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 591480), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 657200), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 722920))
  %57 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.441)
  call void @test_scan(ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 920080), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 985800), ptr noundef nonnull getelementptr inbounds (i8, ptr @requests, i64 1117240))
  %58 = call i32 @puts(ptr noundef nonnull dereferenceable(1) @.str.442)
  ret i32 0
}

declare i64 @http_parser_version() local_unnamed_addr #5

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #3 = { nofree 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 = { 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 #5 = { "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 = { 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 #7 = { 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, !10, i64 65604}
!6 = !{!"message", !7, i64 0, !7, i64 8, !10, i64 16, !10, i64 20, !10, i64 24, !8, i64 28, !8, i64 2076, !8, i64 4124, !8, i64 6172, !8, i64 8220, !8, i64 10268, !11, i64 12320, !7, i64 12328, !7, i64 12336, !12, i64 12344, !10, i64 12348, !10, i64 12352, !8, i64 12356, !10, i64 65604, !10, i64 65608, !10, i64 65612, !8, i64 65616, !7, i64 65680, !12, i64 65688, !12, i64 65690, !10, i64 65692, !10, i64 65696, !10, i64 65700, !10, i64 65704, !10, i64 65708, !10, i64 65712}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"long", !8, i64 0}
!12 = !{!"short", !8, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = !{!6, !7, i64 0}
!17 = !{!6, !7, i64 8}
!18 = !{!6, !10, i64 16}
!19 = !{!6, !10, i64 24}
!20 = !{i64 0, i64 2048, !21}
!21 = !{!8, !8, i64 0}
!22 = !{!6, !11, i64 12320}
!23 = !{!6, !10, i64 12348}
!24 = !{i64 0, i64 53248, !21}
!25 = !{!6, !10, i64 65612}
!26 = !{!6, !12, i64 65688}
!27 = !{!10, !10, i64 0}
!28 = !{!7, !7, i64 0}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}
!32 = distinct !{!32, !14}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass