; LLVM IR from JessonYue/LeetCodeLearning :: Array/caiweixiong/c (elf)

; 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.Elf32_Ehdr = type { [16 x i8], i16, i16, i32, i32, i32, i32, i32, i16, i16, i16, i16, i16, i16 }

@.str.3 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [40 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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @printfElf32_EhdrMessage(ptr noundef byval(%struct.Elf32_Ehdr) align 8 %0) #2 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = call i32 (ptr, ...) @printf(ptr noundef @.str.12)
  %5 = call i32 (ptr, ...) @printf(ptr noundef @.str.13)
  call void @llvm.lifetime.start.p0(i64 8, ptr %2) #3
  %6 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 0
  %7 = getelementptr inbounds [16 x i8], ptr %6, i64 0, i64 0
  store ptr %7, ptr %2, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #3
  store i32 0, ptr %3, align 4, !tbaa !9
  br label %8

8:                                                ; preds = %20, %1
  %9 = load i32, ptr %3, align 4, !tbaa !9
  %10 = icmp slt i32 %9, 16
  br i1 %10, label %12, label %11

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

12:                                               ; preds = %8
  %13 = load ptr, ptr %2, align 8, !tbaa !5
  %14 = load i32, ptr %3, align 4, !tbaa !9
  %15 = sext i32 %14 to i64
  %16 = getelementptr inbounds i8, ptr %13, i64 %15
  %17 = load i8, ptr %16, align 1, !tbaa !11
  %18 = zext i8 %17 to i32
  %19 = call i32 (ptr, ...) @printf(ptr noundef @.str.14, i32 noundef %18)
  br label %20

20:                                               ; preds = %12
  %21 = load i32, ptr %3, align 4, !tbaa !9
  %22 = add nsw i32 %21, 1
  store i32 %22, ptr %3, align 4, !tbaa !9
  br label %8, !llvm.loop !12

23:                                               ; preds = %11
  %24 = call i32 (ptr, ...) @printf(ptr noundef @.str.15)
  %25 = load ptr, ptr %2, align 8, !tbaa !5
  %26 = getelementptr inbounds i8, ptr %25, i64 4
  %27 = load i8, ptr %26, align 1, !tbaa !11
  %28 = zext i8 %27 to i32
  switch i32 %28, label %35 [
    i32 0, label %29
    i32 1, label %31
    i32 2, label %33
  ]

29:                                               ; preds = %23
  %30 = call i32 (ptr, ...) @printf(ptr noundef @.str.3)
  br label %41

31:                                               ; preds = %23
  %32 = call i32 (ptr, ...) @printf(ptr noundef @.str.16)
  br label %41

33:                                               ; preds = %23
  %34 = call i32 (ptr, ...) @printf(ptr noundef @.str.4)
  br label %41

35:                                               ; preds = %23
  %36 = load ptr, ptr %2, align 8, !tbaa !5
  %37 = getelementptr inbounds i8, ptr %36, i64 4
  %38 = load i8, ptr %37, align 1, !tbaa !11
  %39 = zext i8 %38 to i32
  %40 = call i32 (ptr, ...) @printf(ptr noundef @.str.5, i32 noundef %39)
  br label %41

41:                                               ; preds = %35, %33, %31, %29
  %42 = load ptr, ptr %2, align 8, !tbaa !5
  %43 = getelementptr inbounds i8, ptr %42, i64 5
  %44 = load i8, ptr %43, align 1, !tbaa !11
  %45 = zext i8 %44 to i32
  switch i32 %45, label %52 [
    i32 0, label %46
    i32 1, label %48
    i32 2, label %50
  ]

46:                                               ; preds = %41
  %47 = call i32 (ptr, ...) @printf(ptr noundef @.str.17)
  br label %58

48:                                               ; preds = %41
  %49 = call i32 (ptr, ...) @printf(ptr noundef @.str.18)
  br label %58

50:                                               ; preds = %41
  %51 = call i32 (ptr, ...) @printf(ptr noundef @.str.19)
  br label %58

52:                                               ; preds = %41
  %53 = load ptr, ptr %2, align 8, !tbaa !5
  %54 = getelementptr inbounds i8, ptr %53, i64 5
  %55 = load i8, ptr %54, align 1, !tbaa !11
  %56 = zext i8 %55 to i32
  %57 = call i32 (ptr, ...) @printf(ptr noundef @.str.20, i32 noundef %56)
  br label %58

58:                                               ; preds = %52, %50, %48, %46
  %59 = load ptr, ptr %2, align 8, !tbaa !5
  %60 = getelementptr inbounds i8, ptr %59, i64 6
  %61 = load i8, ptr %60, align 1, !tbaa !11
  %62 = zext i8 %61 to i32
  %63 = call i32 (ptr, ...) @printf(ptr noundef @.str.21, i32 noundef %62)
  %64 = load ptr, ptr %2, align 8, !tbaa !5
  %65 = getelementptr inbounds i8, ptr %64, i64 7
  %66 = load i8, ptr %65, align 1, !tbaa !11
  %67 = zext i8 %66 to i32
  switch i32 %67, label %96 [
    i32 0, label %68
    i32 1, label %70
    i32 2, label %72
    i32 3, label %74
    i32 6, label %76
    i32 7, label %78
    i32 8, label %80
    i32 9, label %82
    i32 10, label %84
    i32 11, label %86
    i32 12, label %88
    i32 64, label %90
    i32 97, label %92
    i32 255, label %94
  ]

68:                                               ; preds = %58
  %69 = call i32 (ptr, ...) @printf(ptr noundef @.str.22)
  br label %102

70:                                               ; preds = %58
  %71 = call i32 (ptr, ...) @printf(ptr noundef @.str.23)
  br label %102

72:                                               ; preds = %58
  %73 = call i32 (ptr, ...) @printf(ptr noundef @.str.24)
  br label %102

74:                                               ; preds = %58
  %75 = call i32 (ptr, ...) @printf(ptr noundef @.str.25)
  br label %102

76:                                               ; preds = %58
  %77 = call i32 (ptr, ...) @printf(ptr noundef @.str.26)
  br label %102

78:                                               ; preds = %58
  %79 = call i32 (ptr, ...) @printf(ptr noundef @.str.27)
  br label %102

80:                                               ; preds = %58
  %81 = call i32 (ptr, ...) @printf(ptr noundef @.str.28)
  br label %102

82:                                               ; preds = %58
  %83 = call i32 (ptr, ...) @printf(ptr noundef @.str.29)
  br label %102

84:                                               ; preds = %58
  %85 = call i32 (ptr, ...) @printf(ptr noundef @.str.30)
  br label %102

86:                                               ; preds = %58
  %87 = call i32 (ptr, ...) @printf(ptr noundef @.str.31)
  br label %102

88:                                               ; preds = %58
  %89 = call i32 (ptr, ...) @printf(ptr noundef @.str.32)
  br label %102

90:                                               ; preds = %58
  %91 = call i32 (ptr, ...) @printf(ptr noundef @.str.33)
  br label %102

92:                                               ; preds = %58
  %93 = call i32 (ptr, ...) @printf(ptr noundef @.str.34)
  br label %102

94:                                               ; preds = %58
  %95 = call i32 (ptr, ...) @printf(ptr noundef @.str.35)
  br label %102

96:                                               ; preds = %58
  %97 = load ptr, ptr %2, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %97, i64 7
  %99 = load i8, ptr %98, align 1, !tbaa !11
  %100 = zext i8 %99 to i32
  %101 = call i32 (ptr, ...) @printf(ptr noundef @.str.36, i32 noundef %100)
  br label %102

102:                                              ; preds = %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68
  %103 = load ptr, ptr %2, align 8, !tbaa !5
  %104 = getelementptr inbounds i8, ptr %103, i64 8
  %105 = load i8, ptr %104, align 1, !tbaa !11
  %106 = zext i8 %105 to i32
  %107 = call i32 (ptr, ...) @printf(ptr noundef @.str.37, i32 noundef %106)
  %108 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 1
  %109 = load i16, ptr %108, align 8, !tbaa !14
  %110 = zext i16 %109 to i32
  switch i32 %110, label %131 [
    i32 0, label %111
    i32 1, label %113
    i32 2, label %115
    i32 3, label %117
    i32 4, label %119
    i32 5, label %121
    i32 65024, label %123
    i32 65279, label %125
    i32 65280, label %127
    i32 65535, label %129
  ]

111:                                              ; preds = %102
  %112 = call i32 (ptr, ...) @printf(ptr noundef @.str.38)
  br label %136

113:                                              ; preds = %102
  %114 = call i32 (ptr, ...) @printf(ptr noundef @.str.39)
  br label %136

115:                                              ; preds = %102
  %116 = call i32 (ptr, ...) @printf(ptr noundef @.str.40)
  br label %136

117:                                              ; preds = %102
  %118 = call i32 (ptr, ...) @printf(ptr noundef @.str.41)
  br label %136

119:                                              ; preds = %102
  %120 = call i32 (ptr, ...) @printf(ptr noundef @.str.42)
  br label %136

121:                                              ; preds = %102
  %122 = call i32 (ptr, ...) @printf(ptr noundef @.str.43)
  br label %136

123:                                              ; preds = %102
  %124 = call i32 (ptr, ...) @printf(ptr noundef @.str.44)
  br label %136

125:                                              ; preds = %102
  %126 = call i32 (ptr, ...) @printf(ptr noundef @.str.45)
  br label %136

127:                                              ; preds = %102
  %128 = call i32 (ptr, ...) @printf(ptr noundef @.str.46)
  br label %136

129:                                              ; preds = %102
  %130 = call i32 (ptr, ...) @printf(ptr noundef @.str.47)
  br label %136

131:                                              ; preds = %102
  %132 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 1
  %133 = load i16, ptr %132, align 8, !tbaa !14
  %134 = zext i16 %133 to i32
  %135 = call i32 (ptr, ...) @printf(ptr noundef @.str.48, i32 noundef %134)
  br label %136

136:                                              ; preds = %131, %129, %127, %125, %123, %121, %119, %117, %115, %113, %111
  %137 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 2
  %138 = load i16, ptr %137, align 2, !tbaa !17
  %139 = zext i16 %138 to i32
  switch i32 %139, label %496 [
    i32 0, label %140
    i32 1, label %142
    i32 2, label %144
    i32 3, label %146
    i32 4, label %148
    i32 5, label %150
    i32 6, label %152
    i32 7, label %154
    i32 8, label %156
    i32 9, label %158
    i32 10, label %160
    i32 15, label %162
    i32 17, label %164
    i32 18, label %166
    i32 19, label %168
    i32 20, label %170
    i32 21, label %172
    i32 22, label %174
    i32 23, label %176
    i32 36, label %178
    i32 37, label %180
    i32 38, label %182
    i32 39, label %184
    i32 40, label %186
    i32 41, label %188
    i32 42, label %190
    i32 43, label %192
    i32 44, label %194
    i32 45, label %196
    i32 46, label %198
    i32 47, label %200
    i32 48, label %202
    i32 49, label %204
    i32 50, label %206
    i32 51, label %208
    i32 52, label %210
    i32 53, label %212
    i32 54, label %214
    i32 55, label %216
    i32 56, label %218
    i32 57, label %220
    i32 58, label %222
    i32 59, label %224
    i32 60, label %226
    i32 61, label %228
    i32 62, label %230
    i32 63, label %232
    i32 64, label %234
    i32 65, label %236
    i32 66, label %238
    i32 67, label %240
    i32 68, label %242
    i32 69, label %244
    i32 70, label %246
    i32 71, label %248
    i32 72, label %250
    i32 73, label %252
    i32 74, label %254
    i32 75, label %256
    i32 76, label %258
    i32 77, label %260
    i32 78, label %262
    i32 79, label %264
    i32 80, label %266
    i32 81, label %268
    i32 82, label %270
    i32 83, label %272
    i32 84, label %274
    i32 85, label %276
    i32 86, label %278
    i32 87, label %280
    i32 88, label %282
    i32 89, label %284
    i32 90, label %286
    i32 91, label %288
    i32 92, label %290
    i32 93, label %292
    i32 94, label %294
    i32 95, label %296
    i32 96, label %298
    i32 97, label %300
    i32 98, label %302
    i32 99, label %304
    i32 100, label %306
    i32 101, label %308
    i32 102, label %310
    i32 103, label %312
    i32 104, label %314
    i32 105, label %316
    i32 106, label %318
    i32 107, label %320
    i32 108, label %322
    i32 109, label %324
    i32 110, label %326
    i32 111, label %328
    i32 112, label %330
    i32 113, label %332
    i32 114, label %334
    i32 115, label %336
    i32 116, label %338
    i32 117, label %340
    i32 118, label %342
    i32 119, label %344
    i32 120, label %346
    i32 131, label %348
    i32 132, label %350
    i32 133, label %352
    i32 134, label %354
    i32 135, label %356
    i32 136, label %358
    i32 137, label %360
    i32 138, label %362
    i32 139, label %364
    i32 140, label %366
    i32 141, label %368
    i32 142, label %370
    i32 143, label %372
    i32 144, label %374
    i32 160, label %376
    i32 161, label %378
    i32 162, label %380
    i32 163, label %382
    i32 164, label %384
    i32 165, label %386
    i32 166, label %388
    i32 167, label %390
    i32 168, label %392
    i32 169, label %394
    i32 170, label %396
    i32 171, label %398
    i32 172, label %400
    i32 173, label %402
    i32 174, label %404
    i32 175, label %406
    i32 176, label %408
    i32 177, label %410
    i32 178, label %412
    i32 179, label %414
    i32 180, label %416
    i32 181, label %418
    i32 183, label %420
    i32 185, label %422
    i32 186, label %424
    i32 187, label %426
    i32 188, label %428
    i32 189, label %430
    i32 190, label %432
    i32 191, label %434
    i32 192, label %436
    i32 193, label %438
    i32 194, label %440
    i32 195, label %442
    i32 196, label %444
    i32 197, label %446
    i32 198, label %448
    i32 199, label %450
    i32 200, label %452
    i32 201, label %454
    i32 202, label %456
    i32 203, label %458
    i32 204, label %460
    i32 210, label %462
    i32 211, label %464
    i32 212, label %466
    i32 213, label %468
    i32 214, label %470
    i32 215, label %472
    i32 216, label %474
    i32 217, label %476
    i32 218, label %478
    i32 219, label %480
    i32 220, label %482
    i32 221, label %484
    i32 222, label %486
    i32 223, label %488
    i32 224, label %490
    i32 243, label %492
    i32 247, label %494
  ]

140:                                              ; preds = %136
  %141 = call i32 (ptr, ...) @printf(ptr noundef @.str.49)
  br label %501

142:                                              ; preds = %136
  %143 = call i32 (ptr, ...) @printf(ptr noundef @.str.50)
  br label %501

144:                                              ; preds = %136
  %145 = call i32 (ptr, ...) @printf(ptr noundef @.str.51)
  br label %501

146:                                              ; preds = %136
  %147 = call i32 (ptr, ...) @printf(ptr noundef @.str.52)
  br label %501

148:                                              ; preds = %136
  %149 = call i32 (ptr, ...) @printf(ptr noundef @.str.53)
  br label %501

150:                                              ; preds = %136
  %151 = call i32 (ptr, ...) @printf(ptr noundef @.str.54)
  br label %501

152:                                              ; preds = %136
  %153 = call i32 (ptr, ...) @printf(ptr noundef @.str.55)
  br label %501

154:                                              ; preds = %136
  %155 = call i32 (ptr, ...) @printf(ptr noundef @.str.56)
  br label %501

156:                                              ; preds = %136
  %157 = call i32 (ptr, ...) @printf(ptr noundef @.str.57)
  br label %501

158:                                              ; preds = %136
  %159 = call i32 (ptr, ...) @printf(ptr noundef @.str.58)
  br label %501

160:                                              ; preds = %136
  %161 = call i32 (ptr, ...) @printf(ptr noundef @.str.59)
  br label %501

162:                                              ; preds = %136
  %163 = call i32 (ptr, ...) @printf(ptr noundef @.str.60)
  br label %501

164:                                              ; preds = %136
  %165 = call i32 (ptr, ...) @printf(ptr noundef @.str.61)
  br label %501

166:                                              ; preds = %136
  %167 = call i32 (ptr, ...) @printf(ptr noundef @.str.62)
  br label %501

168:                                              ; preds = %136
  %169 = call i32 (ptr, ...) @printf(ptr noundef @.str.63)
  br label %501

170:                                              ; preds = %136
  %171 = call i32 (ptr, ...) @printf(ptr noundef @.str.64)
  br label %501

172:                                              ; preds = %136
  %173 = call i32 (ptr, ...) @printf(ptr noundef @.str.65)
  br label %501

174:                                              ; preds = %136
  %175 = call i32 (ptr, ...) @printf(ptr noundef @.str.66)
  br label %501

176:                                              ; preds = %136
  %177 = call i32 (ptr, ...) @printf(ptr noundef @.str.67)
  br label %501

178:                                              ; preds = %136
  %179 = call i32 (ptr, ...) @printf(ptr noundef @.str.68)
  br label %501

180:                                              ; preds = %136
  %181 = call i32 (ptr, ...) @printf(ptr noundef @.str.69)
  br label %501

182:                                              ; preds = %136
  %183 = call i32 (ptr, ...) @printf(ptr noundef @.str.70)
  br label %501

184:                                              ; preds = %136
  %185 = call i32 (ptr, ...) @printf(ptr noundef @.str.71)
  br label %501

186:                                              ; preds = %136
  %187 = call i32 (ptr, ...) @printf(ptr noundef @.str.72)
  br label %501

188:                                              ; preds = %136
  %189 = call i32 (ptr, ...) @printf(ptr noundef @.str.73)
  br label %501

190:                                              ; preds = %136
  %191 = call i32 (ptr, ...) @printf(ptr noundef @.str.74)
  br label %501

192:                                              ; preds = %136
  %193 = call i32 (ptr, ...) @printf(ptr noundef @.str.75)
  br label %501

194:                                              ; preds = %136
  %195 = call i32 (ptr, ...) @printf(ptr noundef @.str.76)
  br label %501

196:                                              ; preds = %136
  %197 = call i32 (ptr, ...) @printf(ptr noundef @.str.77)
  br label %501

198:                                              ; preds = %136
  %199 = call i32 (ptr, ...) @printf(ptr noundef @.str.78)
  br label %501

200:                                              ; preds = %136
  %201 = call i32 (ptr, ...) @printf(ptr noundef @.str.79)
  br label %501

202:                                              ; preds = %136
  %203 = call i32 (ptr, ...) @printf(ptr noundef @.str.80)
  br label %501

204:                                              ; preds = %136
  %205 = call i32 (ptr, ...) @printf(ptr noundef @.str.81)
  br label %501

206:                                              ; preds = %136
  %207 = call i32 (ptr, ...) @printf(ptr noundef @.str.82)
  br label %501

208:                                              ; preds = %136
  %209 = call i32 (ptr, ...) @printf(ptr noundef @.str.83)
  br label %501

210:                                              ; preds = %136
  %211 = call i32 (ptr, ...) @printf(ptr noundef @.str.84)
  br label %501

212:                                              ; preds = %136
  %213 = call i32 (ptr, ...) @printf(ptr noundef @.str.85)
  br label %501

214:                                              ; preds = %136
  %215 = call i32 (ptr, ...) @printf(ptr noundef @.str.86)
  br label %501

216:                                              ; preds = %136
  %217 = call i32 (ptr, ...) @printf(ptr noundef @.str.87)
  br label %501

218:                                              ; preds = %136
  %219 = call i32 (ptr, ...) @printf(ptr noundef @.str.88)
  br label %501

220:                                              ; preds = %136
  %221 = call i32 (ptr, ...) @printf(ptr noundef @.str.89)
  br label %501

222:                                              ; preds = %136
  %223 = call i32 (ptr, ...) @printf(ptr noundef @.str.90)
  br label %501

224:                                              ; preds = %136
  %225 = call i32 (ptr, ...) @printf(ptr noundef @.str.91)
  br label %501

226:                                              ; preds = %136
  %227 = call i32 (ptr, ...) @printf(ptr noundef @.str.92)
  br label %501

228:                                              ; preds = %136
  %229 = call i32 (ptr, ...) @printf(ptr noundef @.str.93)
  br label %501

230:                                              ; preds = %136
  %231 = call i32 (ptr, ...) @printf(ptr noundef @.str.94)
  br label %501

232:                                              ; preds = %136
  %233 = call i32 (ptr, ...) @printf(ptr noundef @.str.95)
  br label %501

234:                                              ; preds = %136
  %235 = call i32 (ptr, ...) @printf(ptr noundef @.str.96)
  br label %501

236:                                              ; preds = %136
  %237 = call i32 (ptr, ...) @printf(ptr noundef @.str.97)
  br label %501

238:                                              ; preds = %136
  %239 = call i32 (ptr, ...) @printf(ptr noundef @.str.98)
  br label %501

240:                                              ; preds = %136
  %241 = call i32 (ptr, ...) @printf(ptr noundef @.str.99)
  br label %501

242:                                              ; preds = %136
  %243 = call i32 (ptr, ...) @printf(ptr noundef @.str.100)
  br label %501

244:                                              ; preds = %136
  %245 = call i32 (ptr, ...) @printf(ptr noundef @.str.101)
  br label %501

246:                                              ; preds = %136
  %247 = call i32 (ptr, ...) @printf(ptr noundef @.str.102)
  br label %501

248:                                              ; preds = %136
  %249 = call i32 (ptr, ...) @printf(ptr noundef @.str.103)
  br label %501

250:                                              ; preds = %136
  %251 = call i32 (ptr, ...) @printf(ptr noundef @.str.104)
  br label %501

252:                                              ; preds = %136
  %253 = call i32 (ptr, ...) @printf(ptr noundef @.str.105)
  br label %501

254:                                              ; preds = %136
  %255 = call i32 (ptr, ...) @printf(ptr noundef @.str.106)
  br label %501

256:                                              ; preds = %136
  %257 = call i32 (ptr, ...) @printf(ptr noundef @.str.107)
  br label %501

258:                                              ; preds = %136
  %259 = call i32 (ptr, ...) @printf(ptr noundef @.str.108)
  br label %501

260:                                              ; preds = %136
  %261 = call i32 (ptr, ...) @printf(ptr noundef @.str.109)
  br label %501

262:                                              ; preds = %136
  %263 = call i32 (ptr, ...) @printf(ptr noundef @.str.110)
  br label %501

264:                                              ; preds = %136
  %265 = call i32 (ptr, ...) @printf(ptr noundef @.str.111)
  br label %501

266:                                              ; preds = %136
  %267 = call i32 (ptr, ...) @printf(ptr noundef @.str.112)
  br label %501

268:                                              ; preds = %136
  %269 = call i32 (ptr, ...) @printf(ptr noundef @.str.113)
  br label %501

270:                                              ; preds = %136
  %271 = call i32 (ptr, ...) @printf(ptr noundef @.str.114)
  br label %501

272:                                              ; preds = %136
  %273 = call i32 (ptr, ...) @printf(ptr noundef @.str.115)
  br label %501

274:                                              ; preds = %136
  %275 = call i32 (ptr, ...) @printf(ptr noundef @.str.116)
  br label %501

276:                                              ; preds = %136
  %277 = call i32 (ptr, ...) @printf(ptr noundef @.str.117)
  br label %501

278:                                              ; preds = %136
  %279 = call i32 (ptr, ...) @printf(ptr noundef @.str.118)
  br label %501

280:                                              ; preds = %136
  %281 = call i32 (ptr, ...) @printf(ptr noundef @.str.119)
  br label %501

282:                                              ; preds = %136
  %283 = call i32 (ptr, ...) @printf(ptr noundef @.str.120)
  br label %501

284:                                              ; preds = %136
  %285 = call i32 (ptr, ...) @printf(ptr noundef @.str.121)
  br label %501

286:                                              ; preds = %136
  %287 = call i32 (ptr, ...) @printf(ptr noundef @.str.122)
  br label %501

288:                                              ; preds = %136
  %289 = call i32 (ptr, ...) @printf(ptr noundef @.str.123)
  br label %501

290:                                              ; preds = %136
  %291 = call i32 (ptr, ...) @printf(ptr noundef @.str.124)
  br label %501

292:                                              ; preds = %136
  %293 = call i32 (ptr, ...) @printf(ptr noundef @.str.125)
  br label %501

294:                                              ; preds = %136
  %295 = call i32 (ptr, ...) @printf(ptr noundef @.str.126)
  br label %501

296:                                              ; preds = %136
  %297 = call i32 (ptr, ...) @printf(ptr noundef @.str.127)
  br label %501

298:                                              ; preds = %136
  %299 = call i32 (ptr, ...) @printf(ptr noundef @.str.128)
  br label %501

300:                                              ; preds = %136
  %301 = call i32 (ptr, ...) @printf(ptr noundef @.str.129)
  br label %501

302:                                              ; preds = %136
  %303 = call i32 (ptr, ...) @printf(ptr noundef @.str.130)
  br label %501

304:                                              ; preds = %136
  %305 = call i32 (ptr, ...) @printf(ptr noundef @.str.131)
  br label %501

306:                                              ; preds = %136
  %307 = call i32 (ptr, ...) @printf(ptr noundef @.str.132)
  br label %501

308:                                              ; preds = %136
  %309 = call i32 (ptr, ...) @printf(ptr noundef @.str.133)
  br label %501

310:                                              ; preds = %136
  %311 = call i32 (ptr, ...) @printf(ptr noundef @.str.134)
  br label %501

312:                                              ; preds = %136
  %313 = call i32 (ptr, ...) @printf(ptr noundef @.str.135)
  br label %501

314:                                              ; preds = %136
  %315 = call i32 (ptr, ...) @printf(ptr noundef @.str.136)
  br label %501

316:                                              ; preds = %136
  %317 = call i32 (ptr, ...) @printf(ptr noundef @.str.137)
  br label %501

318:                                              ; preds = %136
  %319 = call i32 (ptr, ...) @printf(ptr noundef @.str.138)
  br label %501

320:                                              ; preds = %136
  %321 = call i32 (ptr, ...) @printf(ptr noundef @.str.139)
  br label %501

322:                                              ; preds = %136
  %323 = call i32 (ptr, ...) @printf(ptr noundef @.str.140)
  br label %501

324:                                              ; preds = %136
  %325 = call i32 (ptr, ...) @printf(ptr noundef @.str.141)
  br label %501

326:                                              ; preds = %136
  %327 = call i32 (ptr, ...) @printf(ptr noundef @.str.142)
  br label %501

328:                                              ; preds = %136
  %329 = call i32 (ptr, ...) @printf(ptr noundef @.str.143)
  br label %501

330:                                              ; preds = %136
  %331 = call i32 (ptr, ...) @printf(ptr noundef @.str.144)
  br label %501

332:                                              ; preds = %136
  %333 = call i32 (ptr, ...) @printf(ptr noundef @.str.145)
  br label %501

334:                                              ; preds = %136
  %335 = call i32 (ptr, ...) @printf(ptr noundef @.str.146)
  br label %501

336:                                              ; preds = %136
  %337 = call i32 (ptr, ...) @printf(ptr noundef @.str.147)
  br label %501

338:                                              ; preds = %136
  %339 = call i32 (ptr, ...) @printf(ptr noundef @.str.148)
  br label %501

340:                                              ; preds = %136
  %341 = call i32 (ptr, ...) @printf(ptr noundef @.str.149)
  br label %501

342:                                              ; preds = %136
  %343 = call i32 (ptr, ...) @printf(ptr noundef @.str.150)
  br label %501

344:                                              ; preds = %136
  %345 = call i32 (ptr, ...) @printf(ptr noundef @.str.151)
  br label %501

346:                                              ; preds = %136
  %347 = call i32 (ptr, ...) @printf(ptr noundef @.str.152)
  br label %501

348:                                              ; preds = %136
  %349 = call i32 (ptr, ...) @printf(ptr noundef @.str.153)
  br label %501

350:                                              ; preds = %136
  %351 = call i32 (ptr, ...) @printf(ptr noundef @.str.154)
  br label %501

352:                                              ; preds = %136
  %353 = call i32 (ptr, ...) @printf(ptr noundef @.str.155)
  br label %501

354:                                              ; preds = %136
  %355 = call i32 (ptr, ...) @printf(ptr noundef @.str.156)
  br label %501

356:                                              ; preds = %136
  %357 = call i32 (ptr, ...) @printf(ptr noundef @.str.157)
  br label %501

358:                                              ; preds = %136
  %359 = call i32 (ptr, ...) @printf(ptr noundef @.str.158)
  br label %501

360:                                              ; preds = %136
  %361 = call i32 (ptr, ...) @printf(ptr noundef @.str.159)
  br label %501

362:                                              ; preds = %136
  %363 = call i32 (ptr, ...) @printf(ptr noundef @.str.160)
  br label %501

364:                                              ; preds = %136
  %365 = call i32 (ptr, ...) @printf(ptr noundef @.str.161)
  br label %501

366:                                              ; preds = %136
  %367 = call i32 (ptr, ...) @printf(ptr noundef @.str.162)
  br label %501

368:                                              ; preds = %136
  %369 = call i32 (ptr, ...) @printf(ptr noundef @.str.163)
  br label %501

370:                                              ; preds = %136
  %371 = call i32 (ptr, ...) @printf(ptr noundef @.str.164)
  br label %501

372:                                              ; preds = %136
  %373 = call i32 (ptr, ...) @printf(ptr noundef @.str.165)
  br label %501

374:                                              ; preds = %136
  %375 = call i32 (ptr, ...) @printf(ptr noundef @.str.166)
  br label %501

376:                                              ; preds = %136
  %377 = call i32 (ptr, ...) @printf(ptr noundef @.str.167)
  br label %501

378:                                              ; preds = %136
  %379 = call i32 (ptr, ...) @printf(ptr noundef @.str.168)
  br label %501

380:                                              ; preds = %136
  %381 = call i32 (ptr, ...) @printf(ptr noundef @.str.169)
  br label %501

382:                                              ; preds = %136
  %383 = call i32 (ptr, ...) @printf(ptr noundef @.str.170)
  br label %501

384:                                              ; preds = %136
  %385 = call i32 (ptr, ...) @printf(ptr noundef @.str.171)
  br label %501

386:                                              ; preds = %136
  %387 = call i32 (ptr, ...) @printf(ptr noundef @.str.172)
  br label %501

388:                                              ; preds = %136
  %389 = call i32 (ptr, ...) @printf(ptr noundef @.str.173)
  br label %501

390:                                              ; preds = %136
  %391 = call i32 (ptr, ...) @printf(ptr noundef @.str.174)
  br label %501

392:                                              ; preds = %136
  %393 = call i32 (ptr, ...) @printf(ptr noundef @.str.175)
  br label %501

394:                                              ; preds = %136
  %395 = call i32 (ptr, ...) @printf(ptr noundef @.str.176)
  br label %501

396:                                              ; preds = %136
  %397 = call i32 (ptr, ...) @printf(ptr noundef @.str.177)
  br label %501

398:                                              ; preds = %136
  %399 = call i32 (ptr, ...) @printf(ptr noundef @.str.178)
  br label %501

400:                                              ; preds = %136
  %401 = call i32 (ptr, ...) @printf(ptr noundef @.str.179)
  br label %501

402:                                              ; preds = %136
  %403 = call i32 (ptr, ...) @printf(ptr noundef @.str.180)
  br label %501

404:                                              ; preds = %136
  %405 = call i32 (ptr, ...) @printf(ptr noundef @.str.181)
  br label %501

406:                                              ; preds = %136
  %407 = call i32 (ptr, ...) @printf(ptr noundef @.str.182)
  br label %501

408:                                              ; preds = %136
  %409 = call i32 (ptr, ...) @printf(ptr noundef @.str.183)
  br label %501

410:                                              ; preds = %136
  %411 = call i32 (ptr, ...) @printf(ptr noundef @.str.184)
  br label %501

412:                                              ; preds = %136
  %413 = call i32 (ptr, ...) @printf(ptr noundef @.str.185)
  br label %501

414:                                              ; preds = %136
  %415 = call i32 (ptr, ...) @printf(ptr noundef @.str.186)
  br label %501

416:                                              ; preds = %136
  %417 = call i32 (ptr, ...) @printf(ptr noundef @.str.187)
  br label %501

418:                                              ; preds = %136
  %419 = call i32 (ptr, ...) @printf(ptr noundef @.str.188)
  br label %501

420:                                              ; preds = %136
  %421 = call i32 (ptr, ...) @printf(ptr noundef @.str.189)
  br label %501

422:                                              ; preds = %136
  %423 = call i32 (ptr, ...) @printf(ptr noundef @.str.190)
  br label %501

424:                                              ; preds = %136
  %425 = call i32 (ptr, ...) @printf(ptr noundef @.str.191)
  br label %501

426:                                              ; preds = %136
  %427 = call i32 (ptr, ...) @printf(ptr noundef @.str.192)
  br label %501

428:                                              ; preds = %136
  %429 = call i32 (ptr, ...) @printf(ptr noundef @.str.193)
  br label %501

430:                                              ; preds = %136
  %431 = call i32 (ptr, ...) @printf(ptr noundef @.str.194)
  br label %501

432:                                              ; preds = %136
  %433 = call i32 (ptr, ...) @printf(ptr noundef @.str.195)
  br label %501

434:                                              ; preds = %136
  %435 = call i32 (ptr, ...) @printf(ptr noundef @.str.196)
  br label %501

436:                                              ; preds = %136
  %437 = call i32 (ptr, ...) @printf(ptr noundef @.str.197)
  br label %501

438:                                              ; preds = %136
  %439 = call i32 (ptr, ...) @printf(ptr noundef @.str.198)
  br label %501

440:                                              ; preds = %136
  %441 = call i32 (ptr, ...) @printf(ptr noundef @.str.199)
  br label %501

442:                                              ; preds = %136
  %443 = call i32 (ptr, ...) @printf(ptr noundef @.str.200)
  br label %501

444:                                              ; preds = %136
  %445 = call i32 (ptr, ...) @printf(ptr noundef @.str.201)
  br label %501

446:                                              ; preds = %136
  %447 = call i32 (ptr, ...) @printf(ptr noundef @.str.202)
  br label %501

448:                                              ; preds = %136
  %449 = call i32 (ptr, ...) @printf(ptr noundef @.str.203)
  br label %501

450:                                              ; preds = %136
  %451 = call i32 (ptr, ...) @printf(ptr noundef @.str.204)
  br label %501

452:                                              ; preds = %136
  %453 = call i32 (ptr, ...) @printf(ptr noundef @.str.205)
  br label %501

454:                                              ; preds = %136
  %455 = call i32 (ptr, ...) @printf(ptr noundef @.str.206)
  br label %501

456:                                              ; preds = %136
  %457 = call i32 (ptr, ...) @printf(ptr noundef @.str.207)
  br label %501

458:                                              ; preds = %136
  %459 = call i32 (ptr, ...) @printf(ptr noundef @.str.208)
  br label %501

460:                                              ; preds = %136
  %461 = call i32 (ptr, ...) @printf(ptr noundef @.str.209)
  br label %501

462:                                              ; preds = %136
  %463 = call i32 (ptr, ...) @printf(ptr noundef @.str.210)
  br label %501

464:                                              ; preds = %136
  %465 = call i32 (ptr, ...) @printf(ptr noundef @.str.211)
  br label %501

466:                                              ; preds = %136
  %467 = call i32 (ptr, ...) @printf(ptr noundef @.str.212)
  br label %501

468:                                              ; preds = %136
  %469 = call i32 (ptr, ...) @printf(ptr noundef @.str.213)
  br label %501

470:                                              ; preds = %136
  %471 = call i32 (ptr, ...) @printf(ptr noundef @.str.214)
  br label %501

472:                                              ; preds = %136
  %473 = call i32 (ptr, ...) @printf(ptr noundef @.str.215)
  br label %501

474:                                              ; preds = %136
  %475 = call i32 (ptr, ...) @printf(ptr noundef @.str.216)
  br label %501

476:                                              ; preds = %136
  %477 = call i32 (ptr, ...) @printf(ptr noundef @.str.217)
  br label %501

478:                                              ; preds = %136
  %479 = call i32 (ptr, ...) @printf(ptr noundef @.str.218)
  br label %501

480:                                              ; preds = %136
  %481 = call i32 (ptr, ...) @printf(ptr noundef @.str.219)
  br label %501

482:                                              ; preds = %136
  %483 = call i32 (ptr, ...) @printf(ptr noundef @.str.220)
  br label %501

484:                                              ; preds = %136
  %485 = call i32 (ptr, ...) @printf(ptr noundef @.str.221)
  br label %501

486:                                              ; preds = %136
  %487 = call i32 (ptr, ...) @printf(ptr noundef @.str.222)
  br label %501

488:                                              ; preds = %136
  %489 = call i32 (ptr, ...) @printf(ptr noundef @.str.223)
  br label %501

490:                                              ; preds = %136
  %491 = call i32 (ptr, ...) @printf(ptr noundef @.str.224)
  br label %501

492:                                              ; preds = %136
  %493 = call i32 (ptr, ...) @printf(ptr noundef @.str.225)
  br label %501

494:                                              ; preds = %136
  %495 = call i32 (ptr, ...) @printf(ptr noundef @.str.226)
  br label %501

496:                                              ; preds = %136
  %497 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 2
  %498 = load i16, ptr %497, align 2, !tbaa !17
  %499 = zext i16 %498 to i32
  %500 = call i32 (ptr, ...) @printf(ptr noundef @.str.227, i32 noundef %499)
  br label %501

501:                                              ; preds = %496, %494, %492, %490, %488, %486, %484, %482, %480, %478, %476, %474, %472, %470, %468, %466, %464, %462, %460, %458, %456, %454, %452, %450, %448, %446, %444, %442, %440, %438, %436, %434, %432, %430, %428, %426, %424, %422, %420, %418, %416, %414, %412, %410, %408, %406, %404, %402, %400, %398, %396, %394, %392, %390, %388, %386, %384, %382, %380, %378, %376, %374, %372, %370, %368, %366, %364, %362, %360, %358, %356, %354, %352, %350, %348, %346, %344, %342, %340, %338, %336, %334, %332, %330, %328, %326, %324, %322, %320, %318, %316, %314, %312, %310, %308, %306, %304, %302, %300, %298, %296, %294, %292, %290, %288, %286, %284, %282, %280, %278, %276, %274, %272, %270, %268, %266, %264, %262, %260, %258, %256, %254, %252, %250, %248, %246, %244, %242, %240, %238, %236, %234, %232, %230, %228, %226, %224, %222, %220, %218, %216, %214, %212, %210, %208, %206, %204, %202, %200, %198, %196, %194, %192, %190, %188, %186, %184, %182, %180, %178, %176, %174, %172, %170, %168, %166, %164, %162, %160, %158, %156, %154, %152, %150, %148, %146, %144, %142, %140
  %502 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 3
  %503 = load i32, ptr %502, align 4, !tbaa !18
  switch i32 %503, label %510 [
    i32 0, label %504
    i32 1, label %506
  ]

504:                                              ; preds = %501
  %505 = call i32 (ptr, ...) @printf(ptr noundef @.str.228)
  br label %514

506:                                              ; preds = %501
  %507 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 3
  %508 = load i32, ptr %507, align 4, !tbaa !18
  %509 = call i32 (ptr, ...) @printf(ptr noundef @.str.229, i32 noundef %508)
  br label %514

510:                                              ; preds = %501
  %511 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 3
  %512 = load i32, ptr %511, align 4, !tbaa !18
  %513 = call i32 (ptr, ...) @printf(ptr noundef @.str.230, i32 noundef %512)
  br label %514

514:                                              ; preds = %510, %506, %504
  %515 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 4
  %516 = load i32, ptr %515, align 8, !tbaa !19
  %517 = call i32 (ptr, ...) @printf(ptr noundef @.str.231, i32 noundef %516)
  %518 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 5
  %519 = load i32, ptr %518, align 4, !tbaa !20
  %520 = call i32 (ptr, ...) @printf(ptr noundef @.str.232, i32 noundef %519)
  %521 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 6
  %522 = load i32, ptr %521, align 8, !tbaa !21
  %523 = call i32 (ptr, ...) @printf(ptr noundef @.str.233, i32 noundef %522)
  %524 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 7
  %525 = load i32, ptr %524, align 4, !tbaa !22
  %526 = call i32 (ptr, ...) @printf(ptr noundef @.str.234, i32 noundef %525)
  %527 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 8
  %528 = load i16, ptr %527, align 8, !tbaa !23
  %529 = zext i16 %528 to i32
  %530 = call i32 (ptr, ...) @printf(ptr noundef @.str.235, i32 noundef %529)
  %531 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 9
  %532 = load i16, ptr %531, align 2, !tbaa !24
  %533 = zext i16 %532 to i32
  %534 = call i32 (ptr, ...) @printf(ptr noundef @.str.236, i32 noundef %533)
  %535 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 10
  %536 = load i16, ptr %535, align 4, !tbaa !25
  %537 = zext i16 %536 to i32
  %538 = call i32 (ptr, ...) @printf(ptr noundef @.str.237, i32 noundef %537)
  %539 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 11
  %540 = load i16, ptr %539, align 2, !tbaa !26
  %541 = zext i16 %540 to i32
  %542 = call i32 (ptr, ...) @printf(ptr noundef @.str.238, i32 noundef %541)
  %543 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 12
  %544 = load i16, ptr %543, align 8, !tbaa !27
  %545 = zext i16 %544 to i32
  %546 = call i32 (ptr, ...) @printf(ptr noundef @.str.239, i32 noundef %545)
  %547 = getelementptr inbounds %struct.Elf32_Ehdr, ptr %0, i32 0, i32 13
  %548 = load i16, ptr %547, align 2, !tbaa !28
  %549 = zext i16 %548 to i32
  %550 = call i32 (ptr, ...) @printf(ptr noundef @.str.240, i32 noundef %549)
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #3
  ret void
}

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}
!14 = !{!15, !16, i64 16}
!15 = !{!"", !7, i64 0, !16, i64 16, !16, i64 18, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36, !16, i64 40, !16, i64 42, !16, i64 44, !16, i64 46, !16, i64 48, !16, i64 50}
!16 = !{!"short", !7, i64 0}
!17 = !{!15, !16, i64 18}
!18 = !{!15, !10, i64 20}
!19 = !{!15, !10, i64 24}
!20 = !{!15, !10, i64 28}
!21 = !{!15, !10, i64 32}
!22 = !{!15, !10, i64 36}
!23 = !{!15, !16, i64 40}
!24 = !{!15, !16, i64 42}
!25 = !{!15, !16, i64 44}
!26 = !{!15, !16, i64 46}
!27 = !{!15, !16, i64 48}
!28 = !{!15, !16, i64 50}


; 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.Elf32_Ehdr = type { [16 x i8], i16, i16, i32, i32, i32, i32, i32, i16, i16, i16, i16, i16, i16 }

@.str.3 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [40 x i8], align 1

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

; Function Attrs: nofree nounwind uwtable
define dso_local void @printfElf32_EhdrMessage(ptr nocapture noundef readonly byval(%struct.Elf32_Ehdr) align 8 %0) local_unnamed_addr #1 {
  %2 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.12)
  %3 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13)
  %4 = load i8, ptr %0, align 8, !tbaa !5
  %5 = zext i8 %4 to i32
  %6 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %5)
  %7 = getelementptr inbounds i8, ptr %0, i64 1
  %8 = load i8, ptr %7, align 1, !tbaa !5
  %9 = zext i8 %8 to i32
  %10 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %9)
  %11 = getelementptr inbounds i8, ptr %0, i64 2
  %12 = load i8, ptr %11, align 2, !tbaa !5
  %13 = zext i8 %12 to i32
  %14 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %13)
  %15 = getelementptr inbounds i8, ptr %0, i64 3
  %16 = load i8, ptr %15, align 1, !tbaa !5
  %17 = zext i8 %16 to i32
  %18 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %17)
  %19 = getelementptr inbounds i8, ptr %0, i64 4
  %20 = load i8, ptr %19, align 4, !tbaa !5
  %21 = zext i8 %20 to i32
  %22 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %21)
  %23 = getelementptr inbounds i8, ptr %0, i64 5
  %24 = load i8, ptr %23, align 1, !tbaa !5
  %25 = zext i8 %24 to i32
  %26 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %25)
  %27 = getelementptr inbounds i8, ptr %0, i64 6
  %28 = load i8, ptr %27, align 2, !tbaa !5
  %29 = zext i8 %28 to i32
  %30 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %29)
  %31 = getelementptr inbounds i8, ptr %0, i64 7
  %32 = load i8, ptr %31, align 1, !tbaa !5
  %33 = zext i8 %32 to i32
  %34 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %33)
  %35 = getelementptr inbounds i8, ptr %0, i64 8
  %36 = load i8, ptr %35, align 8, !tbaa !5
  %37 = zext i8 %36 to i32
  %38 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %37)
  %39 = getelementptr inbounds i8, ptr %0, i64 9
  %40 = load i8, ptr %39, align 1, !tbaa !5
  %41 = zext i8 %40 to i32
  %42 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %41)
  %43 = getelementptr inbounds i8, ptr %0, i64 10
  %44 = load i8, ptr %43, align 2, !tbaa !5
  %45 = zext i8 %44 to i32
  %46 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %45)
  %47 = getelementptr inbounds i8, ptr %0, i64 11
  %48 = load i8, ptr %47, align 1, !tbaa !5
  %49 = zext i8 %48 to i32
  %50 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %49)
  %51 = getelementptr inbounds i8, ptr %0, i64 12
  %52 = load i8, ptr %51, align 4, !tbaa !5
  %53 = zext i8 %52 to i32
  %54 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %53)
  %55 = getelementptr inbounds i8, ptr %0, i64 13
  %56 = load i8, ptr %55, align 1, !tbaa !5
  %57 = zext i8 %56 to i32
  %58 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %57)
  %59 = getelementptr inbounds i8, ptr %0, i64 14
  %60 = load i8, ptr %59, align 2, !tbaa !5
  %61 = zext i8 %60 to i32
  %62 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %61)
  %63 = getelementptr inbounds i8, ptr %0, i64 15
  %64 = load i8, ptr %63, align 1, !tbaa !5
  %65 = zext i8 %64 to i32
  %66 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14, i32 noundef %65)
  %67 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.15)
  switch i8 %20, label %74 [
    i8 0, label %68
    i8 1, label %70
    i8 2, label %72
  ]

68:                                               ; preds = %1
  %69 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3)
  br label %76

70:                                               ; preds = %1
  %71 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.16)
  br label %76

72:                                               ; preds = %1
  %73 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4)
  br label %76

74:                                               ; preds = %1
  %75 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, i32 noundef %21)
  br label %76

76:                                               ; preds = %74, %72, %70, %68
  switch i8 %24, label %83 [
    i8 0, label %77
    i8 1, label %79
    i8 2, label %81
  ]

77:                                               ; preds = %76
  %78 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.17)
  br label %85

79:                                               ; preds = %76
  %80 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.18)
  br label %85

81:                                               ; preds = %76
  %82 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.19)
  br label %85

83:                                               ; preds = %76
  %84 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.20, i32 noundef %25)
  br label %85

85:                                               ; preds = %83, %81, %79, %77
  %86 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.21, i32 noundef %29)
  switch i8 %32, label %115 [
    i8 0, label %87
    i8 1, label %89
    i8 2, label %91
    i8 3, label %93
    i8 6, label %95
    i8 7, label %97
    i8 8, label %99
    i8 9, label %101
    i8 10, label %103
    i8 11, label %105
    i8 12, label %107
    i8 64, label %109
    i8 97, label %111
    i8 -1, label %113
  ]

87:                                               ; preds = %85
  %88 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.22)
  br label %117

89:                                               ; preds = %85
  %90 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.23)
  br label %117

91:                                               ; preds = %85
  %92 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.24)
  br label %117

93:                                               ; preds = %85
  %94 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.25)
  br label %117

95:                                               ; preds = %85
  %96 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.26)
  br label %117

97:                                               ; preds = %85
  %98 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.27)
  br label %117

99:                                               ; preds = %85
  %100 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.28)
  br label %117

101:                                              ; preds = %85
  %102 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.29)
  br label %117

103:                                              ; preds = %85
  %104 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.30)
  br label %117

105:                                              ; preds = %85
  %106 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.31)
  br label %117

107:                                              ; preds = %85
  %108 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.32)
  br label %117

109:                                              ; preds = %85
  %110 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.33)
  br label %117

111:                                              ; preds = %85
  %112 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.34)
  br label %117

113:                                              ; preds = %85
  %114 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.35)
  br label %117

115:                                              ; preds = %85
  %116 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.36, i32 noundef %33)
  br label %117

117:                                              ; preds = %115, %113, %111, %109, %107, %105, %103, %101, %99, %97, %95, %93, %91, %89, %87
  %118 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.37, i32 noundef %37)
  %119 = getelementptr inbounds i8, ptr %0, i64 16
  %120 = load i16, ptr %119, align 8, !tbaa !8
  switch i16 %120, label %141 [
    i16 0, label %121
    i16 1, label %123
    i16 2, label %125
    i16 3, label %127
    i16 4, label %129
    i16 5, label %131
    i16 -512, label %133
    i16 -257, label %135
    i16 -256, label %137
    i16 -1, label %139
  ]

121:                                              ; preds = %117
  %122 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.38)
  br label %144

123:                                              ; preds = %117
  %124 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.39)
  br label %144

125:                                              ; preds = %117
  %126 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.40)
  br label %144

127:                                              ; preds = %117
  %128 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.41)
  br label %144

129:                                              ; preds = %117
  %130 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.42)
  br label %144

131:                                              ; preds = %117
  %132 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.43)
  br label %144

133:                                              ; preds = %117
  %134 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.44)
  br label %144

135:                                              ; preds = %117
  %136 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.45)
  br label %144

137:                                              ; preds = %117
  %138 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.46)
  br label %144

139:                                              ; preds = %117
  %140 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.47)
  br label %144

141:                                              ; preds = %117
  %142 = zext i16 %120 to i32
  %143 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.48, i32 noundef %142)
  br label %144

144:                                              ; preds = %141, %139, %137, %135, %133, %131, %129, %127, %125, %123, %121
  %145 = getelementptr inbounds i8, ptr %0, i64 18
  %146 = load i16, ptr %145, align 2, !tbaa !12
  switch i16 %146, label %503 [
    i16 0, label %147
    i16 1, label %149
    i16 2, label %151
    i16 3, label %153
    i16 4, label %155
    i16 5, label %157
    i16 6, label %159
    i16 7, label %161
    i16 8, label %163
    i16 9, label %165
    i16 10, label %167
    i16 15, label %169
    i16 17, label %171
    i16 18, label %173
    i16 19, label %175
    i16 20, label %177
    i16 21, label %179
    i16 22, label %181
    i16 23, label %183
    i16 36, label %185
    i16 37, label %187
    i16 38, label %189
    i16 39, label %191
    i16 40, label %193
    i16 41, label %195
    i16 42, label %197
    i16 43, label %199
    i16 44, label %201
    i16 45, label %203
    i16 46, label %205
    i16 47, label %207
    i16 48, label %209
    i16 49, label %211
    i16 50, label %213
    i16 51, label %215
    i16 52, label %217
    i16 53, label %219
    i16 54, label %221
    i16 55, label %223
    i16 56, label %225
    i16 57, label %227
    i16 58, label %229
    i16 59, label %231
    i16 60, label %233
    i16 61, label %235
    i16 62, label %237
    i16 63, label %239
    i16 64, label %241
    i16 65, label %243
    i16 66, label %245
    i16 67, label %247
    i16 68, label %249
    i16 69, label %251
    i16 70, label %253
    i16 71, label %255
    i16 72, label %257
    i16 73, label %259
    i16 74, label %261
    i16 75, label %263
    i16 76, label %265
    i16 77, label %267
    i16 78, label %269
    i16 79, label %271
    i16 80, label %273
    i16 81, label %275
    i16 82, label %277
    i16 83, label %279
    i16 84, label %281
    i16 85, label %283
    i16 86, label %285
    i16 87, label %287
    i16 88, label %289
    i16 89, label %291
    i16 90, label %293
    i16 91, label %295
    i16 92, label %297
    i16 93, label %299
    i16 94, label %301
    i16 95, label %303
    i16 96, label %305
    i16 97, label %307
    i16 98, label %309
    i16 99, label %311
    i16 100, label %313
    i16 101, label %315
    i16 102, label %317
    i16 103, label %319
    i16 104, label %321
    i16 105, label %323
    i16 106, label %325
    i16 107, label %327
    i16 108, label %329
    i16 109, label %331
    i16 110, label %333
    i16 111, label %335
    i16 112, label %337
    i16 113, label %339
    i16 114, label %341
    i16 115, label %343
    i16 116, label %345
    i16 117, label %347
    i16 118, label %349
    i16 119, label %351
    i16 120, label %353
    i16 131, label %355
    i16 132, label %357
    i16 133, label %359
    i16 134, label %361
    i16 135, label %363
    i16 136, label %365
    i16 137, label %367
    i16 138, label %369
    i16 139, label %371
    i16 140, label %373
    i16 141, label %375
    i16 142, label %377
    i16 143, label %379
    i16 144, label %381
    i16 160, label %383
    i16 161, label %385
    i16 162, label %387
    i16 163, label %389
    i16 164, label %391
    i16 165, label %393
    i16 166, label %395
    i16 167, label %397
    i16 168, label %399
    i16 169, label %401
    i16 170, label %403
    i16 171, label %405
    i16 172, label %407
    i16 173, label %409
    i16 174, label %411
    i16 175, label %413
    i16 176, label %415
    i16 177, label %417
    i16 178, label %419
    i16 179, label %421
    i16 180, label %423
    i16 181, label %425
    i16 183, label %427
    i16 185, label %429
    i16 186, label %431
    i16 187, label %433
    i16 188, label %435
    i16 189, label %437
    i16 190, label %439
    i16 191, label %441
    i16 192, label %443
    i16 193, label %445
    i16 194, label %447
    i16 195, label %449
    i16 196, label %451
    i16 197, label %453
    i16 198, label %455
    i16 199, label %457
    i16 200, label %459
    i16 201, label %461
    i16 202, label %463
    i16 203, label %465
    i16 204, label %467
    i16 210, label %469
    i16 211, label %471
    i16 212, label %473
    i16 213, label %475
    i16 214, label %477
    i16 215, label %479
    i16 216, label %481
    i16 217, label %483
    i16 218, label %485
    i16 219, label %487
    i16 220, label %489
    i16 221, label %491
    i16 222, label %493
    i16 223, label %495
    i16 224, label %497
    i16 243, label %499
    i16 247, label %501
  ]

147:                                              ; preds = %144
  %148 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.49)
  br label %506

149:                                              ; preds = %144
  %150 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.50)
  br label %506

151:                                              ; preds = %144
  %152 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.51)
  br label %506

153:                                              ; preds = %144
  %154 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.52)
  br label %506

155:                                              ; preds = %144
  %156 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.53)
  br label %506

157:                                              ; preds = %144
  %158 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.54)
  br label %506

159:                                              ; preds = %144
  %160 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.55)
  br label %506

161:                                              ; preds = %144
  %162 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.56)
  br label %506

163:                                              ; preds = %144
  %164 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.57)
  br label %506

165:                                              ; preds = %144
  %166 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.58)
  br label %506

167:                                              ; preds = %144
  %168 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.59)
  br label %506

169:                                              ; preds = %144
  %170 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.60)
  br label %506

171:                                              ; preds = %144
  %172 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.61)
  br label %506

173:                                              ; preds = %144
  %174 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.62)
  br label %506

175:                                              ; preds = %144
  %176 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.63)
  br label %506

177:                                              ; preds = %144
  %178 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.64)
  br label %506

179:                                              ; preds = %144
  %180 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.65)
  br label %506

181:                                              ; preds = %144
  %182 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.66)
  br label %506

183:                                              ; preds = %144
  %184 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.67)
  br label %506

185:                                              ; preds = %144
  %186 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.68)
  br label %506

187:                                              ; preds = %144
  %188 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.69)
  br label %506

189:                                              ; preds = %144
  %190 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.70)
  br label %506

191:                                              ; preds = %144
  %192 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.71)
  br label %506

193:                                              ; preds = %144
  %194 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.72)
  br label %506

195:                                              ; preds = %144
  %196 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.73)
  br label %506

197:                                              ; preds = %144
  %198 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.74)
  br label %506

199:                                              ; preds = %144
  %200 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.75)
  br label %506

201:                                              ; preds = %144
  %202 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.76)
  br label %506

203:                                              ; preds = %144
  %204 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.77)
  br label %506

205:                                              ; preds = %144
  %206 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.78)
  br label %506

207:                                              ; preds = %144
  %208 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.79)
  br label %506

209:                                              ; preds = %144
  %210 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.80)
  br label %506

211:                                              ; preds = %144
  %212 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.81)
  br label %506

213:                                              ; preds = %144
  %214 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.82)
  br label %506

215:                                              ; preds = %144
  %216 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.83)
  br label %506

217:                                              ; preds = %144
  %218 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.84)
  br label %506

219:                                              ; preds = %144
  %220 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.85)
  br label %506

221:                                              ; preds = %144
  %222 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.86)
  br label %506

223:                                              ; preds = %144
  %224 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.87)
  br label %506

225:                                              ; preds = %144
  %226 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.88)
  br label %506

227:                                              ; preds = %144
  %228 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.89)
  br label %506

229:                                              ; preds = %144
  %230 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.90)
  br label %506

231:                                              ; preds = %144
  %232 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.91)
  br label %506

233:                                              ; preds = %144
  %234 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.92)
  br label %506

235:                                              ; preds = %144
  %236 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.93)
  br label %506

237:                                              ; preds = %144
  %238 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.94)
  br label %506

239:                                              ; preds = %144
  %240 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.95)
  br label %506

241:                                              ; preds = %144
  %242 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.96)
  br label %506

243:                                              ; preds = %144
  %244 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.97)
  br label %506

245:                                              ; preds = %144
  %246 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.98)
  br label %506

247:                                              ; preds = %144
  %248 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.99)
  br label %506

249:                                              ; preds = %144
  %250 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.100)
  br label %506

251:                                              ; preds = %144
  %252 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.101)
  br label %506

253:                                              ; preds = %144
  %254 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.102)
  br label %506

255:                                              ; preds = %144
  %256 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.103)
  br label %506

257:                                              ; preds = %144
  %258 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.104)
  br label %506

259:                                              ; preds = %144
  %260 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.105)
  br label %506

261:                                              ; preds = %144
  %262 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.106)
  br label %506

263:                                              ; preds = %144
  %264 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.107)
  br label %506

265:                                              ; preds = %144
  %266 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.108)
  br label %506

267:                                              ; preds = %144
  %268 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.109)
  br label %506

269:                                              ; preds = %144
  %270 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.110)
  br label %506

271:                                              ; preds = %144
  %272 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.111)
  br label %506

273:                                              ; preds = %144
  %274 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.112)
  br label %506

275:                                              ; preds = %144
  %276 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.113)
  br label %506

277:                                              ; preds = %144
  %278 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.114)
  br label %506

279:                                              ; preds = %144
  %280 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.115)
  br label %506

281:                                              ; preds = %144
  %282 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.116)
  br label %506

283:                                              ; preds = %144
  %284 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.117)
  br label %506

285:                                              ; preds = %144
  %286 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.118)
  br label %506

287:                                              ; preds = %144
  %288 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.119)
  br label %506

289:                                              ; preds = %144
  %290 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.120)
  br label %506

291:                                              ; preds = %144
  %292 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.121)
  br label %506

293:                                              ; preds = %144
  %294 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.122)
  br label %506

295:                                              ; preds = %144
  %296 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.123)
  br label %506

297:                                              ; preds = %144
  %298 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.124)
  br label %506

299:                                              ; preds = %144
  %300 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.125)
  br label %506

301:                                              ; preds = %144
  %302 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.126)
  br label %506

303:                                              ; preds = %144
  %304 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.127)
  br label %506

305:                                              ; preds = %144
  %306 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.128)
  br label %506

307:                                              ; preds = %144
  %308 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.129)
  br label %506

309:                                              ; preds = %144
  %310 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.130)
  br label %506

311:                                              ; preds = %144
  %312 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.131)
  br label %506

313:                                              ; preds = %144
  %314 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.132)
  br label %506

315:                                              ; preds = %144
  %316 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.133)
  br label %506

317:                                              ; preds = %144
  %318 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.134)
  br label %506

319:                                              ; preds = %144
  %320 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.135)
  br label %506

321:                                              ; preds = %144
  %322 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.136)
  br label %506

323:                                              ; preds = %144
  %324 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.137)
  br label %506

325:                                              ; preds = %144
  %326 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.138)
  br label %506

327:                                              ; preds = %144
  %328 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.139)
  br label %506

329:                                              ; preds = %144
  %330 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.140)
  br label %506

331:                                              ; preds = %144
  %332 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.141)
  br label %506

333:                                              ; preds = %144
  %334 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.142)
  br label %506

335:                                              ; preds = %144
  %336 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.143)
  br label %506

337:                                              ; preds = %144
  %338 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.144)
  br label %506

339:                                              ; preds = %144
  %340 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.145)
  br label %506

341:                                              ; preds = %144
  %342 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.146)
  br label %506

343:                                              ; preds = %144
  %344 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.147)
  br label %506

345:                                              ; preds = %144
  %346 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.148)
  br label %506

347:                                              ; preds = %144
  %348 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.149)
  br label %506

349:                                              ; preds = %144
  %350 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.150)
  br label %506

351:                                              ; preds = %144
  %352 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.151)
  br label %506

353:                                              ; preds = %144
  %354 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.152)
  br label %506

355:                                              ; preds = %144
  %356 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.153)
  br label %506

357:                                              ; preds = %144
  %358 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.154)
  br label %506

359:                                              ; preds = %144
  %360 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.155)
  br label %506

361:                                              ; preds = %144
  %362 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.156)
  br label %506

363:                                              ; preds = %144
  %364 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.157)
  br label %506

365:                                              ; preds = %144
  %366 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.158)
  br label %506

367:                                              ; preds = %144
  %368 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.159)
  br label %506

369:                                              ; preds = %144
  %370 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.160)
  br label %506

371:                                              ; preds = %144
  %372 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.161)
  br label %506

373:                                              ; preds = %144
  %374 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.162)
  br label %506

375:                                              ; preds = %144
  %376 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.163)
  br label %506

377:                                              ; preds = %144
  %378 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.164)
  br label %506

379:                                              ; preds = %144
  %380 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.165)
  br label %506

381:                                              ; preds = %144
  %382 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.166)
  br label %506

383:                                              ; preds = %144
  %384 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.167)
  br label %506

385:                                              ; preds = %144
  %386 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.168)
  br label %506

387:                                              ; preds = %144
  %388 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.169)
  br label %506

389:                                              ; preds = %144
  %390 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.170)
  br label %506

391:                                              ; preds = %144
  %392 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.171)
  br label %506

393:                                              ; preds = %144
  %394 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.172)
  br label %506

395:                                              ; preds = %144
  %396 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.173)
  br label %506

397:                                              ; preds = %144
  %398 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.174)
  br label %506

399:                                              ; preds = %144
  %400 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.175)
  br label %506

401:                                              ; preds = %144
  %402 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.176)
  br label %506

403:                                              ; preds = %144
  %404 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.177)
  br label %506

405:                                              ; preds = %144
  %406 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.178)
  br label %506

407:                                              ; preds = %144
  %408 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.179)
  br label %506

409:                                              ; preds = %144
  %410 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.180)
  br label %506

411:                                              ; preds = %144
  %412 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.181)
  br label %506

413:                                              ; preds = %144
  %414 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.182)
  br label %506

415:                                              ; preds = %144
  %416 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.183)
  br label %506

417:                                              ; preds = %144
  %418 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.184)
  br label %506

419:                                              ; preds = %144
  %420 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.185)
  br label %506

421:                                              ; preds = %144
  %422 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.186)
  br label %506

423:                                              ; preds = %144
  %424 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.187)
  br label %506

425:                                              ; preds = %144
  %426 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188)
  br label %506

427:                                              ; preds = %144
  %428 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.189)
  br label %506

429:                                              ; preds = %144
  %430 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.190)
  br label %506

431:                                              ; preds = %144
  %432 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.191)
  br label %506

433:                                              ; preds = %144
  %434 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.192)
  br label %506

435:                                              ; preds = %144
  %436 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.193)
  br label %506

437:                                              ; preds = %144
  %438 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.194)
  br label %506

439:                                              ; preds = %144
  %440 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.195)
  br label %506

441:                                              ; preds = %144
  %442 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.196)
  br label %506

443:                                              ; preds = %144
  %444 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.197)
  br label %506

445:                                              ; preds = %144
  %446 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.198)
  br label %506

447:                                              ; preds = %144
  %448 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.199)
  br label %506

449:                                              ; preds = %144
  %450 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.200)
  br label %506

451:                                              ; preds = %144
  %452 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.201)
  br label %506

453:                                              ; preds = %144
  %454 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.202)
  br label %506

455:                                              ; preds = %144
  %456 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.203)
  br label %506

457:                                              ; preds = %144
  %458 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.204)
  br label %506

459:                                              ; preds = %144
  %460 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.205)
  br label %506

461:                                              ; preds = %144
  %462 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.206)
  br label %506

463:                                              ; preds = %144
  %464 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.207)
  br label %506

465:                                              ; preds = %144
  %466 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.208)
  br label %506

467:                                              ; preds = %144
  %468 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.209)
  br label %506

469:                                              ; preds = %144
  %470 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.210)
  br label %506

471:                                              ; preds = %144
  %472 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.211)
  br label %506

473:                                              ; preds = %144
  %474 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.212)
  br label %506

475:                                              ; preds = %144
  %476 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.213)
  br label %506

477:                                              ; preds = %144
  %478 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.214)
  br label %506

479:                                              ; preds = %144
  %480 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.215)
  br label %506

481:                                              ; preds = %144
  %482 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.216)
  br label %506

483:                                              ; preds = %144
  %484 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.217)
  br label %506

485:                                              ; preds = %144
  %486 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.218)
  br label %506

487:                                              ; preds = %144
  %488 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.219)
  br label %506

489:                                              ; preds = %144
  %490 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.220)
  br label %506

491:                                              ; preds = %144
  %492 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.221)
  br label %506

493:                                              ; preds = %144
  %494 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.222)
  br label %506

495:                                              ; preds = %144
  %496 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.223)
  br label %506

497:                                              ; preds = %144
  %498 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.224)
  br label %506

499:                                              ; preds = %144
  %500 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.225)
  br label %506

501:                                              ; preds = %144
  %502 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.226)
  br label %506

503:                                              ; preds = %144
  %504 = zext i16 %146 to i32
  %505 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.227, i32 noundef %504)
  br label %506

506:                                              ; preds = %503, %501, %499, %497, %495, %493, %491, %489, %487, %485, %483, %481, %479, %477, %475, %473, %471, %469, %467, %465, %463, %461, %459, %457, %455, %453, %451, %449, %447, %445, %443, %441, %439, %437, %435, %433, %431, %429, %427, %425, %423, %421, %419, %417, %415, %413, %411, %409, %407, %405, %403, %401, %399, %397, %395, %393, %391, %389, %387, %385, %383, %381, %379, %377, %375, %373, %371, %369, %367, %365, %363, %361, %359, %357, %355, %353, %351, %349, %347, %345, %343, %341, %339, %337, %335, %333, %331, %329, %327, %325, %323, %321, %319, %317, %315, %313, %311, %309, %307, %305, %303, %301, %299, %297, %295, %293, %291, %289, %287, %285, %283, %281, %279, %277, %275, %273, %271, %269, %267, %265, %263, %261, %259, %257, %255, %253, %251, %249, %247, %245, %243, %241, %239, %237, %235, %233, %231, %229, %227, %225, %223, %221, %219, %217, %215, %213, %211, %209, %207, %205, %203, %201, %199, %197, %195, %193, %191, %189, %187, %185, %183, %181, %179, %177, %175, %173, %171, %169, %167, %165, %163, %161, %159, %157, %155, %153, %151, %149, %147
  %507 = getelementptr inbounds i8, ptr %0, i64 20
  %508 = load i32, ptr %507, align 4, !tbaa !13
  switch i32 %508, label %513 [
    i32 0, label %509
    i32 1, label %511
  ]

509:                                              ; preds = %506
  %510 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.228)
  br label %515

511:                                              ; preds = %506
  %512 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.229, i32 noundef 1)
  br label %515

513:                                              ; preds = %506
  %514 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.230, i32 noundef %508)
  br label %515

515:                                              ; preds = %513, %511, %509
  %516 = getelementptr inbounds i8, ptr %0, i64 24
  %517 = load i32, ptr %516, align 8, !tbaa !14
  %518 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.231, i32 noundef %517)
  %519 = getelementptr inbounds i8, ptr %0, i64 28
  %520 = load i32, ptr %519, align 4, !tbaa !15
  %521 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.232, i32 noundef %520)
  %522 = getelementptr inbounds i8, ptr %0, i64 32
  %523 = load i32, ptr %522, align 8, !tbaa !16
  %524 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.233, i32 noundef %523)
  %525 = getelementptr inbounds i8, ptr %0, i64 36
  %526 = load i32, ptr %525, align 4, !tbaa !17
  %527 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef %526)
  %528 = getelementptr inbounds i8, ptr %0, i64 40
  %529 = load i16, ptr %528, align 8, !tbaa !18
  %530 = zext i16 %529 to i32
  %531 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.235, i32 noundef %530)
  %532 = getelementptr inbounds i8, ptr %0, i64 42
  %533 = load i16, ptr %532, align 2, !tbaa !19
  %534 = zext i16 %533 to i32
  %535 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.236, i32 noundef %534)
  %536 = getelementptr inbounds i8, ptr %0, i64 44
  %537 = load i16, ptr %536, align 4, !tbaa !20
  %538 = zext i16 %537 to i32
  %539 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.237, i32 noundef %538)
  %540 = getelementptr inbounds i8, ptr %0, i64 46
  %541 = load i16, ptr %540, align 2, !tbaa !21
  %542 = zext i16 %541 to i32
  %543 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.238, i32 noundef %542)
  %544 = getelementptr inbounds i8, ptr %0, i64 48
  %545 = load i16, ptr %544, align 8, !tbaa !22
  %546 = zext i16 %545 to i32
  %547 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.239, i32 noundef %546)
  %548 = getelementptr inbounds i8, ptr %0, i64 50
  %549 = load i16, ptr %548, align 2, !tbaa !23
  %550 = zext i16 %549 to i32
  %551 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.240, i32 noundef %550)
  ret void
}

attributes #0 = { 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 #1 = { nofree 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" }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !10, i64 16}
!9 = !{!"", !6, i64 0, !10, i64 16, !10, i64 18, !11, i64 20, !11, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !10, i64 40, !10, i64 42, !10, i64 44, !10, i64 46, !10, i64 48, !10, i64 50}
!10 = !{!"short", !6, i64 0}
!11 = !{!"int", !6, i64 0}
!12 = !{!9, !10, i64 18}
!13 = !{!9, !11, i64 20}
!14 = !{!9, !11, i64 24}
!15 = !{!9, !11, i64 28}
!16 = !{!9, !11, i64 32}
!17 = !{!9, !11, i64 36}
!18 = !{!9, !10, i64 40}
!19 = !{!9, !10, i64 42}
!20 = !{!9, !10, i64 44}
!21 = !{!9, !10, i64 46}
!22 = !{!9, !10, i64 48}
!23 = !{!9, !10, i64 50}


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