; LLVM IR from OpenMathLib/OpenBLAS :: cpuid_x86 (get_cacheinfo)

; 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.cache_info_t = type { i32, i32, i32, i32 }

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @cpuid(i32 noundef, ptr noundef, ptr noundef, ptr noundef, 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: inlinehint nounwind uwtable
declare hidden void @cpuid_count(i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @get_vendor() #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @get_cputype(i32 noundef) #2

; Function Attrs: nounwind uwtable
define dso_local i32 @get_cacheinfo(i32 noundef %0, ptr noundef %1) #2 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca [15 x i32], align 16
  %11 = alloca i32, align 4
  %12 = alloca %struct.cache_info_t, align 4
  %13 = alloca %struct.cache_info_t, align 4
  %14 = alloca %struct.cache_info_t, align 4
  %15 = alloca %struct.cache_info_t, align 4
  %16 = alloca %struct.cache_info_t, align 4
  %17 = alloca %struct.cache_info_t, align 4
  %18 = alloca %struct.cache_info_t, align 4
  %19 = alloca %struct.cache_info_t, align 4
  %20 = alloca %struct.cache_info_t, align 4
  %21 = alloca %struct.cache_info_t, align 4
  %22 = alloca %struct.cache_info_t, align 4
  %23 = alloca %struct.cache_info_t, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  store i32 %0, ptr %3, align 4, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #4
  call void @llvm.lifetime.start.p0(i64 60, ptr %10) #4
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #4
  %34 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 0, ptr %34, align 4, !tbaa !11
  %35 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 0, ptr %35, align 4, !tbaa !13
  %36 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 0, ptr %36, align 4, !tbaa !14
  %37 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 3
  store i32 0, ptr %37, align 4, !tbaa !15
  %38 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 0, ptr %38, align 4, !tbaa !11
  %39 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 0, ptr %39, align 4, !tbaa !13
  %40 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 0, ptr %40, align 4, !tbaa !14
  %41 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 3
  store i32 0, ptr %41, align 4, !tbaa !15
  %42 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 0, ptr %42, align 4, !tbaa !11
  %43 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 0, ptr %43, align 4, !tbaa !13
  %44 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 0, ptr %44, align 4, !tbaa !14
  %45 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 3
  store i32 0, ptr %45, align 4, !tbaa !15
  %46 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 0, ptr %46, align 4, !tbaa !11
  %47 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 0, ptr %47, align 4, !tbaa !13
  %48 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 0, ptr %48, align 4, !tbaa !14
  %49 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 3
  store i32 0, ptr %49, align 4, !tbaa !15
  %50 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 0, ptr %50, align 4, !tbaa !11
  %51 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %51, align 4, !tbaa !13
  %52 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 0, ptr %52, align 4, !tbaa !14
  %53 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 3
  store i32 0, ptr %53, align 4, !tbaa !15
  %54 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 0, ptr %54, align 4, !tbaa !11
  %55 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %55, align 4, !tbaa !13
  %56 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 0, ptr %56, align 4, !tbaa !14
  %57 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 3
  store i32 0, ptr %57, align 4, !tbaa !15
  %58 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 0, ptr %58, align 4, !tbaa !11
  %59 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %59, align 4, !tbaa !13
  %60 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 0, ptr %60, align 4, !tbaa !14
  %61 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 3
  store i32 0, ptr %61, align 4, !tbaa !15
  %62 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 0, ptr %62, align 4, !tbaa !11
  %63 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 0, ptr %63, align 4, !tbaa !13
  %64 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 0, ptr %64, align 4, !tbaa !14
  %65 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 3
  store i32 0, ptr %65, align 4, !tbaa !15
  %66 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 0
  store i32 0, ptr %66, align 4, !tbaa !11
  %67 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 1
  store i32 0, ptr %67, align 4, !tbaa !13
  %68 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 2
  store i32 0, ptr %68, align 4, !tbaa !14
  %69 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 3
  store i32 0, ptr %69, align 4, !tbaa !15
  %70 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 0
  store i32 0, ptr %70, align 4, !tbaa !11
  %71 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 1
  store i32 0, ptr %71, align 4, !tbaa !13
  %72 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 2
  store i32 0, ptr %72, align 4, !tbaa !14
  %73 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 3
  store i32 0, ptr %73, align 4, !tbaa !15
  %74 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 0
  store i32 0, ptr %74, align 4, !tbaa !11
  %75 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 1
  store i32 0, ptr %75, align 4, !tbaa !13
  %76 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 2
  store i32 0, ptr %76, align 4, !tbaa !14
  %77 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 3
  store i32 0, ptr %77, align 4, !tbaa !15
  %78 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 0
  store i32 0, ptr %78, align 4, !tbaa !11
  %79 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 1
  store i32 0, ptr %79, align 4, !tbaa !13
  %80 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 2
  store i32 0, ptr %80, align 4, !tbaa !14
  %81 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 3
  store i32 0, ptr %81, align 4, !tbaa !15
  call void @cpuid(i32 noundef 0, ptr noundef %9, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %82 = load i32, ptr %9, align 4, !tbaa !5
  %83 = icmp sgt i32 %82, 1
  br i1 %83, label %84, label %611

84:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #4
  call void @cpuid(i32 noundef 2, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %85 = load i32, ptr %5, align 4, !tbaa !5
  %86 = ashr i32 %85, 0
  %87 = and i32 %86, 255
  store i32 %87, ptr %24, align 4, !tbaa !5
  %88 = load i32, ptr %5, align 4, !tbaa !5
  %89 = ashr i32 %88, 8
  %90 = and i32 %89, 255
  %91 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 0
  store i32 %90, ptr %91, align 16, !tbaa !5
  %92 = load i32, ptr %5, align 4, !tbaa !5
  %93 = ashr i32 %92, 16
  %94 = and i32 %93, 255
  %95 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 1
  store i32 %94, ptr %95, align 4, !tbaa !5
  %96 = load i32, ptr %5, align 4, !tbaa !5
  %97 = ashr i32 %96, 24
  %98 = and i32 %97, 255
  %99 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 2
  store i32 %98, ptr %99, align 8, !tbaa !5
  %100 = load i32, ptr %6, align 4, !tbaa !5
  %101 = ashr i32 %100, 0
  %102 = and i32 %101, 255
  %103 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 3
  store i32 %102, ptr %103, align 4, !tbaa !5
  %104 = load i32, ptr %6, align 4, !tbaa !5
  %105 = ashr i32 %104, 8
  %106 = and i32 %105, 255
  %107 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 4
  store i32 %106, ptr %107, align 16, !tbaa !5
  %108 = load i32, ptr %6, align 4, !tbaa !5
  %109 = ashr i32 %108, 16
  %110 = and i32 %109, 255
  %111 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 5
  store i32 %110, ptr %111, align 4, !tbaa !5
  %112 = load i32, ptr %6, align 4, !tbaa !5
  %113 = ashr i32 %112, 24
  %114 = and i32 %113, 255
  %115 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 6
  store i32 %114, ptr %115, align 8, !tbaa !5
  %116 = load i32, ptr %7, align 4, !tbaa !5
  %117 = ashr i32 %116, 0
  %118 = and i32 %117, 255
  %119 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 7
  store i32 %118, ptr %119, align 4, !tbaa !5
  %120 = load i32, ptr %7, align 4, !tbaa !5
  %121 = ashr i32 %120, 8
  %122 = and i32 %121, 255
  %123 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 8
  store i32 %122, ptr %123, align 16, !tbaa !5
  %124 = load i32, ptr %7, align 4, !tbaa !5
  %125 = ashr i32 %124, 16
  %126 = and i32 %125, 255
  %127 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 9
  store i32 %126, ptr %127, align 4, !tbaa !5
  %128 = load i32, ptr %7, align 4, !tbaa !5
  %129 = ashr i32 %128, 24
  %130 = and i32 %129, 255
  %131 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 10
  store i32 %130, ptr %131, align 8, !tbaa !5
  %132 = load i32, ptr %8, align 4, !tbaa !5
  %133 = ashr i32 %132, 0
  %134 = and i32 %133, 255
  %135 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 11
  store i32 %134, ptr %135, align 4, !tbaa !5
  %136 = load i32, ptr %8, align 4, !tbaa !5
  %137 = ashr i32 %136, 8
  %138 = and i32 %137, 255
  %139 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 12
  store i32 %138, ptr %139, align 16, !tbaa !5
  %140 = load i32, ptr %8, align 4, !tbaa !5
  %141 = ashr i32 %140, 16
  %142 = and i32 %141, 255
  %143 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 13
  store i32 %142, ptr %143, align 4, !tbaa !5
  %144 = load i32, ptr %8, align 4, !tbaa !5
  %145 = ashr i32 %144, 24
  %146 = and i32 %145, 255
  %147 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 14
  store i32 %146, ptr %147, align 8, !tbaa !5
  store i32 0, ptr %11, align 4, !tbaa !5
  br label %148

148:                                              ; preds = %607, %84
  %149 = load i32, ptr %11, align 4, !tbaa !5
  %150 = icmp slt i32 %149, 15
  br i1 %150, label %151, label %610

151:                                              ; preds = %148
  %152 = load i32, ptr %11, align 4, !tbaa !5
  %153 = sext i32 %152 to i64
  %154 = getelementptr inbounds [15 x i32], ptr %10, i64 0, i64 %153
  %155 = load i32, ptr %154, align 4, !tbaa !5
  switch i32 %155, label %606 [
    i32 1, label %156
    i32 2, label %160
    i32 3, label %164
    i32 4, label %168
    i32 5, label %172
    i32 6, label %176
    i32 8, label %180
    i32 9, label %184
    i32 10, label %188
    i32 12, label %192
    i32 13, label %196
    i32 14, label %200
    i32 16, label %204
    i32 21, label %208
    i32 26, label %212
    i32 33, label %216
    i32 34, label %220
    i32 35, label %224
    i32 37, label %228
    i32 41, label %232
    i32 44, label %236
    i32 48, label %240
    i32 57, label %244
    i32 58, label %248
    i32 59, label %252
    i32 60, label %256
    i32 61, label %260
    i32 62, label %264
    i32 65, label %268
    i32 66, label %272
    i32 67, label %276
    i32 68, label %280
    i32 69, label %284
    i32 70, label %288
    i32 71, label %292
    i32 72, label %296
    i32 73, label %300
    i32 74, label %315
    i32 75, label %319
    i32 76, label %323
    i32 77, label %327
    i32 78, label %331
    i32 79, label %335
    i32 80, label %339
    i32 81, label %347
    i32 82, label %355
    i32 85, label %363
    i32 86, label %368
    i32 87, label %372
    i32 91, label %376
    i32 92, label %384
    i32 93, label %392
    i32 96, label %400
    i32 99, label %404
    i32 102, label %411
    i32 103, label %415
    i32 104, label %419
    i32 112, label %423
    i32 113, label %426
    i32 114, label %429
    i32 115, label %432
    i32 118, label %435
    i32 119, label %442
    i32 120, label %446
    i32 121, label %450
    i32 122, label %454
    i32 123, label %458
    i32 124, label %462
    i32 125, label %466
    i32 126, label %470
    i32 127, label %474
    i32 129, label %478
    i32 130, label %482
    i32 131, label %486
    i32 132, label %490
    i32 133, label %494
    i32 134, label %498
    i32 135, label %502
    i32 136, label %506
    i32 137, label %510
    i32 138, label %514
    i32 141, label %518
    i32 144, label %522
    i32 150, label %526
    i32 155, label %530
    i32 176, label %534
    i32 177, label %538
    i32 178, label %542
    i32 179, label %546
    i32 180, label %550
    i32 186, label %554
    i32 208, label %558
    i32 209, label %562
    i32 210, label %566
    i32 214, label %570
    i32 215, label %574
    i32 216, label %578
    i32 220, label %582
    i32 221, label %586
    i32 222, label %590
    i32 226, label %594
    i32 227, label %598
    i32 228, label %602
  ]

156:                                              ; preds = %151
  %157 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %157, align 4, !tbaa !11
  %158 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 4, ptr %158, align 4, !tbaa !13
  %159 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 32, ptr %159, align 4, !tbaa !14
  br label %606

160:                                              ; preds = %151
  %161 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %161, align 4, !tbaa !11
  %162 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %162, align 4, !tbaa !13
  %163 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 2, ptr %163, align 4, !tbaa !14
  br label %606

164:                                              ; preds = %151
  %165 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %165, align 4, !tbaa !11
  %166 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 4, ptr %166, align 4, !tbaa !13
  %167 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 64, ptr %167, align 4, !tbaa !14
  br label %606

168:                                              ; preds = %151
  %169 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %169, align 4, !tbaa !11
  %170 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 4, ptr %170, align 4, !tbaa !13
  %171 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 8, ptr %171, align 4, !tbaa !14
  br label %606

172:                                              ; preds = %151
  %173 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %173, align 4, !tbaa !11
  %174 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 4, ptr %174, align 4, !tbaa !13
  %175 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 32, ptr %175, align 4, !tbaa !14
  br label %606

176:                                              ; preds = %151
  %177 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 8, ptr %177, align 4, !tbaa !11
  %178 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 4, ptr %178, align 4, !tbaa !13
  %179 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 32, ptr %179, align 4, !tbaa !14
  br label %606

180:                                              ; preds = %151
  %181 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 16, ptr %181, align 4, !tbaa !11
  %182 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 4, ptr %182, align 4, !tbaa !13
  %183 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 32, ptr %183, align 4, !tbaa !14
  br label %606

184:                                              ; preds = %151
  %185 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 32, ptr %185, align 4, !tbaa !11
  %186 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 4, ptr %186, align 4, !tbaa !13
  %187 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 64, ptr %187, align 4, !tbaa !14
  br label %606

188:                                              ; preds = %151
  %189 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 8, ptr %189, align 4, !tbaa !11
  %190 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 2, ptr %190, align 4, !tbaa !13
  %191 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 32, ptr %191, align 4, !tbaa !14
  br label %606

192:                                              ; preds = %151
  %193 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 16, ptr %193, align 4, !tbaa !11
  %194 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %194, align 4, !tbaa !13
  %195 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 32, ptr %195, align 4, !tbaa !14
  br label %606

196:                                              ; preds = %151
  %197 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 16, ptr %197, align 4, !tbaa !11
  %198 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %198, align 4, !tbaa !13
  %199 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %199, align 4, !tbaa !14
  br label %606

200:                                              ; preds = %151
  %201 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 24, ptr %201, align 4, !tbaa !11
  %202 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 6, ptr %202, align 4, !tbaa !13
  %203 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %203, align 4, !tbaa !14
  br label %606

204:                                              ; preds = %151
  %205 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 16, ptr %205, align 4, !tbaa !11
  %206 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %206, align 4, !tbaa !13
  %207 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 32, ptr %207, align 4, !tbaa !14
  br label %606

208:                                              ; preds = %151
  %209 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 16, ptr %209, align 4, !tbaa !11
  %210 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 4, ptr %210, align 4, !tbaa !13
  %211 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 32, ptr %211, align 4, !tbaa !14
  br label %606

212:                                              ; preds = %151
  %213 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 96, ptr %213, align 4, !tbaa !11
  %214 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 6, ptr %214, align 4, !tbaa !13
  %215 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %215, align 4, !tbaa !14
  br label %606

216:                                              ; preds = %151
  %217 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %217, align 4, !tbaa !11
  %218 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %218, align 4, !tbaa !13
  %219 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %219, align 4, !tbaa !14
  br label %606

220:                                              ; preds = %151
  %221 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 512, ptr %221, align 4, !tbaa !11
  %222 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %222, align 4, !tbaa !13
  %223 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %223, align 4, !tbaa !14
  br label %606

224:                                              ; preds = %151
  %225 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 1024, ptr %225, align 4, !tbaa !11
  %226 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %226, align 4, !tbaa !13
  %227 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %227, align 4, !tbaa !14
  br label %606

228:                                              ; preds = %151
  %229 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %229, align 4, !tbaa !11
  %230 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %230, align 4, !tbaa !13
  %231 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %231, align 4, !tbaa !14
  br label %606

232:                                              ; preds = %151
  %233 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %233, align 4, !tbaa !11
  %234 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %234, align 4, !tbaa !13
  %235 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %235, align 4, !tbaa !14
  br label %606

236:                                              ; preds = %151
  %237 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 32, ptr %237, align 4, !tbaa !11
  %238 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 8, ptr %238, align 4, !tbaa !13
  %239 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %239, align 4, !tbaa !14
  br label %606

240:                                              ; preds = %151
  %241 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 32, ptr %241, align 4, !tbaa !11
  %242 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 8, ptr %242, align 4, !tbaa !13
  %243 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 64, ptr %243, align 4, !tbaa !14
  br label %606

244:                                              ; preds = %151
  %245 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 128, ptr %245, align 4, !tbaa !11
  %246 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %246, align 4, !tbaa !13
  %247 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %247, align 4, !tbaa !14
  br label %606

248:                                              ; preds = %151
  %249 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 192, ptr %249, align 4, !tbaa !11
  %250 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 6, ptr %250, align 4, !tbaa !13
  %251 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %251, align 4, !tbaa !14
  br label %606

252:                                              ; preds = %151
  %253 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 128, ptr %253, align 4, !tbaa !11
  %254 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 2, ptr %254, align 4, !tbaa !13
  %255 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %255, align 4, !tbaa !14
  br label %606

256:                                              ; preds = %151
  %257 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %257, align 4, !tbaa !11
  %258 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %258, align 4, !tbaa !13
  %259 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %259, align 4, !tbaa !14
  br label %606

260:                                              ; preds = %151
  %261 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 384, ptr %261, align 4, !tbaa !11
  %262 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 6, ptr %262, align 4, !tbaa !13
  %263 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %263, align 4, !tbaa !14
  br label %606

264:                                              ; preds = %151
  %265 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %265, align 4, !tbaa !11
  %266 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %266, align 4, !tbaa !13
  %267 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %267, align 4, !tbaa !14
  br label %606

268:                                              ; preds = %151
  %269 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 128, ptr %269, align 4, !tbaa !11
  %270 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %270, align 4, !tbaa !13
  %271 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %271, align 4, !tbaa !14
  br label %606

272:                                              ; preds = %151
  %273 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %273, align 4, !tbaa !11
  %274 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %274, align 4, !tbaa !13
  %275 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %275, align 4, !tbaa !14
  br label %606

276:                                              ; preds = %151
  %277 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %277, align 4, !tbaa !11
  %278 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %278, align 4, !tbaa !13
  %279 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %279, align 4, !tbaa !14
  br label %606

280:                                              ; preds = %151
  %281 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 1024, ptr %281, align 4, !tbaa !11
  %282 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %282, align 4, !tbaa !13
  %283 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %283, align 4, !tbaa !14
  br label %606

284:                                              ; preds = %151
  %285 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 2048, ptr %285, align 4, !tbaa !11
  %286 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %286, align 4, !tbaa !13
  %287 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %287, align 4, !tbaa !14
  br label %606

288:                                              ; preds = %151
  %289 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %289, align 4, !tbaa !11
  %290 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %290, align 4, !tbaa !13
  %291 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %291, align 4, !tbaa !14
  br label %606

292:                                              ; preds = %151
  %293 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 8192, ptr %293, align 4, !tbaa !11
  %294 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %294, align 4, !tbaa !13
  %295 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %295, align 4, !tbaa !14
  br label %606

296:                                              ; preds = %151
  %297 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 3184, ptr %297, align 4, !tbaa !11
  %298 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 12, ptr %298, align 4, !tbaa !13
  %299 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %299, align 4, !tbaa !14
  br label %606

300:                                              ; preds = %151
  %301 = call i32 @get_cputype(i32 noundef 4)
  %302 = icmp eq i32 %301, 15
  br i1 %302, label %303, label %310

303:                                              ; preds = %300
  %304 = call i32 @get_cputype(i32 noundef 5)
  %305 = icmp eq i32 %304, 6
  br i1 %305, label %306, label %310

306:                                              ; preds = %303
  %307 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %307, align 4, !tbaa !11
  %308 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %308, align 4, !tbaa !13
  %309 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %309, align 4, !tbaa !14
  br label %314

310:                                              ; preds = %303, %300
  %311 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 4096, ptr %311, align 4, !tbaa !11
  %312 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 16, ptr %312, align 4, !tbaa !13
  %313 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %313, align 4, !tbaa !14
  br label %314

314:                                              ; preds = %310, %306
  br label %606

315:                                              ; preds = %151
  %316 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 6144, ptr %316, align 4, !tbaa !11
  %317 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %317, align 4, !tbaa !13
  %318 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %318, align 4, !tbaa !14
  br label %606

319:                                              ; preds = %151
  %320 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 8192, ptr %320, align 4, !tbaa !11
  %321 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %321, align 4, !tbaa !13
  %322 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %322, align 4, !tbaa !14
  br label %606

323:                                              ; preds = %151
  %324 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 12280, ptr %324, align 4, !tbaa !11
  %325 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %325, align 4, !tbaa !13
  %326 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %326, align 4, !tbaa !14
  br label %606

327:                                              ; preds = %151
  %328 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 16384, ptr %328, align 4, !tbaa !11
  %329 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %329, align 4, !tbaa !13
  %330 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %330, align 4, !tbaa !14
  br label %606

331:                                              ; preds = %151
  %332 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 6144, ptr %332, align 4, !tbaa !11
  %333 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 24, ptr %333, align 4, !tbaa !13
  %334 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %334, align 4, !tbaa !14
  br label %606

335:                                              ; preds = %151
  %336 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %336, align 4, !tbaa !11
  %337 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %337, align 4, !tbaa !13
  %338 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 32, ptr %338, align 4, !tbaa !14
  br label %606

339:                                              ; preds = %151
  %340 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %340, align 4, !tbaa !11
  %341 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %341, align 4, !tbaa !13
  %342 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 64, ptr %342, align 4, !tbaa !14
  %343 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %343, align 4, !tbaa !11
  %344 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %344, align 4, !tbaa !13
  %345 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 64, ptr %345, align 4, !tbaa !14
  %346 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 3
  store i32 1, ptr %346, align 4, !tbaa !15
  br label %606

347:                                              ; preds = %151
  %348 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %348, align 4, !tbaa !11
  %349 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %349, align 4, !tbaa !13
  %350 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 128, ptr %350, align 4, !tbaa !14
  %351 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %351, align 4, !tbaa !11
  %352 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %352, align 4, !tbaa !13
  %353 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 128, ptr %353, align 4, !tbaa !14
  %354 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 3
  store i32 1, ptr %354, align 4, !tbaa !15
  br label %606

355:                                              ; preds = %151
  %356 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %356, align 4, !tbaa !11
  %357 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %357, align 4, !tbaa !13
  %358 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 256, ptr %358, align 4, !tbaa !14
  %359 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %359, align 4, !tbaa !11
  %360 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %360, align 4, !tbaa !13
  %361 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 256, ptr %361, align 4, !tbaa !14
  %362 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 3
  store i32 1, ptr %362, align 4, !tbaa !15
  br label %606

363:                                              ; preds = %151
  %364 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %364, align 4, !tbaa !11
  %365 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %365, align 4, !tbaa !13
  %366 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 7, ptr %366, align 4, !tbaa !14
  %367 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 3
  store i32 1, ptr %367, align 4, !tbaa !15
  br label %606

368:                                              ; preds = %151
  %369 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %369, align 4, !tbaa !11
  %370 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 4, ptr %370, align 4, !tbaa !13
  %371 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 16, ptr %371, align 4, !tbaa !14
  br label %606

372:                                              ; preds = %151
  %373 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %373, align 4, !tbaa !11
  %374 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 4, ptr %374, align 4, !tbaa !13
  %375 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 16, ptr %375, align 4, !tbaa !14
  br label %606

376:                                              ; preds = %151
  %377 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %377, align 4, !tbaa !11
  %378 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %378, align 4, !tbaa !13
  %379 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 64, ptr %379, align 4, !tbaa !14
  %380 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %380, align 4, !tbaa !11
  %381 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 0, ptr %381, align 4, !tbaa !13
  %382 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 64, ptr %382, align 4, !tbaa !14
  %383 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 3
  store i32 1, ptr %383, align 4, !tbaa !15
  br label %606

384:                                              ; preds = %151
  %385 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %385, align 4, !tbaa !11
  %386 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %386, align 4, !tbaa !13
  %387 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 128, ptr %387, align 4, !tbaa !14
  %388 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %388, align 4, !tbaa !11
  %389 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 0, ptr %389, align 4, !tbaa !13
  %390 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 128, ptr %390, align 4, !tbaa !14
  %391 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 3
  store i32 1, ptr %391, align 4, !tbaa !15
  br label %606

392:                                              ; preds = %151
  %393 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %393, align 4, !tbaa !11
  %394 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %394, align 4, !tbaa !13
  %395 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 256, ptr %395, align 4, !tbaa !14
  %396 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %396, align 4, !tbaa !11
  %397 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 0, ptr %397, align 4, !tbaa !13
  %398 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 256, ptr %398, align 4, !tbaa !14
  %399 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 3
  store i32 1, ptr %399, align 4, !tbaa !15
  br label %606

400:                                              ; preds = %151
  %401 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 16, ptr %401, align 4, !tbaa !11
  %402 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 8, ptr %402, align 4, !tbaa !13
  %403 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %403, align 4, !tbaa !14
  br label %606

404:                                              ; preds = %151
  %405 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 2048, ptr %405, align 4, !tbaa !11
  %406 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 4, ptr %406, align 4, !tbaa !13
  %407 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 32, ptr %407, align 4, !tbaa !14
  %408 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %408, align 4, !tbaa !11
  %409 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 4, ptr %409, align 4, !tbaa !13
  %410 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 32, ptr %410, align 4, !tbaa !14
  br label %606

411:                                              ; preds = %151
  %412 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 8, ptr %412, align 4, !tbaa !11
  %413 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %413, align 4, !tbaa !13
  %414 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %414, align 4, !tbaa !14
  br label %606

415:                                              ; preds = %151
  %416 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 16, ptr %416, align 4, !tbaa !11
  %417 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %417, align 4, !tbaa !13
  %418 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %418, align 4, !tbaa !14
  br label %606

419:                                              ; preds = %151
  %420 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 32, ptr %420, align 4, !tbaa !11
  %421 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 4, ptr %421, align 4, !tbaa !13
  %422 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 64, ptr %422, align 4, !tbaa !14
  br label %606

423:                                              ; preds = %151
  %424 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 12, ptr %424, align 4, !tbaa !11
  %425 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 8, ptr %425, align 4, !tbaa !13
  br label %606

426:                                              ; preds = %151
  %427 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 16, ptr %427, align 4, !tbaa !11
  %428 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 8, ptr %428, align 4, !tbaa !13
  br label %606

429:                                              ; preds = %151
  %430 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 32, ptr %430, align 4, !tbaa !11
  %431 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 8, ptr %431, align 4, !tbaa !13
  br label %606

432:                                              ; preds = %151
  %433 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 64, ptr %433, align 4, !tbaa !11
  %434 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 8, ptr %434, align 4, !tbaa !13
  br label %606

435:                                              ; preds = %151
  %436 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 2048, ptr %436, align 4, !tbaa !11
  %437 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %437, align 4, !tbaa !13
  %438 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 8, ptr %438, align 4, !tbaa !14
  %439 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %439, align 4, !tbaa !11
  %440 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %440, align 4, !tbaa !13
  %441 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 8, ptr %441, align 4, !tbaa !14
  br label %606

442:                                              ; preds = %151
  %443 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 16, ptr %443, align 4, !tbaa !11
  %444 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 4, ptr %444, align 4, !tbaa !13
  %445 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 64, ptr %445, align 4, !tbaa !14
  br label %606

446:                                              ; preds = %151
  %447 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 1024, ptr %447, align 4, !tbaa !11
  %448 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %448, align 4, !tbaa !13
  %449 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %449, align 4, !tbaa !14
  br label %606

450:                                              ; preds = %151
  %451 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 128, ptr %451, align 4, !tbaa !11
  %452 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %452, align 4, !tbaa !13
  %453 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %453, align 4, !tbaa !14
  br label %606

454:                                              ; preds = %151
  %455 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %455, align 4, !tbaa !11
  %456 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %456, align 4, !tbaa !13
  %457 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %457, align 4, !tbaa !14
  br label %606

458:                                              ; preds = %151
  %459 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %459, align 4, !tbaa !11
  %460 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %460, align 4, !tbaa !13
  %461 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %461, align 4, !tbaa !14
  br label %606

462:                                              ; preds = %151
  %463 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 1024, ptr %463, align 4, !tbaa !11
  %464 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %464, align 4, !tbaa !13
  %465 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %465, align 4, !tbaa !14
  br label %606

466:                                              ; preds = %151
  %467 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 2048, ptr %467, align 4, !tbaa !11
  %468 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %468, align 4, !tbaa !13
  %469 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %469, align 4, !tbaa !14
  br label %606

470:                                              ; preds = %151
  %471 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %471, align 4, !tbaa !11
  %472 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %472, align 4, !tbaa !13
  %473 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 128, ptr %473, align 4, !tbaa !14
  br label %606

474:                                              ; preds = %151
  %475 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %475, align 4, !tbaa !11
  %476 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 2, ptr %476, align 4, !tbaa !13
  %477 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %477, align 4, !tbaa !14
  br label %606

478:                                              ; preds = %151
  %479 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 128, ptr %479, align 4, !tbaa !11
  %480 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %480, align 4, !tbaa !13
  %481 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %481, align 4, !tbaa !14
  br label %606

482:                                              ; preds = %151
  %483 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 256, ptr %483, align 4, !tbaa !11
  %484 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %484, align 4, !tbaa !13
  %485 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %485, align 4, !tbaa !14
  br label %606

486:                                              ; preds = %151
  %487 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %487, align 4, !tbaa !11
  %488 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %488, align 4, !tbaa !13
  %489 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %489, align 4, !tbaa !14
  br label %606

490:                                              ; preds = %151
  %491 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 1024, ptr %491, align 4, !tbaa !11
  %492 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %492, align 4, !tbaa !13
  %493 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %493, align 4, !tbaa !14
  br label %606

494:                                              ; preds = %151
  %495 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 2048, ptr %495, align 4, !tbaa !11
  %496 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %496, align 4, !tbaa !13
  %497 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 32, ptr %497, align 4, !tbaa !14
  br label %606

498:                                              ; preds = %151
  %499 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 512, ptr %499, align 4, !tbaa !11
  %500 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 4, ptr %500, align 4, !tbaa !13
  %501 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %501, align 4, !tbaa !14
  br label %606

502:                                              ; preds = %151
  %503 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 1024, ptr %503, align 4, !tbaa !11
  %504 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %504, align 4, !tbaa !13
  %505 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 64, ptr %505, align 4, !tbaa !14
  br label %606

506:                                              ; preds = %151
  %507 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %507, align 4, !tbaa !11
  %508 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %508, align 4, !tbaa !13
  %509 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %509, align 4, !tbaa !14
  br label %606

510:                                              ; preds = %151
  %511 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %511, align 4, !tbaa !11
  %512 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %512, align 4, !tbaa !13
  %513 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %513, align 4, !tbaa !14
  br label %606

514:                                              ; preds = %151
  %515 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 8192, ptr %515, align 4, !tbaa !11
  %516 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %516, align 4, !tbaa !13
  %517 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %517, align 4, !tbaa !14
  br label %606

518:                                              ; preds = %151
  %519 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 3096, ptr %519, align 4, !tbaa !11
  %520 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %520, align 4, !tbaa !13
  %521 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 128, ptr %521, align 4, !tbaa !14
  br label %606

522:                                              ; preds = %151
  %523 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %523, align 4, !tbaa !11
  %524 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %524, align 4, !tbaa !13
  %525 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 64, ptr %525, align 4, !tbaa !14
  br label %606

526:                                              ; preds = %151
  %527 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %527, align 4, !tbaa !11
  %528 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %528, align 4, !tbaa !13
  %529 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 32, ptr %529, align 4, !tbaa !14
  br label %606

530:                                              ; preds = %151
  %531 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 0
  store i32 4, ptr %531, align 4, !tbaa !11
  %532 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 1
  store i32 0, ptr %532, align 4, !tbaa !13
  %533 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 2
  store i32 96, ptr %533, align 4, !tbaa !14
  br label %606

534:                                              ; preds = %151
  %535 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %535, align 4, !tbaa !11
  %536 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 4, ptr %536, align 4, !tbaa !13
  %537 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 128, ptr %537, align 4, !tbaa !14
  br label %606

538:                                              ; preds = %151
  %539 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %539, align 4, !tbaa !11
  %540 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 4, ptr %540, align 4, !tbaa !13
  %541 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 4, ptr %541, align 4, !tbaa !14
  br label %606

542:                                              ; preds = %151
  %543 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %543, align 4, !tbaa !11
  %544 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 4, ptr %544, align 4, !tbaa !13
  %545 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 64, ptr %545, align 4, !tbaa !14
  br label %606

546:                                              ; preds = %151
  %547 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %547, align 4, !tbaa !11
  %548 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 4, ptr %548, align 4, !tbaa !13
  %549 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 128, ptr %549, align 4, !tbaa !14
  br label %606

550:                                              ; preds = %151
  %551 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %551, align 4, !tbaa !11
  %552 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 4, ptr %552, align 4, !tbaa !13
  %553 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 256, ptr %553, align 4, !tbaa !14
  br label %606

554:                                              ; preds = %151
  %555 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %555, align 4, !tbaa !11
  %556 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 4, ptr %556, align 4, !tbaa !13
  %557 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 64, ptr %557, align 4, !tbaa !14
  br label %606

558:                                              ; preds = %151
  %559 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 512, ptr %559, align 4, !tbaa !11
  %560 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %560, align 4, !tbaa !13
  %561 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %561, align 4, !tbaa !14
  br label %606

562:                                              ; preds = %151
  %563 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 1024, ptr %563, align 4, !tbaa !11
  %564 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %564, align 4, !tbaa !13
  %565 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %565, align 4, !tbaa !14
  br label %606

566:                                              ; preds = %151
  %567 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %567, align 4, !tbaa !11
  %568 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 4, ptr %568, align 4, !tbaa !13
  %569 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %569, align 4, !tbaa !14
  br label %606

570:                                              ; preds = %151
  %571 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 1024, ptr %571, align 4, !tbaa !11
  %572 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %572, align 4, !tbaa !13
  %573 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %573, align 4, !tbaa !14
  br label %606

574:                                              ; preds = %151
  %575 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %575, align 4, !tbaa !11
  %576 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %576, align 4, !tbaa !13
  %577 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %577, align 4, !tbaa !14
  br label %606

578:                                              ; preds = %151
  %579 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %579, align 4, !tbaa !11
  %580 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 8, ptr %580, align 4, !tbaa !13
  %581 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %581, align 4, !tbaa !14
  br label %606

582:                                              ; preds = %151
  %583 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %583, align 4, !tbaa !11
  %584 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %584, align 4, !tbaa !13
  %585 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %585, align 4, !tbaa !14
  br label %606

586:                                              ; preds = %151
  %587 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %587, align 4, !tbaa !11
  %588 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %588, align 4, !tbaa !13
  %589 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %589, align 4, !tbaa !14
  br label %606

590:                                              ; preds = %151
  %591 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 8192, ptr %591, align 4, !tbaa !11
  %592 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 12, ptr %592, align 4, !tbaa !13
  %593 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %593, align 4, !tbaa !14
  br label %606

594:                                              ; preds = %151
  %595 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 2048, ptr %595, align 4, !tbaa !11
  %596 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %596, align 4, !tbaa !13
  %597 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %597, align 4, !tbaa !14
  br label %606

598:                                              ; preds = %151
  %599 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 4096, ptr %599, align 4, !tbaa !11
  %600 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %600, align 4, !tbaa !13
  %601 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %601, align 4, !tbaa !14
  br label %606

602:                                              ; preds = %151
  %603 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 8192, ptr %603, align 4, !tbaa !11
  %604 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 16, ptr %604, align 4, !tbaa !13
  %605 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 64, ptr %605, align 4, !tbaa !14
  br label %606

606:                                              ; preds = %602, %598, %594, %590, %586, %582, %578, %574, %570, %566, %562, %558, %554, %550, %546, %542, %538, %534, %530, %526, %522, %518, %514, %510, %506, %502, %498, %494, %490, %486, %482, %478, %474, %470, %466, %462, %458, %454, %450, %446, %442, %435, %432, %429, %426, %423, %419, %415, %411, %404, %400, %392, %384, %376, %372, %368, %363, %355, %347, %339, %335, %331, %327, %323, %319, %315, %314, %296, %292, %288, %284, %280, %276, %272, %268, %264, %260, %256, %252, %248, %244, %240, %236, %232, %228, %224, %220, %216, %212, %208, %204, %200, %196, %192, %188, %184, %180, %176, %172, %168, %164, %160, %156, %151
  br label %607

607:                                              ; preds = %606
  %608 = load i32, ptr %11, align 4, !tbaa !5
  %609 = add nsw i32 %608, 1
  store i32 %609, ptr %11, align 4, !tbaa !5
  br label %148, !llvm.loop !16

610:                                              ; preds = %148
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #4
  br label %611

611:                                              ; preds = %610, %2
  %612 = call i32 @get_vendor()
  %613 = icmp eq i32 %612, 1
  br i1 %613, label %614, label %736

614:                                              ; preds = %611
  %615 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  %616 = load i32, ptr %615, align 4, !tbaa !11
  %617 = icmp sle i32 %616, 0
  br i1 %617, label %622, label %618

618:                                              ; preds = %614
  %619 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  %620 = load i32, ptr %619, align 4, !tbaa !11
  %621 = icmp sle i32 %620, 0
  br i1 %621, label %622, label %707

622:                                              ; preds = %618, %614
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #4
  store i32 0, ptr %25, align 4, !tbaa !5
  br label %623

623:                                              ; preds = %703, %622
  %624 = load i32, ptr %25, align 4, !tbaa !5
  %625 = icmp slt i32 %624, 4
  br i1 %625, label %626, label %706

626:                                              ; preds = %623
  %627 = load i32, ptr %25, align 4, !tbaa !5
  call void @cpuid_count(i32 noundef 4, i32 noundef %627, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %628 = load i32, ptr %5, align 4, !tbaa !5
  %629 = and i32 %628, 31
  switch i32 %629, label %701 [
    i32 0, label %630
    i32 1, label %631
    i32 3, label %631
    i32 2, label %666
  ]

630:                                              ; preds = %626
  br label %703

631:                                              ; preds = %626, %626
  %632 = load i32, ptr %5, align 4, !tbaa !5
  %633 = ashr i32 %632, 5
  %634 = and i32 %633, 7
  switch i32 %634, label %664 [
    i32 1, label %635
  ]

635:                                              ; preds = %631
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #4
  %636 = load i32, ptr %7, align 4, !tbaa !5
  %637 = add nsw i32 %636, 1
  store i32 %637, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #4
  %638 = load i32, ptr %6, align 4, !tbaa !5
  %639 = and i32 %638, 4095
  %640 = add nsw i32 %639, 1
  store i32 %640, ptr %27, align 4, !tbaa !5
  %641 = load i32, ptr %6, align 4, !tbaa !5
  %642 = ashr i32 %641, 12
  store i32 %642, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #4
  %643 = load i32, ptr %6, align 4, !tbaa !5
  %644 = and i32 %643, 1023
  %645 = add nsw i32 %644, 1
  store i32 %645, ptr %28, align 4, !tbaa !5
  %646 = load i32, ptr %6, align 4, !tbaa !5
  %647 = ashr i32 %646, 10
  store i32 %647, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #4
  %648 = load i32, ptr %6, align 4, !tbaa !5
  %649 = and i32 %648, 1023
  %650 = add nsw i32 %649, 1
  store i32 %650, ptr %29, align 4, !tbaa !5
  %651 = load i32, ptr %29, align 4, !tbaa !5
  %652 = load i32, ptr %28, align 4, !tbaa !5
  %653 = mul nsw i32 %651, %652
  %654 = load i32, ptr %27, align 4, !tbaa !5
  %655 = mul nsw i32 %653, %654
  %656 = load i32, ptr %26, align 4, !tbaa !5
  %657 = mul nsw i32 %655, %656
  %658 = sdiv i32 %657, 1024
  %659 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 %658, ptr %659, align 4, !tbaa !11
  %660 = load i32, ptr %29, align 4, !tbaa !5
  %661 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 %660, ptr %661, align 4, !tbaa !13
  %662 = load i32, ptr %27, align 4, !tbaa !5
  %663 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 %662, ptr %663, align 4, !tbaa !14
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #4
  br label %665

664:                                              ; preds = %631
  br label %665

665:                                              ; preds = %664, %635
  br label %702

666:                                              ; preds = %626
  %667 = load i32, ptr %5, align 4, !tbaa !5
  %668 = ashr i32 %667, 5
  %669 = and i32 %668, 7
  switch i32 %669, label %699 [
    i32 1, label %670
  ]

670:                                              ; preds = %666
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #4
  %671 = load i32, ptr %7, align 4, !tbaa !5
  %672 = add nsw i32 %671, 1
  store i32 %672, ptr %30, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #4
  %673 = load i32, ptr %6, align 4, !tbaa !5
  %674 = and i32 %673, 4095
  %675 = add nsw i32 %674, 1
  store i32 %675, ptr %31, align 4, !tbaa !5
  %676 = load i32, ptr %6, align 4, !tbaa !5
  %677 = ashr i32 %676, 12
  store i32 %677, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #4
  %678 = load i32, ptr %6, align 4, !tbaa !5
  %679 = and i32 %678, 1023
  %680 = add nsw i32 %679, 1
  store i32 %680, ptr %32, align 4, !tbaa !5
  %681 = load i32, ptr %6, align 4, !tbaa !5
  %682 = ashr i32 %681, 10
  store i32 %682, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #4
  %683 = load i32, ptr %6, align 4, !tbaa !5
  %684 = and i32 %683, 1023
  %685 = add nsw i32 %684, 1
  store i32 %685, ptr %33, align 4, !tbaa !5
  %686 = load i32, ptr %33, align 4, !tbaa !5
  %687 = load i32, ptr %32, align 4, !tbaa !5
  %688 = mul nsw i32 %686, %687
  %689 = load i32, ptr %31, align 4, !tbaa !5
  %690 = mul nsw i32 %688, %689
  %691 = load i32, ptr %30, align 4, !tbaa !5
  %692 = mul nsw i32 %690, %691
  %693 = sdiv i32 %692, 1024
  %694 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 %693, ptr %694, align 4, !tbaa !11
  %695 = load i32, ptr %33, align 4, !tbaa !5
  %696 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 %695, ptr %696, align 4, !tbaa !13
  %697 = load i32, ptr %31, align 4, !tbaa !5
  %698 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 %697, ptr %698, align 4, !tbaa !14
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #4
  br label %700

699:                                              ; preds = %666
  br label %700

700:                                              ; preds = %699, %670
  br label %702

701:                                              ; preds = %626
  br label %702

702:                                              ; preds = %701, %700, %665
  br label %703

703:                                              ; preds = %702, %630
  %704 = load i32, ptr %25, align 4, !tbaa !5
  %705 = add nsw i32 %704, 1
  store i32 %705, ptr %25, align 4, !tbaa !5
  br label %623, !llvm.loop !18

706:                                              ; preds = %623
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #4
  br label %707

707:                                              ; preds = %706, %618
  call void @cpuid(i32 noundef -2147483648, ptr noundef %9, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %708 = load i32, ptr %9, align 4, !tbaa !5
  %709 = icmp uge i32 %708, -2147483642
  br i1 %709, label %710, label %735

710:                                              ; preds = %707
  %711 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  %712 = load i32, ptr %711, align 4, !tbaa !11
  %713 = icmp sle i32 %712, 0
  br i1 %713, label %714, label %734

714:                                              ; preds = %710
  call void @cpuid(i32 noundef -2147483642, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %715 = load i32, ptr %7, align 4, !tbaa !5
  %716 = ashr i32 %715, 16
  %717 = and i32 %716, 65535
  %718 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 %717, ptr %718, align 4, !tbaa !11
  %719 = load i32, ptr %7, align 4, !tbaa !5
  %720 = ashr i32 %719, 12
  %721 = and i32 %720, 15
  %722 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 %721, ptr %722, align 4, !tbaa !13
  %723 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  %724 = load i32, ptr %723, align 4, !tbaa !13
  switch i32 %724, label %729 [
    i32 6, label %725
    i32 8, label %727
  ]

725:                                              ; preds = %714
  %726 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %726, align 4, !tbaa !13
  br label %729

727:                                              ; preds = %714
  %728 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 16, ptr %728, align 4, !tbaa !13
  br label %729

729:                                              ; preds = %727, %725, %714
  %730 = load i32, ptr %7, align 4, !tbaa !5
  %731 = ashr i32 %730, 0
  %732 = and i32 %731, 255
  %733 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 %732, ptr %733, align 4, !tbaa !14
  br label %734

734:                                              ; preds = %729, %710
  br label %735

735:                                              ; preds = %734, %707
  br label %736

736:                                              ; preds = %735, %611
  %737 = call i32 @get_vendor()
  %738 = icmp eq i32 %737, 3
  br i1 %738, label %748, label %739

739:                                              ; preds = %736
  %740 = call i32 @get_vendor()
  %741 = icmp eq i32 %740, 11
  br i1 %741, label %748, label %742

742:                                              ; preds = %739
  %743 = call i32 @get_vendor()
  %744 = icmp eq i32 %743, 6
  br i1 %744, label %748, label %745

745:                                              ; preds = %742
  %746 = call i32 @get_vendor()
  %747 = icmp eq i32 %746, 12
  br i1 %747, label %748, label %954

748:                                              ; preds = %745, %742, %739, %736
  call void @cpuid(i32 noundef -2147483643, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %749 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 0
  store i32 4096, ptr %749, align 4, !tbaa !11
  %750 = load i32, ptr %5, align 4, !tbaa !5
  %751 = ashr i32 %750, 24
  %752 = and i32 %751, 255
  %753 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 %752, ptr %753, align 4, !tbaa !13
  %754 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  %755 = load i32, ptr %754, align 4, !tbaa !13
  %756 = icmp eq i32 %755, 255
  br i1 %756, label %757, label %759

757:                                              ; preds = %748
  %758 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 1
  store i32 0, ptr %758, align 4, !tbaa !13
  br label %759

759:                                              ; preds = %757, %748
  %760 = load i32, ptr %5, align 4, !tbaa !5
  %761 = ashr i32 %760, 16
  %762 = and i32 %761, 255
  %763 = getelementptr inbounds %struct.cache_info_t, ptr %19, i32 0, i32 2
  store i32 %762, ptr %763, align 4, !tbaa !14
  %764 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 0
  store i32 4096, ptr %764, align 4, !tbaa !11
  %765 = load i32, ptr %5, align 4, !tbaa !5
  %766 = ashr i32 %765, 8
  %767 = and i32 %766, 255
  %768 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 %767, ptr %768, align 4, !tbaa !13
  %769 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  %770 = load i32, ptr %769, align 4, !tbaa !13
  %771 = icmp eq i32 %770, 255
  br i1 %771, label %772, label %774

772:                                              ; preds = %759
  %773 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 1
  store i32 0, ptr %773, align 4, !tbaa !13
  br label %774

774:                                              ; preds = %772, %759
  %775 = load i32, ptr %5, align 4, !tbaa !5
  %776 = ashr i32 %775, 0
  %777 = and i32 %776, 255
  %778 = getelementptr inbounds %struct.cache_info_t, ptr %18, i32 0, i32 2
  store i32 %777, ptr %778, align 4, !tbaa !14
  %779 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 0
  store i32 4, ptr %779, align 4, !tbaa !11
  %780 = load i32, ptr %6, align 4, !tbaa !5
  %781 = ashr i32 %780, 24
  %782 = and i32 %781, 255
  %783 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 %782, ptr %783, align 4, !tbaa !13
  %784 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  %785 = load i32, ptr %784, align 4, !tbaa !13
  %786 = icmp eq i32 %785, 255
  br i1 %786, label %787, label %789

787:                                              ; preds = %774
  %788 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 1
  store i32 0, ptr %788, align 4, !tbaa !13
  br label %789

789:                                              ; preds = %787, %774
  %790 = load i32, ptr %6, align 4, !tbaa !5
  %791 = ashr i32 %790, 16
  %792 = and i32 %791, 255
  %793 = getelementptr inbounds %struct.cache_info_t, ptr %17, i32 0, i32 2
  store i32 %792, ptr %793, align 4, !tbaa !14
  %794 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 0
  store i32 4, ptr %794, align 4, !tbaa !11
  %795 = load i32, ptr %6, align 4, !tbaa !5
  %796 = ashr i32 %795, 8
  %797 = and i32 %796, 255
  %798 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 %797, ptr %798, align 4, !tbaa !13
  %799 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  %800 = load i32, ptr %799, align 4, !tbaa !13
  %801 = icmp eq i32 %800, 255
  br i1 %801, label %802, label %804

802:                                              ; preds = %789
  %803 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 1
  store i32 0, ptr %803, align 4, !tbaa !13
  br label %804

804:                                              ; preds = %802, %789
  %805 = load i32, ptr %6, align 4, !tbaa !5
  %806 = ashr i32 %805, 0
  %807 = and i32 %806, 255
  %808 = getelementptr inbounds %struct.cache_info_t, ptr %16, i32 0, i32 2
  store i32 %807, ptr %808, align 4, !tbaa !14
  %809 = load i32, ptr %7, align 4, !tbaa !5
  %810 = ashr i32 %809, 24
  %811 = and i32 %810, 255
  %812 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 0
  store i32 %811, ptr %812, align 4, !tbaa !11
  %813 = load i32, ptr %7, align 4, !tbaa !5
  %814 = ashr i32 %813, 16
  %815 = and i32 %814, 255
  %816 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 %815, ptr %816, align 4, !tbaa !13
  %817 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  %818 = load i32, ptr %817, align 4, !tbaa !13
  %819 = icmp eq i32 %818, 255
  br i1 %819, label %820, label %822

820:                                              ; preds = %804
  %821 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 1
  store i32 0, ptr %821, align 4, !tbaa !13
  br label %822

822:                                              ; preds = %820, %804
  %823 = load i32, ptr %7, align 4, !tbaa !5
  %824 = ashr i32 %823, 0
  %825 = and i32 %824, 255
  %826 = getelementptr inbounds %struct.cache_info_t, ptr %13, i32 0, i32 2
  store i32 %825, ptr %826, align 4, !tbaa !14
  %827 = load i32, ptr %7, align 4, !tbaa !5
  %828 = ashr i32 %827, 24
  %829 = and i32 %828, 255
  %830 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 0
  store i32 %829, ptr %830, align 4, !tbaa !11
  %831 = load i32, ptr %7, align 4, !tbaa !5
  %832 = ashr i32 %831, 16
  %833 = and i32 %832, 255
  %834 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 %833, ptr %834, align 4, !tbaa !13
  %835 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  %836 = load i32, ptr %835, align 4, !tbaa !13
  %837 = icmp eq i32 %836, 255
  br i1 %837, label %838, label %840

838:                                              ; preds = %822
  %839 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 1
  store i32 0, ptr %839, align 4, !tbaa !13
  br label %840

840:                                              ; preds = %838, %822
  %841 = load i32, ptr %7, align 4, !tbaa !5
  %842 = ashr i32 %841, 0
  %843 = and i32 %842, 255
  %844 = getelementptr inbounds %struct.cache_info_t, ptr %12, i32 0, i32 2
  store i32 %843, ptr %844, align 4, !tbaa !14
  call void @cpuid(i32 noundef -2147483642, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8)
  %845 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 0
  store i32 4096, ptr %845, align 4, !tbaa !11
  %846 = load i32, ptr %5, align 4, !tbaa !5
  %847 = ashr i32 %846, 24
  %848 = and i32 %847, 255
  %849 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 1
  store i32 %848, ptr %849, align 4, !tbaa !13
  %850 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 1
  %851 = load i32, ptr %850, align 4, !tbaa !13
  %852 = icmp eq i32 %851, 255
  br i1 %852, label %853, label %855

853:                                              ; preds = %840
  %854 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 1
  store i32 0, ptr %854, align 4, !tbaa !13
  br label %855

855:                                              ; preds = %853, %840
  %856 = load i32, ptr %5, align 4, !tbaa !5
  %857 = ashr i32 %856, 16
  %858 = and i32 %857, 255
  %859 = getelementptr inbounds %struct.cache_info_t, ptr %23, i32 0, i32 2
  store i32 %858, ptr %859, align 4, !tbaa !14
  %860 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 0
  store i32 4096, ptr %860, align 4, !tbaa !11
  %861 = load i32, ptr %5, align 4, !tbaa !5
  %862 = ashr i32 %861, 8
  %863 = and i32 %862, 255
  %864 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 1
  store i32 %863, ptr %864, align 4, !tbaa !13
  %865 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 1
  %866 = load i32, ptr %865, align 4, !tbaa !13
  %867 = icmp eq i32 %866, 255
  br i1 %867, label %868, label %870

868:                                              ; preds = %855
  %869 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 1
  store i32 0, ptr %869, align 4, !tbaa !13
  br label %870

870:                                              ; preds = %868, %855
  %871 = load i32, ptr %5, align 4, !tbaa !5
  %872 = ashr i32 %871, 0
  %873 = and i32 %872, 255
  %874 = getelementptr inbounds %struct.cache_info_t, ptr %22, i32 0, i32 2
  store i32 %873, ptr %874, align 4, !tbaa !14
  %875 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 0
  store i32 4, ptr %875, align 4, !tbaa !11
  %876 = load i32, ptr %6, align 4, !tbaa !5
  %877 = ashr i32 %876, 24
  %878 = and i32 %877, 255
  %879 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 1
  store i32 %878, ptr %879, align 4, !tbaa !13
  %880 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 1
  %881 = load i32, ptr %880, align 4, !tbaa !13
  %882 = icmp eq i32 %881, 255
  br i1 %882, label %883, label %885

883:                                              ; preds = %870
  %884 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 1
  store i32 0, ptr %884, align 4, !tbaa !13
  br label %885

885:                                              ; preds = %883, %870
  %886 = load i32, ptr %6, align 4, !tbaa !5
  %887 = ashr i32 %886, 16
  %888 = and i32 %887, 255
  %889 = getelementptr inbounds %struct.cache_info_t, ptr %21, i32 0, i32 2
  store i32 %888, ptr %889, align 4, !tbaa !14
  %890 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 0
  store i32 4, ptr %890, align 4, !tbaa !11
  %891 = load i32, ptr %6, align 4, !tbaa !5
  %892 = ashr i32 %891, 8
  %893 = and i32 %892, 255
  %894 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 1
  store i32 %893, ptr %894, align 4, !tbaa !13
  %895 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 1
  %896 = load i32, ptr %895, align 4, !tbaa !13
  %897 = icmp eq i32 %896, 255
  br i1 %897, label %898, label %900

898:                                              ; preds = %885
  %899 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 1
  store i32 0, ptr %899, align 4, !tbaa !13
  br label %900

900:                                              ; preds = %898, %885
  %901 = load i32, ptr %6, align 4, !tbaa !5
  %902 = ashr i32 %901, 0
  %903 = and i32 %902, 255
  %904 = getelementptr inbounds %struct.cache_info_t, ptr %20, i32 0, i32 2
  store i32 %903, ptr %904, align 4, !tbaa !14
  %905 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  %906 = load i32, ptr %905, align 4, !tbaa !11
  %907 = icmp sle i32 %906, 0
  br i1 %907, label %908, label %934

908:                                              ; preds = %900
  %909 = load i32, ptr %7, align 4, !tbaa !5
  %910 = ashr i32 %909, 16
  %911 = and i32 %910, 65535
  %912 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 0
  store i32 %911, ptr %912, align 4, !tbaa !11
  %913 = load i32, ptr %7, align 4, !tbaa !5
  %914 = ashr i32 %913, 12
  %915 = and i32 %914, 15
  %916 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 %915, ptr %916, align 4, !tbaa !13
  %917 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  %918 = load i32, ptr %917, align 4, !tbaa !13
  switch i32 %918, label %923 [
    i32 6, label %919
    i32 8, label %921
  ]

919:                                              ; preds = %908
  %920 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 8, ptr %920, align 4, !tbaa !13
  br label %923

921:                                              ; preds = %908
  %922 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 16, ptr %922, align 4, !tbaa !13
  br label %923

923:                                              ; preds = %921, %919, %908
  %924 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  %925 = load i32, ptr %924, align 4, !tbaa !13
  %926 = icmp eq i32 %925, 255
  br i1 %926, label %927, label %929

927:                                              ; preds = %923
  %928 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 0, ptr %928, align 4, !tbaa !13
  br label %929

929:                                              ; preds = %927, %923
  %930 = load i32, ptr %7, align 4, !tbaa !5
  %931 = ashr i32 %930, 0
  %932 = and i32 %931, 255
  %933 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 2
  store i32 %932, ptr %933, align 4, !tbaa !14
  br label %934

934:                                              ; preds = %929, %900
  %935 = load i32, ptr %8, align 4, !tbaa !5
  %936 = ashr i32 %935, 18
  %937 = and i32 %936, 16383
  %938 = mul nsw i32 %937, 512
  %939 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 0
  store i32 %938, ptr %939, align 4, !tbaa !11
  %940 = load i32, ptr %8, align 4, !tbaa !5
  %941 = ashr i32 %940, 12
  %942 = and i32 %941, 15
  %943 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  store i32 %942, ptr %943, align 4, !tbaa !13
  %944 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 1
  %945 = load i32, ptr %944, align 4, !tbaa !13
  %946 = icmp eq i32 %945, 255
  br i1 %946, label %947, label %949

947:                                              ; preds = %934
  %948 = getelementptr inbounds %struct.cache_info_t, ptr %14, i32 0, i32 1
  store i32 0, ptr %948, align 4, !tbaa !13
  br label %949

949:                                              ; preds = %947, %934
  %950 = load i32, ptr %8, align 4, !tbaa !5
  %951 = ashr i32 %950, 0
  %952 = and i32 %951, 255
  %953 = getelementptr inbounds %struct.cache_info_t, ptr %15, i32 0, i32 2
  store i32 %952, ptr %953, align 4, !tbaa !14
  br label %954

954:                                              ; preds = %949, %745
  %955 = load i32, ptr %3, align 4, !tbaa !5
  switch i32 %955, label %980 [
    i32 1, label %956
    i32 2, label %958
    i32 3, label %960
    i32 4, label %962
    i32 6, label %964
    i32 5, label %966
    i32 8, label %968
    i32 7, label %970
    i32 10, label %972
    i32 9, label %974
    i32 12, label %976
    i32 11, label %978
  ]

956:                                              ; preds = %954
  %957 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %957, ptr align 4 %12, i64 16, i1 false), !tbaa.struct !19
  br label %980

958:                                              ; preds = %954
  %959 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %959, ptr align 4 %13, i64 16, i1 false), !tbaa.struct !19
  br label %980

960:                                              ; preds = %954
  %961 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %961, ptr align 4 %14, i64 16, i1 false), !tbaa.struct !19
  br label %980

962:                                              ; preds = %954
  %963 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %963, ptr align 4 %15, i64 16, i1 false), !tbaa.struct !19
  br label %980

964:                                              ; preds = %954
  %965 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %965, ptr align 4 %17, i64 16, i1 false), !tbaa.struct !19
  br label %980

966:                                              ; preds = %954
  %967 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %967, ptr align 4 %16, i64 16, i1 false), !tbaa.struct !19
  br label %980

968:                                              ; preds = %954
  %969 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %969, ptr align 4 %19, i64 16, i1 false), !tbaa.struct !19
  br label %980

970:                                              ; preds = %954
  %971 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %971, ptr align 4 %18, i64 16, i1 false), !tbaa.struct !19
  br label %980

972:                                              ; preds = %954
  %973 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %973, ptr align 4 %21, i64 16, i1 false), !tbaa.struct !19
  br label %980

974:                                              ; preds = %954
  %975 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %975, ptr align 4 %20, i64 16, i1 false), !tbaa.struct !19
  br label %980

976:                                              ; preds = %954
  %977 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %977, ptr align 4 %23, i64 16, i1 false), !tbaa.struct !19
  br label %980

978:                                              ; preds = %954
  %979 = load ptr, ptr %4, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %979, ptr align 4 %22, i64 16, i1 false), !tbaa.struct !19
  br label %980

980:                                              ; preds = %978, %976, %974, %972, %970, %968, %966, %964, %962, %960, %958, %956, %954
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 60, ptr %10) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #4
  ret i32 0
}

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !6, i64 0}
!12 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!13 = !{!12, !6, i64 4}
!14 = !{!12, !6, i64 8}
!15 = !{!12, !6, i64 12}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}
!19 = !{i64 0, i64 4, !5, i64 4, i64 4, !5, i64 8, i64 4, !5, i64 12, i64 4, !5}


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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @get_vendor() local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @get_cputype(i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @get_cacheinfo(i32 noundef %0, ptr nocapture noundef writeonly %1) local_unnamed_addr #2 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca [15 x i32], align 16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #3
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %8) #3
  call void @cpuid(i32 noundef 0, ptr noundef nonnull %7, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %9 = load i32, ptr %7, align 4, !tbaa !5
  %10 = icmp sgt i32 %9, 1
  br i1 %10, label %11, label %.loopexit76

11:                                               ; preds = %2
  call void @cpuid(i32 noundef 2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %12 = load i32, ptr %3, align 4, !tbaa !5
  %13 = lshr i32 %12, 8
  %14 = and i32 %13, 255
  store i32 %14, ptr %8, align 16, !tbaa !5
  %15 = lshr i32 %12, 16
  %16 = and i32 %15, 255
  %17 = getelementptr inbounds i8, ptr %8, i64 4
  store i32 %16, ptr %17, align 4, !tbaa !5
  %18 = lshr i32 %12, 24
  %19 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 %18, ptr %19, align 8, !tbaa !5
  %20 = load i32, ptr %4, align 4, !tbaa !5
  %21 = and i32 %20, 255
  %22 = getelementptr inbounds i8, ptr %8, i64 12
  store i32 %21, ptr %22, align 4, !tbaa !5
  %23 = lshr i32 %20, 8
  %24 = and i32 %23, 255
  %25 = getelementptr inbounds i8, ptr %8, i64 16
  store i32 %24, ptr %25, align 16, !tbaa !5
  %26 = lshr i32 %20, 16
  %27 = and i32 %26, 255
  %28 = getelementptr inbounds i8, ptr %8, i64 20
  store i32 %27, ptr %28, align 4, !tbaa !5
  %29 = lshr i32 %20, 24
  %30 = getelementptr inbounds i8, ptr %8, i64 24
  store i32 %29, ptr %30, align 8, !tbaa !5
  %31 = load i32, ptr %5, align 4, !tbaa !5
  %32 = and i32 %31, 255
  %33 = getelementptr inbounds i8, ptr %8, i64 28
  store i32 %32, ptr %33, align 4, !tbaa !5
  %34 = lshr i32 %31, 8
  %35 = and i32 %34, 255
  %36 = getelementptr inbounds i8, ptr %8, i64 32
  store i32 %35, ptr %36, align 16, !tbaa !5
  %37 = lshr i32 %31, 16
  %38 = and i32 %37, 255
  %39 = getelementptr inbounds i8, ptr %8, i64 36
  store i32 %38, ptr %39, align 4, !tbaa !5
  %40 = lshr i32 %31, 24
  %41 = getelementptr inbounds i8, ptr %8, i64 40
  store i32 %40, ptr %41, align 8, !tbaa !5
  %42 = load i32, ptr %6, align 4, !tbaa !5
  %43 = and i32 %42, 255
  %44 = getelementptr inbounds i8, ptr %8, i64 44
  store i32 %43, ptr %44, align 4, !tbaa !5
  %45 = lshr i32 %42, 8
  %46 = and i32 %45, 255
  %47 = getelementptr inbounds i8, ptr %8, i64 48
  store i32 %46, ptr %47, align 16, !tbaa !5
  %48 = lshr i32 %42, 16
  %49 = and i32 %48, 255
  %50 = getelementptr inbounds i8, ptr %8, i64 52
  store i32 %49, ptr %50, align 4, !tbaa !5
  %51 = lshr i32 %42, 24
  %52 = getelementptr inbounds i8, ptr %8, i64 56
  store i32 %51, ptr %52, align 8, !tbaa !5
  br label %53

53:                                               ; preds = %11, %165
  %indvars.iv = phi i64 [ 0, %11 ], [ %indvars.iv.next, %165 ]
  %.sroa.3249.0104 = phi i32 [ 0, %11 ], [ %.sroa.3249.1, %165 ]
  %.sroa.1748.0103 = phi i32 [ 0, %11 ], [ %.sroa.1748.1, %165 ]
  %.sroa.047.0102 = phi i32 [ 0, %11 ], [ %.sroa.047.1, %165 ]
  %.sroa.3246.0101 = phi i32 [ 0, %11 ], [ %.sroa.3246.1, %165 ]
  %.sroa.17.0100 = phi i32 [ 0, %11 ], [ %.sroa.17.1, %165 ]
  %.sroa.045.099 = phi i32 [ 0, %11 ], [ %.sroa.045.1, %165 ]
  %.sroa.82.098 = phi i32 [ 0, %11 ], [ %.sroa.82.1, %165 ]
  %.sroa.39.097 = phi i32 [ 0, %11 ], [ %.sroa.39.1, %165 ]
  %.sroa.041.096 = phi i32 [ 0, %11 ], [ %.sroa.041.1, %165 ]
  %.sroa.62.095 = phi i32 [ 0, %11 ], [ %.sroa.62.1, %165 ]
  %.sroa.025.094 = phi i32 [ 0, %11 ], [ %.sroa.025.1, %165 ]
  %.sroa.1126.093 = phi i32 [ 0, %11 ], [ %.sroa.1126.1, %165 ]
  %.sroa.3240.092 = phi i32 [ 0, %11 ], [ %.sroa.3240.1, %165 ]
  %.sroa.039.091 = phi i32 [ 0, %11 ], [ %.sroa.039.1, %165 ]
  %.sroa.031.090 = phi i32 [ 0, %11 ], [ %.sroa.031.1, %165 ]
  %.sroa.13.089 = phi i32 [ 0, %11 ], [ %.sroa.13.1, %165 ]
  %.sroa.25.088 = phi i32 [ 0, %11 ], [ %.sroa.25.1, %165 ]
  %.sroa.35.087 = phi i32 [ 0, %11 ], [ %.sroa.35.1, %165 ]
  %.sroa.032.086 = phi i32 [ 0, %11 ], [ %.sroa.032.1, %165 ]
  %.sroa.12.085 = phi i32 [ 0, %11 ], [ %.sroa.12.1, %165 ]
  %.sroa.23.084 = phi i32 [ 0, %11 ], [ %.sroa.23.1, %165 ]
  %.sroa.32.083 = phi i32 [ 0, %11 ], [ %.sroa.32.1, %165 ]
  %.sroa.033.082 = phi i32 [ 0, %11 ], [ %.sroa.033.1, %165 ]
  %.sroa.1434.081 = phi i32 [ 0, %11 ], [ %.sroa.1434.1, %165 ]
  %.sroa.27.080 = phi i32 [ 0, %11 ], [ %.sroa.27.1, %165 ]
  %.sroa.2737.079 = phi i32 [ 0, %11 ], [ %.sroa.2737.1, %165 ]
  %.sroa.035.078 = phi i32 [ 0, %11 ], [ %.sroa.035.1, %165 ]
  %.sroa.1436.077 = phi i32 [ 0, %11 ], [ %.sroa.1436.1, %165 ]
  %54 = getelementptr inbounds [15 x i32], ptr %8, i64 0, i64 %indvars.iv
  %55 = load i32, ptr %54, align 4, !tbaa !5
  switch i32 %55, label %165 [
    i32 1, label %56
    i32 2, label %57
    i32 3, label %58
    i32 4, label %59
    i32 5, label %60
    i32 6, label %61
    i32 8, label %62
    i32 9, label %63
    i32 10, label %64
    i32 12, label %65
    i32 13, label %66
    i32 14, label %67
    i32 16, label %68
    i32 21, label %69
    i32 26, label %70
    i32 33, label %71
    i32 34, label %72
    i32 35, label %73
    i32 37, label %74
    i32 41, label %75
    i32 44, label %76
    i32 48, label %77
    i32 57, label %78
    i32 58, label %79
    i32 59, label %80
    i32 60, label %81
    i32 61, label %82
    i32 62, label %83
    i32 65, label %84
    i32 66, label %85
    i32 67, label %86
    i32 68, label %87
    i32 69, label %88
    i32 70, label %89
    i32 71, label %90
    i32 72, label %91
    i32 73, label %92
    i32 74, label %99
    i32 75, label %100
    i32 76, label %101
    i32 77, label %102
    i32 78, label %103
    i32 79, label %104
    i32 80, label %105
    i32 81, label %106
    i32 82, label %107
    i32 85, label %108
    i32 86, label %109
    i32 87, label %110
    i32 91, label %111
    i32 92, label %112
    i32 93, label %113
    i32 96, label %114
    i32 99, label %115
    i32 102, label %116
    i32 103, label %117
    i32 104, label %118
    i32 112, label %119
    i32 113, label %120
    i32 114, label %121
    i32 115, label %122
    i32 118, label %123
    i32 119, label %124
    i32 120, label %125
    i32 121, label %126
    i32 122, label %127
    i32 123, label %128
    i32 124, label %129
    i32 125, label %130
    i32 126, label %131
    i32 127, label %132
    i32 129, label %133
    i32 130, label %134
    i32 131, label %135
    i32 132, label %136
    i32 133, label %137
    i32 134, label %138
    i32 135, label %139
    i32 136, label %140
    i32 137, label %141
    i32 138, label %142
    i32 141, label %143
    i32 144, label %144
    i32 150, label %145
    i32 155, label %146
    i32 176, label %147
    i32 177, label %148
    i32 178, label %149
    i32 179, label %150
    i32 180, label %151
    i32 186, label %152
    i32 208, label %153
    i32 209, label %154
    i32 210, label %155
    i32 214, label %156
    i32 215, label %157
    i32 216, label %158
    i32 220, label %159
    i32 221, label %160
    i32 222, label %161
    i32 226, label %162
    i32 227, label %163
    i32 228, label %164
  ]

56:                                               ; preds = %53
  br label %165

57:                                               ; preds = %53
  br label %165

58:                                               ; preds = %53
  br label %165

59:                                               ; preds = %53
  br label %165

60:                                               ; preds = %53
  br label %165

61:                                               ; preds = %53
  br label %165

62:                                               ; preds = %53
  br label %165

63:                                               ; preds = %53
  br label %165

64:                                               ; preds = %53
  br label %165

65:                                               ; preds = %53
  br label %165

66:                                               ; preds = %53
  br label %165

67:                                               ; preds = %53
  br label %165

68:                                               ; preds = %53
  br label %165

69:                                               ; preds = %53
  br label %165

70:                                               ; preds = %53
  br label %165

71:                                               ; preds = %53
  br label %165

72:                                               ; preds = %53
  br label %165

73:                                               ; preds = %53
  br label %165

74:                                               ; preds = %53
  br label %165

75:                                               ; preds = %53
  br label %165

76:                                               ; preds = %53
  br label %165

77:                                               ; preds = %53
  br label %165

78:                                               ; preds = %53
  br label %165

79:                                               ; preds = %53
  br label %165

80:                                               ; preds = %53
  br label %165

81:                                               ; preds = %53
  br label %165

82:                                               ; preds = %53
  br label %165

83:                                               ; preds = %53
  br label %165

84:                                               ; preds = %53
  br label %165

85:                                               ; preds = %53
  br label %165

86:                                               ; preds = %53
  br label %165

87:                                               ; preds = %53
  br label %165

88:                                               ; preds = %53
  br label %165

89:                                               ; preds = %53
  br label %165

90:                                               ; preds = %53
  br label %165

91:                                               ; preds = %53
  br label %165

92:                                               ; preds = %53
  %93 = call i32 @get_cputype(i32 noundef 4)
  %94 = icmp eq i32 %93, 15
  br i1 %94, label %95, label %98

95:                                               ; preds = %92
  %96 = call i32 @get_cputype(i32 noundef 5)
  %97 = icmp eq i32 %96, 6
  br i1 %97, label %165, label %98

98:                                               ; preds = %95, %92
  br label %165

99:                                               ; preds = %53
  br label %165

100:                                              ; preds = %53
  br label %165

101:                                              ; preds = %53
  br label %165

102:                                              ; preds = %53
  br label %165

103:                                              ; preds = %53
  br label %165

104:                                              ; preds = %53
  br label %165

105:                                              ; preds = %53
  br label %165

106:                                              ; preds = %53
  br label %165

107:                                              ; preds = %53
  br label %165

108:                                              ; preds = %53
  br label %165

109:                                              ; preds = %53
  br label %165

110:                                              ; preds = %53
  br label %165

111:                                              ; preds = %53
  br label %165

112:                                              ; preds = %53
  br label %165

113:                                              ; preds = %53
  br label %165

114:                                              ; preds = %53
  br label %165

115:                                              ; preds = %53
  br label %165

116:                                              ; preds = %53
  br label %165

117:                                              ; preds = %53
  br label %165

118:                                              ; preds = %53
  br label %165

119:                                              ; preds = %53
  br label %165

120:                                              ; preds = %53
  br label %165

121:                                              ; preds = %53
  br label %165

122:                                              ; preds = %53
  br label %165

123:                                              ; preds = %53
  br label %165

124:                                              ; preds = %53
  br label %165

125:                                              ; preds = %53
  br label %165

126:                                              ; preds = %53
  br label %165

127:                                              ; preds = %53
  br label %165

128:                                              ; preds = %53
  br label %165

129:                                              ; preds = %53
  br label %165

130:                                              ; preds = %53
  br label %165

131:                                              ; preds = %53
  br label %165

132:                                              ; preds = %53
  br label %165

133:                                              ; preds = %53
  br label %165

134:                                              ; preds = %53
  br label %165

135:                                              ; preds = %53
  br label %165

136:                                              ; preds = %53
  br label %165

137:                                              ; preds = %53
  br label %165

138:                                              ; preds = %53
  br label %165

139:                                              ; preds = %53
  br label %165

140:                                              ; preds = %53
  br label %165

141:                                              ; preds = %53
  br label %165

142:                                              ; preds = %53
  br label %165

143:                                              ; preds = %53
  br label %165

144:                                              ; preds = %53
  br label %165

145:                                              ; preds = %53
  br label %165

146:                                              ; preds = %53
  br label %165

147:                                              ; preds = %53
  br label %165

148:                                              ; preds = %53
  br label %165

149:                                              ; preds = %53
  br label %165

150:                                              ; preds = %53
  br label %165

151:                                              ; preds = %53
  br label %165

152:                                              ; preds = %53
  br label %165

153:                                              ; preds = %53
  br label %165

154:                                              ; preds = %53
  br label %165

155:                                              ; preds = %53
  br label %165

156:                                              ; preds = %53
  br label %165

157:                                              ; preds = %53
  br label %165

158:                                              ; preds = %53
  br label %165

159:                                              ; preds = %53
  br label %165

160:                                              ; preds = %53
  br label %165

161:                                              ; preds = %53
  br label %165

162:                                              ; preds = %53
  br label %165

163:                                              ; preds = %53
  br label %165

164:                                              ; preds = %53
  br label %165

165:                                              ; preds = %95, %53, %56, %57, %58, %59, %60, %61, %62, %63, %64, %65, %66, %67, %68, %69, %70, %71, %72, %73, %74, %75, %76, %77, %78, %79, %80, %81, %82, %83, %84, %85, %86, %87, %88, %89, %90, %91, %99, %100, %101, %102, %103, %104, %105, %106, %107, %108, %109, %110, %111, %112, %113, %114, %115, %116, %117, %118, %119, %120, %121, %122, %123, %124, %125, %126, %127, %128, %129, %130, %131, %132, %133, %134, %135, %136, %137, %138, %139, %140, %141, %142, %143, %144, %145, %146, %147, %148, %149, %150, %151, %152, %153, %154, %155, %156, %157, %158, %159, %160, %161, %162, %163, %164, %98
  %.sroa.1436.1 = phi i32 [ %.sroa.1436.077, %53 ], [ %.sroa.1436.077, %164 ], [ %.sroa.1436.077, %163 ], [ %.sroa.1436.077, %162 ], [ %.sroa.1436.077, %161 ], [ %.sroa.1436.077, %160 ], [ %.sroa.1436.077, %159 ], [ %.sroa.1436.077, %158 ], [ %.sroa.1436.077, %157 ], [ %.sroa.1436.077, %156 ], [ %.sroa.1436.077, %155 ], [ %.sroa.1436.077, %154 ], [ %.sroa.1436.077, %153 ], [ %.sroa.1436.077, %152 ], [ %.sroa.1436.077, %151 ], [ %.sroa.1436.077, %150 ], [ 4, %149 ], [ %.sroa.1436.077, %148 ], [ 4, %147 ], [ %.sroa.1436.077, %146 ], [ %.sroa.1436.077, %145 ], [ 0, %144 ], [ %.sroa.1436.077, %143 ], [ %.sroa.1436.077, %142 ], [ %.sroa.1436.077, %141 ], [ %.sroa.1436.077, %140 ], [ %.sroa.1436.077, %139 ], [ %.sroa.1436.077, %138 ], [ %.sroa.1436.077, %137 ], [ %.sroa.1436.077, %136 ], [ %.sroa.1436.077, %135 ], [ %.sroa.1436.077, %134 ], [ %.sroa.1436.077, %133 ], [ %.sroa.1436.077, %132 ], [ %.sroa.1436.077, %131 ], [ %.sroa.1436.077, %130 ], [ %.sroa.1436.077, %129 ], [ %.sroa.1436.077, %128 ], [ %.sroa.1436.077, %127 ], [ %.sroa.1436.077, %126 ], [ %.sroa.1436.077, %125 ], [ %.sroa.1436.077, %124 ], [ 0, %123 ], [ %.sroa.1436.077, %122 ], [ %.sroa.1436.077, %121 ], [ %.sroa.1436.077, %120 ], [ %.sroa.1436.077, %119 ], [ %.sroa.1436.077, %118 ], [ %.sroa.1436.077, %117 ], [ %.sroa.1436.077, %116 ], [ %.sroa.1436.077, %115 ], [ %.sroa.1436.077, %114 ], [ %.sroa.1436.077, %113 ], [ %.sroa.1436.077, %112 ], [ %.sroa.1436.077, %111 ], [ %.sroa.1436.077, %110 ], [ %.sroa.1436.077, %109 ], [ %.sroa.1436.077, %108 ], [ 0, %107 ], [ 0, %106 ], [ 0, %105 ], [ 0, %104 ], [ %.sroa.1436.077, %103 ], [ %.sroa.1436.077, %102 ], [ %.sroa.1436.077, %101 ], [ %.sroa.1436.077, %100 ], [ %.sroa.1436.077, %99 ], [ %.sroa.1436.077, %98 ], [ %.sroa.1436.077, %91 ], [ %.sroa.1436.077, %90 ], [ %.sroa.1436.077, %89 ], [ %.sroa.1436.077, %88 ], [ %.sroa.1436.077, %87 ], [ %.sroa.1436.077, %86 ], [ %.sroa.1436.077, %85 ], [ %.sroa.1436.077, %84 ], [ %.sroa.1436.077, %83 ], [ %.sroa.1436.077, %82 ], [ %.sroa.1436.077, %81 ], [ %.sroa.1436.077, %80 ], [ %.sroa.1436.077, %79 ], [ %.sroa.1436.077, %78 ], [ %.sroa.1436.077, %77 ], [ %.sroa.1436.077, %76 ], [ %.sroa.1436.077, %75 ], [ %.sroa.1436.077, %74 ], [ %.sroa.1436.077, %73 ], [ %.sroa.1436.077, %72 ], [ %.sroa.1436.077, %71 ], [ %.sroa.1436.077, %70 ], [ %.sroa.1436.077, %69 ], [ %.sroa.1436.077, %68 ], [ %.sroa.1436.077, %67 ], [ %.sroa.1436.077, %66 ], [ %.sroa.1436.077, %65 ], [ %.sroa.1436.077, %64 ], [ %.sroa.1436.077, %63 ], [ %.sroa.1436.077, %62 ], [ %.sroa.1436.077, %61 ], [ %.sroa.1436.077, %60 ], [ %.sroa.1436.077, %59 ], [ %.sroa.1436.077, %58 ], [ %.sroa.1436.077, %57 ], [ 4, %56 ], [ %.sroa.1436.077, %95 ]
  %.sroa.035.1 = phi i32 [ %.sroa.035.078, %53 ], [ %.sroa.035.078, %164 ], [ %.sroa.035.078, %163 ], [ %.sroa.035.078, %162 ], [ %.sroa.035.078, %161 ], [ %.sroa.035.078, %160 ], [ %.sroa.035.078, %159 ], [ %.sroa.035.078, %158 ], [ %.sroa.035.078, %157 ], [ %.sroa.035.078, %156 ], [ %.sroa.035.078, %155 ], [ %.sroa.035.078, %154 ], [ %.sroa.035.078, %153 ], [ %.sroa.035.078, %152 ], [ %.sroa.035.078, %151 ], [ %.sroa.035.078, %150 ], [ 4, %149 ], [ %.sroa.035.078, %148 ], [ 4, %147 ], [ %.sroa.035.078, %146 ], [ %.sroa.035.078, %145 ], [ 4, %144 ], [ %.sroa.035.078, %143 ], [ %.sroa.035.078, %142 ], [ %.sroa.035.078, %141 ], [ %.sroa.035.078, %140 ], [ %.sroa.035.078, %139 ], [ %.sroa.035.078, %138 ], [ %.sroa.035.078, %137 ], [ %.sroa.035.078, %136 ], [ %.sroa.035.078, %135 ], [ %.sroa.035.078, %134 ], [ %.sroa.035.078, %133 ], [ %.sroa.035.078, %132 ], [ %.sroa.035.078, %131 ], [ %.sroa.035.078, %130 ], [ %.sroa.035.078, %129 ], [ %.sroa.035.078, %128 ], [ %.sroa.035.078, %127 ], [ %.sroa.035.078, %126 ], [ %.sroa.035.078, %125 ], [ %.sroa.035.078, %124 ], [ 2048, %123 ], [ %.sroa.035.078, %122 ], [ %.sroa.035.078, %121 ], [ %.sroa.035.078, %120 ], [ %.sroa.035.078, %119 ], [ %.sroa.035.078, %118 ], [ %.sroa.035.078, %117 ], [ %.sroa.035.078, %116 ], [ %.sroa.035.078, %115 ], [ %.sroa.035.078, %114 ], [ %.sroa.035.078, %113 ], [ %.sroa.035.078, %112 ], [ %.sroa.035.078, %111 ], [ %.sroa.035.078, %110 ], [ %.sroa.035.078, %109 ], [ %.sroa.035.078, %108 ], [ 4, %107 ], [ 4, %106 ], [ 4, %105 ], [ 4, %104 ], [ %.sroa.035.078, %103 ], [ %.sroa.035.078, %102 ], [ %.sroa.035.078, %101 ], [ %.sroa.035.078, %100 ], [ %.sroa.035.078, %99 ], [ %.sroa.035.078, %98 ], [ %.sroa.035.078, %91 ], [ %.sroa.035.078, %90 ], [ %.sroa.035.078, %89 ], [ %.sroa.035.078, %88 ], [ %.sroa.035.078, %87 ], [ %.sroa.035.078, %86 ], [ %.sroa.035.078, %85 ], [ %.sroa.035.078, %84 ], [ %.sroa.035.078, %83 ], [ %.sroa.035.078, %82 ], [ %.sroa.035.078, %81 ], [ %.sroa.035.078, %80 ], [ %.sroa.035.078, %79 ], [ %.sroa.035.078, %78 ], [ %.sroa.035.078, %77 ], [ %.sroa.035.078, %76 ], [ %.sroa.035.078, %75 ], [ %.sroa.035.078, %74 ], [ %.sroa.035.078, %73 ], [ %.sroa.035.078, %72 ], [ %.sroa.035.078, %71 ], [ %.sroa.035.078, %70 ], [ %.sroa.035.078, %69 ], [ %.sroa.035.078, %68 ], [ %.sroa.035.078, %67 ], [ %.sroa.035.078, %66 ], [ %.sroa.035.078, %65 ], [ %.sroa.035.078, %64 ], [ %.sroa.035.078, %63 ], [ %.sroa.035.078, %62 ], [ %.sroa.035.078, %61 ], [ %.sroa.035.078, %60 ], [ %.sroa.035.078, %59 ], [ %.sroa.035.078, %58 ], [ %.sroa.035.078, %57 ], [ 4, %56 ], [ %.sroa.035.078, %95 ]
  %.sroa.2737.1 = phi i32 [ %.sroa.2737.079, %53 ], [ %.sroa.2737.079, %164 ], [ %.sroa.2737.079, %163 ], [ %.sroa.2737.079, %162 ], [ %.sroa.2737.079, %161 ], [ %.sroa.2737.079, %160 ], [ %.sroa.2737.079, %159 ], [ %.sroa.2737.079, %158 ], [ %.sroa.2737.079, %157 ], [ %.sroa.2737.079, %156 ], [ %.sroa.2737.079, %155 ], [ %.sroa.2737.079, %154 ], [ %.sroa.2737.079, %153 ], [ %.sroa.2737.079, %152 ], [ %.sroa.2737.079, %151 ], [ %.sroa.2737.079, %150 ], [ 64, %149 ], [ %.sroa.2737.079, %148 ], [ 128, %147 ], [ %.sroa.2737.079, %146 ], [ %.sroa.2737.079, %145 ], [ 64, %144 ], [ %.sroa.2737.079, %143 ], [ %.sroa.2737.079, %142 ], [ %.sroa.2737.079, %141 ], [ %.sroa.2737.079, %140 ], [ %.sroa.2737.079, %139 ], [ %.sroa.2737.079, %138 ], [ %.sroa.2737.079, %137 ], [ %.sroa.2737.079, %136 ], [ %.sroa.2737.079, %135 ], [ %.sroa.2737.079, %134 ], [ %.sroa.2737.079, %133 ], [ %.sroa.2737.079, %132 ], [ %.sroa.2737.079, %131 ], [ %.sroa.2737.079, %130 ], [ %.sroa.2737.079, %129 ], [ %.sroa.2737.079, %128 ], [ %.sroa.2737.079, %127 ], [ %.sroa.2737.079, %126 ], [ %.sroa.2737.079, %125 ], [ %.sroa.2737.079, %124 ], [ 8, %123 ], [ %.sroa.2737.079, %122 ], [ %.sroa.2737.079, %121 ], [ %.sroa.2737.079, %120 ], [ %.sroa.2737.079, %119 ], [ %.sroa.2737.079, %118 ], [ %.sroa.2737.079, %117 ], [ %.sroa.2737.079, %116 ], [ %.sroa.2737.079, %115 ], [ %.sroa.2737.079, %114 ], [ %.sroa.2737.079, %113 ], [ %.sroa.2737.079, %112 ], [ %.sroa.2737.079, %111 ], [ %.sroa.2737.079, %110 ], [ %.sroa.2737.079, %109 ], [ %.sroa.2737.079, %108 ], [ 256, %107 ], [ 128, %106 ], [ 64, %105 ], [ 32, %104 ], [ %.sroa.2737.079, %103 ], [ %.sroa.2737.079, %102 ], [ %.sroa.2737.079, %101 ], [ %.sroa.2737.079, %100 ], [ %.sroa.2737.079, %99 ], [ %.sroa.2737.079, %98 ], [ %.sroa.2737.079, %91 ], [ %.sroa.2737.079, %90 ], [ %.sroa.2737.079, %89 ], [ %.sroa.2737.079, %88 ], [ %.sroa.2737.079, %87 ], [ %.sroa.2737.079, %86 ], [ %.sroa.2737.079, %85 ], [ %.sroa.2737.079, %84 ], [ %.sroa.2737.079, %83 ], [ %.sroa.2737.079, %82 ], [ %.sroa.2737.079, %81 ], [ %.sroa.2737.079, %80 ], [ %.sroa.2737.079, %79 ], [ %.sroa.2737.079, %78 ], [ %.sroa.2737.079, %77 ], [ %.sroa.2737.079, %76 ], [ %.sroa.2737.079, %75 ], [ %.sroa.2737.079, %74 ], [ %.sroa.2737.079, %73 ], [ %.sroa.2737.079, %72 ], [ %.sroa.2737.079, %71 ], [ %.sroa.2737.079, %70 ], [ %.sroa.2737.079, %69 ], [ %.sroa.2737.079, %68 ], [ %.sroa.2737.079, %67 ], [ %.sroa.2737.079, %66 ], [ %.sroa.2737.079, %65 ], [ %.sroa.2737.079, %64 ], [ %.sroa.2737.079, %63 ], [ %.sroa.2737.079, %62 ], [ %.sroa.2737.079, %61 ], [ %.sroa.2737.079, %60 ], [ %.sroa.2737.079, %59 ], [ %.sroa.2737.079, %58 ], [ %.sroa.2737.079, %57 ], [ 32, %56 ], [ %.sroa.2737.079, %95 ]
  %.sroa.27.1 = phi i32 [ %.sroa.27.080, %53 ], [ %.sroa.27.080, %164 ], [ %.sroa.27.080, %163 ], [ %.sroa.27.080, %162 ], [ %.sroa.27.080, %161 ], [ %.sroa.27.080, %160 ], [ %.sroa.27.080, %159 ], [ %.sroa.27.080, %158 ], [ %.sroa.27.080, %157 ], [ %.sroa.27.080, %156 ], [ %.sroa.27.080, %155 ], [ %.sroa.27.080, %154 ], [ %.sroa.27.080, %153 ], [ 64, %152 ], [ 256, %151 ], [ 128, %150 ], [ %.sroa.27.080, %149 ], [ %.sroa.27.080, %148 ], [ %.sroa.27.080, %147 ], [ %.sroa.27.080, %146 ], [ 32, %145 ], [ %.sroa.27.080, %144 ], [ %.sroa.27.080, %143 ], [ %.sroa.27.080, %142 ], [ %.sroa.27.080, %141 ], [ %.sroa.27.080, %140 ], [ %.sroa.27.080, %139 ], [ %.sroa.27.080, %138 ], [ %.sroa.27.080, %137 ], [ %.sroa.27.080, %136 ], [ %.sroa.27.080, %135 ], [ %.sroa.27.080, %134 ], [ %.sroa.27.080, %133 ], [ %.sroa.27.080, %132 ], [ %.sroa.27.080, %131 ], [ %.sroa.27.080, %130 ], [ %.sroa.27.080, %129 ], [ %.sroa.27.080, %128 ], [ %.sroa.27.080, %127 ], [ %.sroa.27.080, %126 ], [ %.sroa.27.080, %125 ], [ %.sroa.27.080, %124 ], [ %.sroa.27.080, %123 ], [ %.sroa.27.080, %122 ], [ %.sroa.27.080, %121 ], [ %.sroa.27.080, %120 ], [ %.sroa.27.080, %119 ], [ %.sroa.27.080, %118 ], [ %.sroa.27.080, %117 ], [ %.sroa.27.080, %116 ], [ 32, %115 ], [ %.sroa.27.080, %114 ], [ 256, %113 ], [ 128, %112 ], [ 64, %111 ], [ %.sroa.27.080, %110 ], [ %.sroa.27.080, %109 ], [ %.sroa.27.080, %108 ], [ %.sroa.27.080, %107 ], [ %.sroa.27.080, %106 ], [ %.sroa.27.080, %105 ], [ %.sroa.27.080, %104 ], [ %.sroa.27.080, %103 ], [ %.sroa.27.080, %102 ], [ %.sroa.27.080, %101 ], [ %.sroa.27.080, %100 ], [ %.sroa.27.080, %99 ], [ %.sroa.27.080, %98 ], [ %.sroa.27.080, %91 ], [ %.sroa.27.080, %90 ], [ %.sroa.27.080, %89 ], [ %.sroa.27.080, %88 ], [ %.sroa.27.080, %87 ], [ %.sroa.27.080, %86 ], [ %.sroa.27.080, %85 ], [ %.sroa.27.080, %84 ], [ %.sroa.27.080, %83 ], [ %.sroa.27.080, %82 ], [ %.sroa.27.080, %81 ], [ %.sroa.27.080, %80 ], [ %.sroa.27.080, %79 ], [ %.sroa.27.080, %78 ], [ %.sroa.27.080, %77 ], [ %.sroa.27.080, %76 ], [ %.sroa.27.080, %75 ], [ %.sroa.27.080, %74 ], [ %.sroa.27.080, %73 ], [ %.sroa.27.080, %72 ], [ %.sroa.27.080, %71 ], [ %.sroa.27.080, %70 ], [ %.sroa.27.080, %69 ], [ %.sroa.27.080, %68 ], [ %.sroa.27.080, %67 ], [ %.sroa.27.080, %66 ], [ %.sroa.27.080, %65 ], [ %.sroa.27.080, %64 ], [ %.sroa.27.080, %63 ], [ %.sroa.27.080, %62 ], [ %.sroa.27.080, %61 ], [ %.sroa.27.080, %60 ], [ %.sroa.27.080, %59 ], [ 64, %58 ], [ %.sroa.27.080, %57 ], [ %.sroa.27.080, %56 ], [ %.sroa.27.080, %95 ]
  %.sroa.1434.1 = phi i32 [ %.sroa.1434.081, %53 ], [ %.sroa.1434.081, %164 ], [ %.sroa.1434.081, %163 ], [ %.sroa.1434.081, %162 ], [ %.sroa.1434.081, %161 ], [ %.sroa.1434.081, %160 ], [ %.sroa.1434.081, %159 ], [ %.sroa.1434.081, %158 ], [ %.sroa.1434.081, %157 ], [ %.sroa.1434.081, %156 ], [ %.sroa.1434.081, %155 ], [ %.sroa.1434.081, %154 ], [ %.sroa.1434.081, %153 ], [ 4, %152 ], [ 4, %151 ], [ 4, %150 ], [ %.sroa.1434.081, %149 ], [ %.sroa.1434.081, %148 ], [ %.sroa.1434.081, %147 ], [ %.sroa.1434.081, %146 ], [ 0, %145 ], [ %.sroa.1434.081, %144 ], [ %.sroa.1434.081, %143 ], [ %.sroa.1434.081, %142 ], [ %.sroa.1434.081, %141 ], [ %.sroa.1434.081, %140 ], [ %.sroa.1434.081, %139 ], [ %.sroa.1434.081, %138 ], [ %.sroa.1434.081, %137 ], [ %.sroa.1434.081, %136 ], [ %.sroa.1434.081, %135 ], [ %.sroa.1434.081, %134 ], [ %.sroa.1434.081, %133 ], [ %.sroa.1434.081, %132 ], [ %.sroa.1434.081, %131 ], [ %.sroa.1434.081, %130 ], [ %.sroa.1434.081, %129 ], [ %.sroa.1434.081, %128 ], [ %.sroa.1434.081, %127 ], [ %.sroa.1434.081, %126 ], [ %.sroa.1434.081, %125 ], [ %.sroa.1434.081, %124 ], [ %.sroa.1434.081, %123 ], [ %.sroa.1434.081, %122 ], [ %.sroa.1434.081, %121 ], [ %.sroa.1434.081, %120 ], [ %.sroa.1434.081, %119 ], [ %.sroa.1434.081, %118 ], [ %.sroa.1434.081, %117 ], [ %.sroa.1434.081, %116 ], [ 4, %115 ], [ %.sroa.1434.081, %114 ], [ 0, %113 ], [ 0, %112 ], [ 0, %111 ], [ %.sroa.1434.081, %110 ], [ %.sroa.1434.081, %109 ], [ %.sroa.1434.081, %108 ], [ %.sroa.1434.081, %107 ], [ %.sroa.1434.081, %106 ], [ %.sroa.1434.081, %105 ], [ %.sroa.1434.081, %104 ], [ %.sroa.1434.081, %103 ], [ %.sroa.1434.081, %102 ], [ %.sroa.1434.081, %101 ], [ %.sroa.1434.081, %100 ], [ %.sroa.1434.081, %99 ], [ %.sroa.1434.081, %98 ], [ %.sroa.1434.081, %91 ], [ %.sroa.1434.081, %90 ], [ %.sroa.1434.081, %89 ], [ %.sroa.1434.081, %88 ], [ %.sroa.1434.081, %87 ], [ %.sroa.1434.081, %86 ], [ %.sroa.1434.081, %85 ], [ %.sroa.1434.081, %84 ], [ %.sroa.1434.081, %83 ], [ %.sroa.1434.081, %82 ], [ %.sroa.1434.081, %81 ], [ %.sroa.1434.081, %80 ], [ %.sroa.1434.081, %79 ], [ %.sroa.1434.081, %78 ], [ %.sroa.1434.081, %77 ], [ %.sroa.1434.081, %76 ], [ %.sroa.1434.081, %75 ], [ %.sroa.1434.081, %74 ], [ %.sroa.1434.081, %73 ], [ %.sroa.1434.081, %72 ], [ %.sroa.1434.081, %71 ], [ %.sroa.1434.081, %70 ], [ %.sroa.1434.081, %69 ], [ %.sroa.1434.081, %68 ], [ %.sroa.1434.081, %67 ], [ %.sroa.1434.081, %66 ], [ %.sroa.1434.081, %65 ], [ %.sroa.1434.081, %64 ], [ %.sroa.1434.081, %63 ], [ %.sroa.1434.081, %62 ], [ %.sroa.1434.081, %61 ], [ %.sroa.1434.081, %60 ], [ %.sroa.1434.081, %59 ], [ 4, %58 ], [ %.sroa.1434.081, %57 ], [ %.sroa.1434.081, %56 ], [ %.sroa.1434.081, %95 ]
  %.sroa.033.1 = phi i32 [ %.sroa.033.082, %53 ], [ %.sroa.033.082, %164 ], [ %.sroa.033.082, %163 ], [ %.sroa.033.082, %162 ], [ %.sroa.033.082, %161 ], [ %.sroa.033.082, %160 ], [ %.sroa.033.082, %159 ], [ %.sroa.033.082, %158 ], [ %.sroa.033.082, %157 ], [ %.sroa.033.082, %156 ], [ %.sroa.033.082, %155 ], [ %.sroa.033.082, %154 ], [ %.sroa.033.082, %153 ], [ 4, %152 ], [ 4, %151 ], [ 4, %150 ], [ %.sroa.033.082, %149 ], [ %.sroa.033.082, %148 ], [ %.sroa.033.082, %147 ], [ %.sroa.033.082, %146 ], [ 4, %145 ], [ %.sroa.033.082, %144 ], [ %.sroa.033.082, %143 ], [ %.sroa.033.082, %142 ], [ %.sroa.033.082, %141 ], [ %.sroa.033.082, %140 ], [ %.sroa.033.082, %139 ], [ %.sroa.033.082, %138 ], [ %.sroa.033.082, %137 ], [ %.sroa.033.082, %136 ], [ %.sroa.033.082, %135 ], [ %.sroa.033.082, %134 ], [ %.sroa.033.082, %133 ], [ %.sroa.033.082, %132 ], [ %.sroa.033.082, %131 ], [ %.sroa.033.082, %130 ], [ %.sroa.033.082, %129 ], [ %.sroa.033.082, %128 ], [ %.sroa.033.082, %127 ], [ %.sroa.033.082, %126 ], [ %.sroa.033.082, %125 ], [ %.sroa.033.082, %124 ], [ %.sroa.033.082, %123 ], [ %.sroa.033.082, %122 ], [ %.sroa.033.082, %121 ], [ %.sroa.033.082, %120 ], [ %.sroa.033.082, %119 ], [ %.sroa.033.082, %118 ], [ %.sroa.033.082, %117 ], [ %.sroa.033.082, %116 ], [ 2048, %115 ], [ %.sroa.033.082, %114 ], [ 4, %113 ], [ 4, %112 ], [ 4, %111 ], [ %.sroa.033.082, %110 ], [ %.sroa.033.082, %109 ], [ %.sroa.033.082, %108 ], [ %.sroa.033.082, %107 ], [ %.sroa.033.082, %106 ], [ %.sroa.033.082, %105 ], [ %.sroa.033.082, %104 ], [ %.sroa.033.082, %103 ], [ %.sroa.033.082, %102 ], [ %.sroa.033.082, %101 ], [ %.sroa.033.082, %100 ], [ %.sroa.033.082, %99 ], [ %.sroa.033.082, %98 ], [ %.sroa.033.082, %91 ], [ %.sroa.033.082, %90 ], [ %.sroa.033.082, %89 ], [ %.sroa.033.082, %88 ], [ %.sroa.033.082, %87 ], [ %.sroa.033.082, %86 ], [ %.sroa.033.082, %85 ], [ %.sroa.033.082, %84 ], [ %.sroa.033.082, %83 ], [ %.sroa.033.082, %82 ], [ %.sroa.033.082, %81 ], [ %.sroa.033.082, %80 ], [ %.sroa.033.082, %79 ], [ %.sroa.033.082, %78 ], [ %.sroa.033.082, %77 ], [ %.sroa.033.082, %76 ], [ %.sroa.033.082, %75 ], [ %.sroa.033.082, %74 ], [ %.sroa.033.082, %73 ], [ %.sroa.033.082, %72 ], [ %.sroa.033.082, %71 ], [ %.sroa.033.082, %70 ], [ %.sroa.033.082, %69 ], [ %.sroa.033.082, %68 ], [ %.sroa.033.082, %67 ], [ %.sroa.033.082, %66 ], [ %.sroa.033.082, %65 ], [ %.sroa.033.082, %64 ], [ %.sroa.033.082, %63 ], [ %.sroa.033.082, %62 ], [ %.sroa.033.082, %61 ], [ %.sroa.033.082, %60 ], [ %.sroa.033.082, %59 ], [ 4, %58 ], [ %.sroa.033.082, %57 ], [ %.sroa.033.082, %56 ], [ %.sroa.033.082, %95 ]
  %.sroa.32.1 = phi i32 [ %.sroa.32.083, %53 ], [ %.sroa.32.083, %164 ], [ %.sroa.32.083, %163 ], [ %.sroa.32.083, %162 ], [ %.sroa.32.083, %161 ], [ %.sroa.32.083, %160 ], [ %.sroa.32.083, %159 ], [ %.sroa.32.083, %158 ], [ %.sroa.32.083, %157 ], [ %.sroa.32.083, %156 ], [ %.sroa.32.083, %155 ], [ %.sroa.32.083, %154 ], [ %.sroa.32.083, %153 ], [ %.sroa.32.083, %152 ], [ %.sroa.32.083, %151 ], [ %.sroa.32.083, %150 ], [ %.sroa.32.083, %149 ], [ %.sroa.32.083, %148 ], [ %.sroa.32.083, %147 ], [ %.sroa.32.083, %146 ], [ %.sroa.32.083, %145 ], [ %.sroa.32.083, %144 ], [ %.sroa.32.083, %143 ], [ %.sroa.32.083, %142 ], [ %.sroa.32.083, %141 ], [ %.sroa.32.083, %140 ], [ %.sroa.32.083, %139 ], [ %.sroa.32.083, %138 ], [ %.sroa.32.083, %137 ], [ %.sroa.32.083, %136 ], [ %.sroa.32.083, %135 ], [ %.sroa.32.083, %134 ], [ %.sroa.32.083, %133 ], [ %.sroa.32.083, %132 ], [ %.sroa.32.083, %131 ], [ %.sroa.32.083, %130 ], [ %.sroa.32.083, %129 ], [ %.sroa.32.083, %128 ], [ %.sroa.32.083, %127 ], [ %.sroa.32.083, %126 ], [ %.sroa.32.083, %125 ], [ %.sroa.32.083, %124 ], [ %.sroa.32.083, %123 ], [ %.sroa.32.083, %122 ], [ %.sroa.32.083, %121 ], [ %.sroa.32.083, %120 ], [ %.sroa.32.083, %119 ], [ %.sroa.32.083, %118 ], [ %.sroa.32.083, %117 ], [ %.sroa.32.083, %116 ], [ %.sroa.32.083, %115 ], [ %.sroa.32.083, %114 ], [ %.sroa.32.083, %113 ], [ %.sroa.32.083, %112 ], [ %.sroa.32.083, %111 ], [ %.sroa.32.083, %110 ], [ %.sroa.32.083, %109 ], [ 1, %108 ], [ 1, %107 ], [ 1, %106 ], [ 1, %105 ], [ %.sroa.32.083, %104 ], [ %.sroa.32.083, %103 ], [ %.sroa.32.083, %102 ], [ %.sroa.32.083, %101 ], [ %.sroa.32.083, %100 ], [ %.sroa.32.083, %99 ], [ %.sroa.32.083, %98 ], [ %.sroa.32.083, %91 ], [ %.sroa.32.083, %90 ], [ %.sroa.32.083, %89 ], [ %.sroa.32.083, %88 ], [ %.sroa.32.083, %87 ], [ %.sroa.32.083, %86 ], [ %.sroa.32.083, %85 ], [ %.sroa.32.083, %84 ], [ %.sroa.32.083, %83 ], [ %.sroa.32.083, %82 ], [ %.sroa.32.083, %81 ], [ %.sroa.32.083, %80 ], [ %.sroa.32.083, %79 ], [ %.sroa.32.083, %78 ], [ %.sroa.32.083, %77 ], [ %.sroa.32.083, %76 ], [ %.sroa.32.083, %75 ], [ %.sroa.32.083, %74 ], [ %.sroa.32.083, %73 ], [ %.sroa.32.083, %72 ], [ %.sroa.32.083, %71 ], [ %.sroa.32.083, %70 ], [ %.sroa.32.083, %69 ], [ %.sroa.32.083, %68 ], [ %.sroa.32.083, %67 ], [ %.sroa.32.083, %66 ], [ %.sroa.32.083, %65 ], [ %.sroa.32.083, %64 ], [ %.sroa.32.083, %63 ], [ %.sroa.32.083, %62 ], [ %.sroa.32.083, %61 ], [ %.sroa.32.083, %60 ], [ %.sroa.32.083, %59 ], [ %.sroa.32.083, %58 ], [ %.sroa.32.083, %57 ], [ %.sroa.32.083, %56 ], [ %.sroa.32.083, %95 ]
  %.sroa.23.1 = phi i32 [ %.sroa.23.084, %53 ], [ %.sroa.23.084, %164 ], [ %.sroa.23.084, %163 ], [ %.sroa.23.084, %162 ], [ %.sroa.23.084, %161 ], [ %.sroa.23.084, %160 ], [ %.sroa.23.084, %159 ], [ %.sroa.23.084, %158 ], [ %.sroa.23.084, %157 ], [ %.sroa.23.084, %156 ], [ %.sroa.23.084, %155 ], [ %.sroa.23.084, %154 ], [ %.sroa.23.084, %153 ], [ %.sroa.23.084, %152 ], [ %.sroa.23.084, %151 ], [ %.sroa.23.084, %150 ], [ %.sroa.23.084, %149 ], [ 4, %148 ], [ %.sroa.23.084, %147 ], [ %.sroa.23.084, %146 ], [ %.sroa.23.084, %145 ], [ %.sroa.23.084, %144 ], [ %.sroa.23.084, %143 ], [ %.sroa.23.084, %142 ], [ %.sroa.23.084, %141 ], [ %.sroa.23.084, %140 ], [ %.sroa.23.084, %139 ], [ %.sroa.23.084, %138 ], [ %.sroa.23.084, %137 ], [ %.sroa.23.084, %136 ], [ %.sroa.23.084, %135 ], [ %.sroa.23.084, %134 ], [ %.sroa.23.084, %133 ], [ %.sroa.23.084, %132 ], [ %.sroa.23.084, %131 ], [ %.sroa.23.084, %130 ], [ %.sroa.23.084, %129 ], [ %.sroa.23.084, %128 ], [ %.sroa.23.084, %127 ], [ %.sroa.23.084, %126 ], [ %.sroa.23.084, %125 ], [ %.sroa.23.084, %124 ], [ 8, %123 ], [ %.sroa.23.084, %122 ], [ %.sroa.23.084, %121 ], [ %.sroa.23.084, %120 ], [ %.sroa.23.084, %119 ], [ %.sroa.23.084, %118 ], [ %.sroa.23.084, %117 ], [ %.sroa.23.084, %116 ], [ %.sroa.23.084, %115 ], [ %.sroa.23.084, %114 ], [ %.sroa.23.084, %113 ], [ %.sroa.23.084, %112 ], [ %.sroa.23.084, %111 ], [ %.sroa.23.084, %110 ], [ %.sroa.23.084, %109 ], [ 7, %108 ], [ 256, %107 ], [ 128, %106 ], [ 64, %105 ], [ %.sroa.23.084, %104 ], [ %.sroa.23.084, %103 ], [ %.sroa.23.084, %102 ], [ %.sroa.23.084, %101 ], [ %.sroa.23.084, %100 ], [ %.sroa.23.084, %99 ], [ %.sroa.23.084, %98 ], [ %.sroa.23.084, %91 ], [ %.sroa.23.084, %90 ], [ %.sroa.23.084, %89 ], [ %.sroa.23.084, %88 ], [ %.sroa.23.084, %87 ], [ %.sroa.23.084, %86 ], [ %.sroa.23.084, %85 ], [ %.sroa.23.084, %84 ], [ %.sroa.23.084, %83 ], [ %.sroa.23.084, %82 ], [ %.sroa.23.084, %81 ], [ %.sroa.23.084, %80 ], [ %.sroa.23.084, %79 ], [ %.sroa.23.084, %78 ], [ %.sroa.23.084, %77 ], [ %.sroa.23.084, %76 ], [ %.sroa.23.084, %75 ], [ %.sroa.23.084, %74 ], [ %.sroa.23.084, %73 ], [ %.sroa.23.084, %72 ], [ %.sroa.23.084, %71 ], [ %.sroa.23.084, %70 ], [ %.sroa.23.084, %69 ], [ %.sroa.23.084, %68 ], [ %.sroa.23.084, %67 ], [ %.sroa.23.084, %66 ], [ %.sroa.23.084, %65 ], [ %.sroa.23.084, %64 ], [ %.sroa.23.084, %63 ], [ %.sroa.23.084, %62 ], [ %.sroa.23.084, %61 ], [ %.sroa.23.084, %60 ], [ %.sroa.23.084, %59 ], [ %.sroa.23.084, %58 ], [ 2, %57 ], [ %.sroa.23.084, %56 ], [ %.sroa.23.084, %95 ]
  %.sroa.12.1 = phi i32 [ %.sroa.12.085, %53 ], [ %.sroa.12.085, %164 ], [ %.sroa.12.085, %163 ], [ %.sroa.12.085, %162 ], [ %.sroa.12.085, %161 ], [ %.sroa.12.085, %160 ], [ %.sroa.12.085, %159 ], [ %.sroa.12.085, %158 ], [ %.sroa.12.085, %157 ], [ %.sroa.12.085, %156 ], [ %.sroa.12.085, %155 ], [ %.sroa.12.085, %154 ], [ %.sroa.12.085, %153 ], [ %.sroa.12.085, %152 ], [ %.sroa.12.085, %151 ], [ %.sroa.12.085, %150 ], [ %.sroa.12.085, %149 ], [ 4, %148 ], [ %.sroa.12.085, %147 ], [ %.sroa.12.085, %146 ], [ %.sroa.12.085, %145 ], [ %.sroa.12.085, %144 ], [ %.sroa.12.085, %143 ], [ %.sroa.12.085, %142 ], [ %.sroa.12.085, %141 ], [ %.sroa.12.085, %140 ], [ %.sroa.12.085, %139 ], [ %.sroa.12.085, %138 ], [ %.sroa.12.085, %137 ], [ %.sroa.12.085, %136 ], [ %.sroa.12.085, %135 ], [ %.sroa.12.085, %134 ], [ %.sroa.12.085, %133 ], [ %.sroa.12.085, %132 ], [ %.sroa.12.085, %131 ], [ %.sroa.12.085, %130 ], [ %.sroa.12.085, %129 ], [ %.sroa.12.085, %128 ], [ %.sroa.12.085, %127 ], [ %.sroa.12.085, %126 ], [ %.sroa.12.085, %125 ], [ %.sroa.12.085, %124 ], [ 0, %123 ], [ %.sroa.12.085, %122 ], [ %.sroa.12.085, %121 ], [ %.sroa.12.085, %120 ], [ %.sroa.12.085, %119 ], [ %.sroa.12.085, %118 ], [ %.sroa.12.085, %117 ], [ %.sroa.12.085, %116 ], [ %.sroa.12.085, %115 ], [ %.sroa.12.085, %114 ], [ %.sroa.12.085, %113 ], [ %.sroa.12.085, %112 ], [ %.sroa.12.085, %111 ], [ %.sroa.12.085, %110 ], [ %.sroa.12.085, %109 ], [ 0, %108 ], [ 0, %107 ], [ 0, %106 ], [ 0, %105 ], [ %.sroa.12.085, %104 ], [ %.sroa.12.085, %103 ], [ %.sroa.12.085, %102 ], [ %.sroa.12.085, %101 ], [ %.sroa.12.085, %100 ], [ %.sroa.12.085, %99 ], [ %.sroa.12.085, %98 ], [ %.sroa.12.085, %91 ], [ %.sroa.12.085, %90 ], [ %.sroa.12.085, %89 ], [ %.sroa.12.085, %88 ], [ %.sroa.12.085, %87 ], [ %.sroa.12.085, %86 ], [ %.sroa.12.085, %85 ], [ %.sroa.12.085, %84 ], [ %.sroa.12.085, %83 ], [ %.sroa.12.085, %82 ], [ %.sroa.12.085, %81 ], [ %.sroa.12.085, %80 ], [ %.sroa.12.085, %79 ], [ %.sroa.12.085, %78 ], [ %.sroa.12.085, %77 ], [ %.sroa.12.085, %76 ], [ %.sroa.12.085, %75 ], [ %.sroa.12.085, %74 ], [ %.sroa.12.085, %73 ], [ %.sroa.12.085, %72 ], [ %.sroa.12.085, %71 ], [ %.sroa.12.085, %70 ], [ %.sroa.12.085, %69 ], [ %.sroa.12.085, %68 ], [ %.sroa.12.085, %67 ], [ %.sroa.12.085, %66 ], [ %.sroa.12.085, %65 ], [ %.sroa.12.085, %64 ], [ %.sroa.12.085, %63 ], [ %.sroa.12.085, %62 ], [ %.sroa.12.085, %61 ], [ %.sroa.12.085, %60 ], [ %.sroa.12.085, %59 ], [ %.sroa.12.085, %58 ], [ 0, %57 ], [ %.sroa.12.085, %56 ], [ %.sroa.12.085, %95 ]
  %.sroa.032.1 = phi i32 [ %.sroa.032.086, %53 ], [ %.sroa.032.086, %164 ], [ %.sroa.032.086, %163 ], [ %.sroa.032.086, %162 ], [ %.sroa.032.086, %161 ], [ %.sroa.032.086, %160 ], [ %.sroa.032.086, %159 ], [ %.sroa.032.086, %158 ], [ %.sroa.032.086, %157 ], [ %.sroa.032.086, %156 ], [ %.sroa.032.086, %155 ], [ %.sroa.032.086, %154 ], [ %.sroa.032.086, %153 ], [ %.sroa.032.086, %152 ], [ %.sroa.032.086, %151 ], [ %.sroa.032.086, %150 ], [ %.sroa.032.086, %149 ], [ 4096, %148 ], [ %.sroa.032.086, %147 ], [ %.sroa.032.086, %146 ], [ %.sroa.032.086, %145 ], [ %.sroa.032.086, %144 ], [ %.sroa.032.086, %143 ], [ %.sroa.032.086, %142 ], [ %.sroa.032.086, %141 ], [ %.sroa.032.086, %140 ], [ %.sroa.032.086, %139 ], [ %.sroa.032.086, %138 ], [ %.sroa.032.086, %137 ], [ %.sroa.032.086, %136 ], [ %.sroa.032.086, %135 ], [ %.sroa.032.086, %134 ], [ %.sroa.032.086, %133 ], [ %.sroa.032.086, %132 ], [ %.sroa.032.086, %131 ], [ %.sroa.032.086, %130 ], [ %.sroa.032.086, %129 ], [ %.sroa.032.086, %128 ], [ %.sroa.032.086, %127 ], [ %.sroa.032.086, %126 ], [ %.sroa.032.086, %125 ], [ %.sroa.032.086, %124 ], [ 4096, %123 ], [ %.sroa.032.086, %122 ], [ %.sroa.032.086, %121 ], [ %.sroa.032.086, %120 ], [ %.sroa.032.086, %119 ], [ %.sroa.032.086, %118 ], [ %.sroa.032.086, %117 ], [ %.sroa.032.086, %116 ], [ %.sroa.032.086, %115 ], [ %.sroa.032.086, %114 ], [ %.sroa.032.086, %113 ], [ %.sroa.032.086, %112 ], [ %.sroa.032.086, %111 ], [ %.sroa.032.086, %110 ], [ %.sroa.032.086, %109 ], [ 4096, %108 ], [ 4096, %107 ], [ 4096, %106 ], [ 4096, %105 ], [ %.sroa.032.086, %104 ], [ %.sroa.032.086, %103 ], [ %.sroa.032.086, %102 ], [ %.sroa.032.086, %101 ], [ %.sroa.032.086, %100 ], [ %.sroa.032.086, %99 ], [ %.sroa.032.086, %98 ], [ %.sroa.032.086, %91 ], [ %.sroa.032.086, %90 ], [ %.sroa.032.086, %89 ], [ %.sroa.032.086, %88 ], [ %.sroa.032.086, %87 ], [ %.sroa.032.086, %86 ], [ %.sroa.032.086, %85 ], [ %.sroa.032.086, %84 ], [ %.sroa.032.086, %83 ], [ %.sroa.032.086, %82 ], [ %.sroa.032.086, %81 ], [ %.sroa.032.086, %80 ], [ %.sroa.032.086, %79 ], [ %.sroa.032.086, %78 ], [ %.sroa.032.086, %77 ], [ %.sroa.032.086, %76 ], [ %.sroa.032.086, %75 ], [ %.sroa.032.086, %74 ], [ %.sroa.032.086, %73 ], [ %.sroa.032.086, %72 ], [ %.sroa.032.086, %71 ], [ %.sroa.032.086, %70 ], [ %.sroa.032.086, %69 ], [ %.sroa.032.086, %68 ], [ %.sroa.032.086, %67 ], [ %.sroa.032.086, %66 ], [ %.sroa.032.086, %65 ], [ %.sroa.032.086, %64 ], [ %.sroa.032.086, %63 ], [ %.sroa.032.086, %62 ], [ %.sroa.032.086, %61 ], [ %.sroa.032.086, %60 ], [ %.sroa.032.086, %59 ], [ %.sroa.032.086, %58 ], [ 4096, %57 ], [ %.sroa.032.086, %56 ], [ %.sroa.032.086, %95 ]
  %.sroa.35.1 = phi i32 [ %.sroa.35.087, %53 ], [ %.sroa.35.087, %164 ], [ %.sroa.35.087, %163 ], [ %.sroa.35.087, %162 ], [ %.sroa.35.087, %161 ], [ %.sroa.35.087, %160 ], [ %.sroa.35.087, %159 ], [ %.sroa.35.087, %158 ], [ %.sroa.35.087, %157 ], [ %.sroa.35.087, %156 ], [ %.sroa.35.087, %155 ], [ %.sroa.35.087, %154 ], [ %.sroa.35.087, %153 ], [ %.sroa.35.087, %152 ], [ %.sroa.35.087, %151 ], [ %.sroa.35.087, %150 ], [ %.sroa.35.087, %149 ], [ %.sroa.35.087, %148 ], [ %.sroa.35.087, %147 ], [ %.sroa.35.087, %146 ], [ %.sroa.35.087, %145 ], [ %.sroa.35.087, %144 ], [ %.sroa.35.087, %143 ], [ %.sroa.35.087, %142 ], [ %.sroa.35.087, %141 ], [ %.sroa.35.087, %140 ], [ %.sroa.35.087, %139 ], [ %.sroa.35.087, %138 ], [ %.sroa.35.087, %137 ], [ %.sroa.35.087, %136 ], [ %.sroa.35.087, %135 ], [ %.sroa.35.087, %134 ], [ %.sroa.35.087, %133 ], [ %.sroa.35.087, %132 ], [ %.sroa.35.087, %131 ], [ %.sroa.35.087, %130 ], [ %.sroa.35.087, %129 ], [ %.sroa.35.087, %128 ], [ %.sroa.35.087, %127 ], [ %.sroa.35.087, %126 ], [ %.sroa.35.087, %125 ], [ %.sroa.35.087, %124 ], [ %.sroa.35.087, %123 ], [ %.sroa.35.087, %122 ], [ %.sroa.35.087, %121 ], [ %.sroa.35.087, %120 ], [ %.sroa.35.087, %119 ], [ %.sroa.35.087, %118 ], [ %.sroa.35.087, %117 ], [ %.sroa.35.087, %116 ], [ %.sroa.35.087, %115 ], [ %.sroa.35.087, %114 ], [ 1, %113 ], [ 1, %112 ], [ 1, %111 ], [ %.sroa.35.087, %110 ], [ %.sroa.35.087, %109 ], [ %.sroa.35.087, %108 ], [ %.sroa.35.087, %107 ], [ %.sroa.35.087, %106 ], [ %.sroa.35.087, %105 ], [ %.sroa.35.087, %104 ], [ %.sroa.35.087, %103 ], [ %.sroa.35.087, %102 ], [ %.sroa.35.087, %101 ], [ %.sroa.35.087, %100 ], [ %.sroa.35.087, %99 ], [ %.sroa.35.087, %98 ], [ %.sroa.35.087, %91 ], [ %.sroa.35.087, %90 ], [ %.sroa.35.087, %89 ], [ %.sroa.35.087, %88 ], [ %.sroa.35.087, %87 ], [ %.sroa.35.087, %86 ], [ %.sroa.35.087, %85 ], [ %.sroa.35.087, %84 ], [ %.sroa.35.087, %83 ], [ %.sroa.35.087, %82 ], [ %.sroa.35.087, %81 ], [ %.sroa.35.087, %80 ], [ %.sroa.35.087, %79 ], [ %.sroa.35.087, %78 ], [ %.sroa.35.087, %77 ], [ %.sroa.35.087, %76 ], [ %.sroa.35.087, %75 ], [ %.sroa.35.087, %74 ], [ %.sroa.35.087, %73 ], [ %.sroa.35.087, %72 ], [ %.sroa.35.087, %71 ], [ %.sroa.35.087, %70 ], [ %.sroa.35.087, %69 ], [ %.sroa.35.087, %68 ], [ %.sroa.35.087, %67 ], [ %.sroa.35.087, %66 ], [ %.sroa.35.087, %65 ], [ %.sroa.35.087, %64 ], [ %.sroa.35.087, %63 ], [ %.sroa.35.087, %62 ], [ %.sroa.35.087, %61 ], [ %.sroa.35.087, %60 ], [ %.sroa.35.087, %59 ], [ %.sroa.35.087, %58 ], [ %.sroa.35.087, %57 ], [ %.sroa.35.087, %56 ], [ %.sroa.35.087, %95 ]
  %.sroa.25.1 = phi i32 [ %.sroa.25.088, %53 ], [ %.sroa.25.088, %164 ], [ %.sroa.25.088, %163 ], [ %.sroa.25.088, %162 ], [ %.sroa.25.088, %161 ], [ %.sroa.25.088, %160 ], [ %.sroa.25.088, %159 ], [ %.sroa.25.088, %158 ], [ %.sroa.25.088, %157 ], [ %.sroa.25.088, %156 ], [ %.sroa.25.088, %155 ], [ %.sroa.25.088, %154 ], [ %.sroa.25.088, %153 ], [ %.sroa.25.088, %152 ], [ %.sroa.25.088, %151 ], [ %.sroa.25.088, %150 ], [ %.sroa.25.088, %149 ], [ %.sroa.25.088, %148 ], [ %.sroa.25.088, %147 ], [ %.sroa.25.088, %146 ], [ %.sroa.25.088, %145 ], [ %.sroa.25.088, %144 ], [ %.sroa.25.088, %143 ], [ %.sroa.25.088, %142 ], [ %.sroa.25.088, %141 ], [ %.sroa.25.088, %140 ], [ %.sroa.25.088, %139 ], [ %.sroa.25.088, %138 ], [ %.sroa.25.088, %137 ], [ %.sroa.25.088, %136 ], [ %.sroa.25.088, %135 ], [ %.sroa.25.088, %134 ], [ %.sroa.25.088, %133 ], [ %.sroa.25.088, %132 ], [ %.sroa.25.088, %131 ], [ %.sroa.25.088, %130 ], [ %.sroa.25.088, %129 ], [ %.sroa.25.088, %128 ], [ %.sroa.25.088, %127 ], [ %.sroa.25.088, %126 ], [ %.sroa.25.088, %125 ], [ %.sroa.25.088, %124 ], [ %.sroa.25.088, %123 ], [ %.sroa.25.088, %122 ], [ %.sroa.25.088, %121 ], [ %.sroa.25.088, %120 ], [ %.sroa.25.088, %119 ], [ %.sroa.25.088, %118 ], [ %.sroa.25.088, %117 ], [ %.sroa.25.088, %116 ], [ 32, %115 ], [ %.sroa.25.088, %114 ], [ 256, %113 ], [ 128, %112 ], [ 64, %111 ], [ 16, %110 ], [ 16, %109 ], [ %.sroa.25.088, %108 ], [ %.sroa.25.088, %107 ], [ %.sroa.25.088, %106 ], [ %.sroa.25.088, %105 ], [ %.sroa.25.088, %104 ], [ %.sroa.25.088, %103 ], [ %.sroa.25.088, %102 ], [ %.sroa.25.088, %101 ], [ %.sroa.25.088, %100 ], [ %.sroa.25.088, %99 ], [ %.sroa.25.088, %98 ], [ %.sroa.25.088, %91 ], [ %.sroa.25.088, %90 ], [ %.sroa.25.088, %89 ], [ %.sroa.25.088, %88 ], [ %.sroa.25.088, %87 ], [ %.sroa.25.088, %86 ], [ %.sroa.25.088, %85 ], [ %.sroa.25.088, %84 ], [ %.sroa.25.088, %83 ], [ %.sroa.25.088, %82 ], [ %.sroa.25.088, %81 ], [ %.sroa.25.088, %80 ], [ %.sroa.25.088, %79 ], [ %.sroa.25.088, %78 ], [ %.sroa.25.088, %77 ], [ %.sroa.25.088, %76 ], [ %.sroa.25.088, %75 ], [ %.sroa.25.088, %74 ], [ %.sroa.25.088, %73 ], [ %.sroa.25.088, %72 ], [ %.sroa.25.088, %71 ], [ %.sroa.25.088, %70 ], [ %.sroa.25.088, %69 ], [ %.sroa.25.088, %68 ], [ %.sroa.25.088, %67 ], [ %.sroa.25.088, %66 ], [ %.sroa.25.088, %65 ], [ %.sroa.25.088, %64 ], [ %.sroa.25.088, %63 ], [ %.sroa.25.088, %62 ], [ %.sroa.25.088, %61 ], [ 32, %60 ], [ 8, %59 ], [ %.sroa.25.088, %58 ], [ %.sroa.25.088, %57 ], [ %.sroa.25.088, %56 ], [ %.sroa.25.088, %95 ]
  %.sroa.13.1 = phi i32 [ %.sroa.13.089, %53 ], [ %.sroa.13.089, %164 ], [ %.sroa.13.089, %163 ], [ %.sroa.13.089, %162 ], [ %.sroa.13.089, %161 ], [ %.sroa.13.089, %160 ], [ %.sroa.13.089, %159 ], [ %.sroa.13.089, %158 ], [ %.sroa.13.089, %157 ], [ %.sroa.13.089, %156 ], [ %.sroa.13.089, %155 ], [ %.sroa.13.089, %154 ], [ %.sroa.13.089, %153 ], [ %.sroa.13.089, %152 ], [ %.sroa.13.089, %151 ], [ %.sroa.13.089, %150 ], [ %.sroa.13.089, %149 ], [ %.sroa.13.089, %148 ], [ %.sroa.13.089, %147 ], [ %.sroa.13.089, %146 ], [ %.sroa.13.089, %145 ], [ %.sroa.13.089, %144 ], [ %.sroa.13.089, %143 ], [ %.sroa.13.089, %142 ], [ %.sroa.13.089, %141 ], [ %.sroa.13.089, %140 ], [ %.sroa.13.089, %139 ], [ %.sroa.13.089, %138 ], [ %.sroa.13.089, %137 ], [ %.sroa.13.089, %136 ], [ %.sroa.13.089, %135 ], [ %.sroa.13.089, %134 ], [ %.sroa.13.089, %133 ], [ %.sroa.13.089, %132 ], [ %.sroa.13.089, %131 ], [ %.sroa.13.089, %130 ], [ %.sroa.13.089, %129 ], [ %.sroa.13.089, %128 ], [ %.sroa.13.089, %127 ], [ %.sroa.13.089, %126 ], [ %.sroa.13.089, %125 ], [ %.sroa.13.089, %124 ], [ %.sroa.13.089, %123 ], [ %.sroa.13.089, %122 ], [ %.sroa.13.089, %121 ], [ %.sroa.13.089, %120 ], [ %.sroa.13.089, %119 ], [ %.sroa.13.089, %118 ], [ %.sroa.13.089, %117 ], [ %.sroa.13.089, %116 ], [ 4, %115 ], [ %.sroa.13.089, %114 ], [ 0, %113 ], [ 0, %112 ], [ 0, %111 ], [ 4, %110 ], [ 4, %109 ], [ %.sroa.13.089, %108 ], [ %.sroa.13.089, %107 ], [ %.sroa.13.089, %106 ], [ %.sroa.13.089, %105 ], [ %.sroa.13.089, %104 ], [ %.sroa.13.089, %103 ], [ %.sroa.13.089, %102 ], [ %.sroa.13.089, %101 ], [ %.sroa.13.089, %100 ], [ %.sroa.13.089, %99 ], [ %.sroa.13.089, %98 ], [ %.sroa.13.089, %91 ], [ %.sroa.13.089, %90 ], [ %.sroa.13.089, %89 ], [ %.sroa.13.089, %88 ], [ %.sroa.13.089, %87 ], [ %.sroa.13.089, %86 ], [ %.sroa.13.089, %85 ], [ %.sroa.13.089, %84 ], [ %.sroa.13.089, %83 ], [ %.sroa.13.089, %82 ], [ %.sroa.13.089, %81 ], [ %.sroa.13.089, %80 ], [ %.sroa.13.089, %79 ], [ %.sroa.13.089, %78 ], [ %.sroa.13.089, %77 ], [ %.sroa.13.089, %76 ], [ %.sroa.13.089, %75 ], [ %.sroa.13.089, %74 ], [ %.sroa.13.089, %73 ], [ %.sroa.13.089, %72 ], [ %.sroa.13.089, %71 ], [ %.sroa.13.089, %70 ], [ %.sroa.13.089, %69 ], [ %.sroa.13.089, %68 ], [ %.sroa.13.089, %67 ], [ %.sroa.13.089, %66 ], [ %.sroa.13.089, %65 ], [ %.sroa.13.089, %64 ], [ %.sroa.13.089, %63 ], [ %.sroa.13.089, %62 ], [ %.sroa.13.089, %61 ], [ 4, %60 ], [ 4, %59 ], [ %.sroa.13.089, %58 ], [ %.sroa.13.089, %57 ], [ %.sroa.13.089, %56 ], [ %.sroa.13.089, %95 ]
  %.sroa.031.1 = phi i32 [ %.sroa.031.090, %53 ], [ %.sroa.031.090, %164 ], [ %.sroa.031.090, %163 ], [ %.sroa.031.090, %162 ], [ %.sroa.031.090, %161 ], [ %.sroa.031.090, %160 ], [ %.sroa.031.090, %159 ], [ %.sroa.031.090, %158 ], [ %.sroa.031.090, %157 ], [ %.sroa.031.090, %156 ], [ %.sroa.031.090, %155 ], [ %.sroa.031.090, %154 ], [ %.sroa.031.090, %153 ], [ %.sroa.031.090, %152 ], [ %.sroa.031.090, %151 ], [ %.sroa.031.090, %150 ], [ %.sroa.031.090, %149 ], [ %.sroa.031.090, %148 ], [ %.sroa.031.090, %147 ], [ %.sroa.031.090, %146 ], [ %.sroa.031.090, %145 ], [ %.sroa.031.090, %144 ], [ %.sroa.031.090, %143 ], [ %.sroa.031.090, %142 ], [ %.sroa.031.090, %141 ], [ %.sroa.031.090, %140 ], [ %.sroa.031.090, %139 ], [ %.sroa.031.090, %138 ], [ %.sroa.031.090, %137 ], [ %.sroa.031.090, %136 ], [ %.sroa.031.090, %135 ], [ %.sroa.031.090, %134 ], [ %.sroa.031.090, %133 ], [ %.sroa.031.090, %132 ], [ %.sroa.031.090, %131 ], [ %.sroa.031.090, %130 ], [ %.sroa.031.090, %129 ], [ %.sroa.031.090, %128 ], [ %.sroa.031.090, %127 ], [ %.sroa.031.090, %126 ], [ %.sroa.031.090, %125 ], [ %.sroa.031.090, %124 ], [ %.sroa.031.090, %123 ], [ %.sroa.031.090, %122 ], [ %.sroa.031.090, %121 ], [ %.sroa.031.090, %120 ], [ %.sroa.031.090, %119 ], [ %.sroa.031.090, %118 ], [ %.sroa.031.090, %117 ], [ %.sroa.031.090, %116 ], [ 4096, %115 ], [ %.sroa.031.090, %114 ], [ 4096, %113 ], [ 4096, %112 ], [ 4096, %111 ], [ 4096, %110 ], [ 4096, %109 ], [ %.sroa.031.090, %108 ], [ %.sroa.031.090, %107 ], [ %.sroa.031.090, %106 ], [ %.sroa.031.090, %105 ], [ %.sroa.031.090, %104 ], [ %.sroa.031.090, %103 ], [ %.sroa.031.090, %102 ], [ %.sroa.031.090, %101 ], [ %.sroa.031.090, %100 ], [ %.sroa.031.090, %99 ], [ %.sroa.031.090, %98 ], [ %.sroa.031.090, %91 ], [ %.sroa.031.090, %90 ], [ %.sroa.031.090, %89 ], [ %.sroa.031.090, %88 ], [ %.sroa.031.090, %87 ], [ %.sroa.031.090, %86 ], [ %.sroa.031.090, %85 ], [ %.sroa.031.090, %84 ], [ %.sroa.031.090, %83 ], [ %.sroa.031.090, %82 ], [ %.sroa.031.090, %81 ], [ %.sroa.031.090, %80 ], [ %.sroa.031.090, %79 ], [ %.sroa.031.090, %78 ], [ %.sroa.031.090, %77 ], [ %.sroa.031.090, %76 ], [ %.sroa.031.090, %75 ], [ %.sroa.031.090, %74 ], [ %.sroa.031.090, %73 ], [ %.sroa.031.090, %72 ], [ %.sroa.031.090, %71 ], [ %.sroa.031.090, %70 ], [ %.sroa.031.090, %69 ], [ %.sroa.031.090, %68 ], [ %.sroa.031.090, %67 ], [ %.sroa.031.090, %66 ], [ %.sroa.031.090, %65 ], [ %.sroa.031.090, %64 ], [ %.sroa.031.090, %63 ], [ %.sroa.031.090, %62 ], [ %.sroa.031.090, %61 ], [ 4096, %60 ], [ 4096, %59 ], [ %.sroa.031.090, %58 ], [ %.sroa.031.090, %57 ], [ %.sroa.031.090, %56 ], [ %.sroa.031.090, %95 ]
  %.sroa.039.1 = phi i32 [ %.sroa.039.091, %53 ], [ 8192, %164 ], [ 4096, %163 ], [ 2048, %162 ], [ 8192, %161 ], [ 4096, %160 ], [ 2048, %159 ], [ 4096, %158 ], [ 2048, %157 ], [ 1024, %156 ], [ 2048, %155 ], [ 1024, %154 ], [ 512, %153 ], [ %.sroa.039.091, %152 ], [ %.sroa.039.091, %151 ], [ %.sroa.039.091, %150 ], [ %.sroa.039.091, %149 ], [ %.sroa.039.091, %148 ], [ %.sroa.039.091, %147 ], [ %.sroa.039.091, %146 ], [ %.sroa.039.091, %145 ], [ %.sroa.039.091, %144 ], [ 3096, %143 ], [ 8192, %142 ], [ 4096, %141 ], [ 2048, %140 ], [ %.sroa.039.091, %139 ], [ %.sroa.039.091, %138 ], [ %.sroa.039.091, %137 ], [ %.sroa.039.091, %136 ], [ %.sroa.039.091, %135 ], [ %.sroa.039.091, %134 ], [ %.sroa.039.091, %133 ], [ %.sroa.039.091, %132 ], [ %.sroa.039.091, %131 ], [ %.sroa.039.091, %130 ], [ %.sroa.039.091, %129 ], [ %.sroa.039.091, %128 ], [ %.sroa.039.091, %127 ], [ %.sroa.039.091, %126 ], [ %.sroa.039.091, %125 ], [ %.sroa.039.091, %124 ], [ %.sroa.039.091, %123 ], [ %.sroa.039.091, %122 ], [ %.sroa.039.091, %121 ], [ %.sroa.039.091, %120 ], [ %.sroa.039.091, %119 ], [ %.sroa.039.091, %118 ], [ %.sroa.039.091, %117 ], [ %.sroa.039.091, %116 ], [ %.sroa.039.091, %115 ], [ %.sroa.039.091, %114 ], [ %.sroa.039.091, %113 ], [ %.sroa.039.091, %112 ], [ %.sroa.039.091, %111 ], [ %.sroa.039.091, %110 ], [ %.sroa.039.091, %109 ], [ %.sroa.039.091, %108 ], [ %.sroa.039.091, %107 ], [ %.sroa.039.091, %106 ], [ %.sroa.039.091, %105 ], [ %.sroa.039.091, %104 ], [ %.sroa.039.091, %103 ], [ 16384, %102 ], [ 12280, %101 ], [ 8192, %100 ], [ 6144, %99 ], [ %.sroa.039.091, %98 ], [ %.sroa.039.091, %91 ], [ 8192, %90 ], [ 4096, %89 ], [ %.sroa.039.091, %88 ], [ %.sroa.039.091, %87 ], [ %.sroa.039.091, %86 ], [ %.sroa.039.091, %85 ], [ %.sroa.039.091, %84 ], [ %.sroa.039.091, %83 ], [ %.sroa.039.091, %82 ], [ %.sroa.039.091, %81 ], [ %.sroa.039.091, %80 ], [ %.sroa.039.091, %79 ], [ %.sroa.039.091, %78 ], [ %.sroa.039.091, %77 ], [ %.sroa.039.091, %76 ], [ 4096, %75 ], [ 2048, %74 ], [ 1024, %73 ], [ 512, %72 ], [ %.sroa.039.091, %71 ], [ %.sroa.039.091, %70 ], [ %.sroa.039.091, %69 ], [ %.sroa.039.091, %68 ], [ %.sroa.039.091, %67 ], [ %.sroa.039.091, %66 ], [ %.sroa.039.091, %65 ], [ %.sroa.039.091, %64 ], [ %.sroa.039.091, %63 ], [ %.sroa.039.091, %62 ], [ %.sroa.039.091, %61 ], [ %.sroa.039.091, %60 ], [ %.sroa.039.091, %59 ], [ %.sroa.039.091, %58 ], [ %.sroa.039.091, %57 ], [ %.sroa.039.091, %56 ], [ 4096, %95 ]
  %.sroa.3240.1 = phi i32 [ %.sroa.3240.092, %53 ], [ 16, %164 ], [ 16, %163 ], [ 16, %162 ], [ 12, %161 ], [ 12, %160 ], [ 12, %159 ], [ 8, %158 ], [ 8, %157 ], [ 8, %156 ], [ 4, %155 ], [ 4, %154 ], [ 4, %153 ], [ %.sroa.3240.092, %152 ], [ %.sroa.3240.092, %151 ], [ %.sroa.3240.092, %150 ], [ %.sroa.3240.092, %149 ], [ %.sroa.3240.092, %148 ], [ %.sroa.3240.092, %147 ], [ %.sroa.3240.092, %146 ], [ %.sroa.3240.092, %145 ], [ %.sroa.3240.092, %144 ], [ 12, %143 ], [ 4, %142 ], [ 4, %141 ], [ 4, %140 ], [ %.sroa.3240.092, %139 ], [ %.sroa.3240.092, %138 ], [ %.sroa.3240.092, %137 ], [ %.sroa.3240.092, %136 ], [ %.sroa.3240.092, %135 ], [ %.sroa.3240.092, %134 ], [ %.sroa.3240.092, %133 ], [ %.sroa.3240.092, %132 ], [ %.sroa.3240.092, %131 ], [ %.sroa.3240.092, %130 ], [ %.sroa.3240.092, %129 ], [ %.sroa.3240.092, %128 ], [ %.sroa.3240.092, %127 ], [ %.sroa.3240.092, %126 ], [ %.sroa.3240.092, %125 ], [ %.sroa.3240.092, %124 ], [ %.sroa.3240.092, %123 ], [ %.sroa.3240.092, %122 ], [ %.sroa.3240.092, %121 ], [ %.sroa.3240.092, %120 ], [ %.sroa.3240.092, %119 ], [ %.sroa.3240.092, %118 ], [ %.sroa.3240.092, %117 ], [ %.sroa.3240.092, %116 ], [ %.sroa.3240.092, %115 ], [ %.sroa.3240.092, %114 ], [ %.sroa.3240.092, %113 ], [ %.sroa.3240.092, %112 ], [ %.sroa.3240.092, %111 ], [ %.sroa.3240.092, %110 ], [ %.sroa.3240.092, %109 ], [ %.sroa.3240.092, %108 ], [ %.sroa.3240.092, %107 ], [ %.sroa.3240.092, %106 ], [ %.sroa.3240.092, %105 ], [ %.sroa.3240.092, %104 ], [ %.sroa.3240.092, %103 ], [ 16, %102 ], [ 12, %101 ], [ 16, %100 ], [ 12, %99 ], [ %.sroa.3240.092, %98 ], [ %.sroa.3240.092, %91 ], [ 8, %90 ], [ 4, %89 ], [ %.sroa.3240.092, %88 ], [ %.sroa.3240.092, %87 ], [ %.sroa.3240.092, %86 ], [ %.sroa.3240.092, %85 ], [ %.sroa.3240.092, %84 ], [ %.sroa.3240.092, %83 ], [ %.sroa.3240.092, %82 ], [ %.sroa.3240.092, %81 ], [ %.sroa.3240.092, %80 ], [ %.sroa.3240.092, %79 ], [ %.sroa.3240.092, %78 ], [ %.sroa.3240.092, %77 ], [ %.sroa.3240.092, %76 ], [ 8, %75 ], [ 8, %74 ], [ 8, %73 ], [ 4, %72 ], [ %.sroa.3240.092, %71 ], [ %.sroa.3240.092, %70 ], [ %.sroa.3240.092, %69 ], [ %.sroa.3240.092, %68 ], [ %.sroa.3240.092, %67 ], [ %.sroa.3240.092, %66 ], [ %.sroa.3240.092, %65 ], [ %.sroa.3240.092, %64 ], [ %.sroa.3240.092, %63 ], [ %.sroa.3240.092, %62 ], [ %.sroa.3240.092, %61 ], [ %.sroa.3240.092, %60 ], [ %.sroa.3240.092, %59 ], [ %.sroa.3240.092, %58 ], [ %.sroa.3240.092, %57 ], [ %.sroa.3240.092, %56 ], [ 16, %95 ]
  %.sroa.1126.1 = phi i32 [ %.sroa.1126.093, %53 ], [ %.sroa.1126.093, %164 ], [ %.sroa.1126.093, %163 ], [ %.sroa.1126.093, %162 ], [ %.sroa.1126.093, %161 ], [ %.sroa.1126.093, %160 ], [ %.sroa.1126.093, %159 ], [ %.sroa.1126.093, %158 ], [ %.sroa.1126.093, %157 ], [ %.sroa.1126.093, %156 ], [ %.sroa.1126.093, %155 ], [ %.sroa.1126.093, %154 ], [ %.sroa.1126.093, %153 ], [ %.sroa.1126.093, %152 ], [ %.sroa.1126.093, %151 ], [ %.sroa.1126.093, %150 ], [ %.sroa.1126.093, %149 ], [ %.sroa.1126.093, %148 ], [ %.sroa.1126.093, %147 ], [ 96, %146 ], [ %.sroa.1126.093, %145 ], [ %.sroa.1126.093, %144 ], [ %.sroa.1126.093, %143 ], [ %.sroa.1126.093, %142 ], [ %.sroa.1126.093, %141 ], [ %.sroa.1126.093, %140 ], [ %.sroa.1126.093, %139 ], [ %.sroa.1126.093, %138 ], [ %.sroa.1126.093, %137 ], [ %.sroa.1126.093, %136 ], [ %.sroa.1126.093, %135 ], [ %.sroa.1126.093, %134 ], [ %.sroa.1126.093, %133 ], [ %.sroa.1126.093, %132 ], [ %.sroa.1126.093, %131 ], [ %.sroa.1126.093, %130 ], [ %.sroa.1126.093, %129 ], [ %.sroa.1126.093, %128 ], [ %.sroa.1126.093, %127 ], [ %.sroa.1126.093, %126 ], [ %.sroa.1126.093, %125 ], [ %.sroa.1126.093, %124 ], [ %.sroa.1126.093, %123 ], [ %.sroa.1126.093, %122 ], [ %.sroa.1126.093, %121 ], [ %.sroa.1126.093, %120 ], [ %.sroa.1126.093, %119 ], [ %.sroa.1126.093, %118 ], [ %.sroa.1126.093, %117 ], [ %.sroa.1126.093, %116 ], [ %.sroa.1126.093, %115 ], [ %.sroa.1126.093, %114 ], [ %.sroa.1126.093, %113 ], [ %.sroa.1126.093, %112 ], [ %.sroa.1126.093, %111 ], [ %.sroa.1126.093, %110 ], [ %.sroa.1126.093, %109 ], [ %.sroa.1126.093, %108 ], [ %.sroa.1126.093, %107 ], [ %.sroa.1126.093, %106 ], [ %.sroa.1126.093, %105 ], [ %.sroa.1126.093, %104 ], [ %.sroa.1126.093, %103 ], [ %.sroa.1126.093, %102 ], [ %.sroa.1126.093, %101 ], [ %.sroa.1126.093, %100 ], [ %.sroa.1126.093, %99 ], [ %.sroa.1126.093, %98 ], [ %.sroa.1126.093, %91 ], [ %.sroa.1126.093, %90 ], [ %.sroa.1126.093, %89 ], [ %.sroa.1126.093, %88 ], [ %.sroa.1126.093, %87 ], [ %.sroa.1126.093, %86 ], [ %.sroa.1126.093, %85 ], [ %.sroa.1126.093, %84 ], [ %.sroa.1126.093, %83 ], [ %.sroa.1126.093, %82 ], [ %.sroa.1126.093, %81 ], [ %.sroa.1126.093, %80 ], [ %.sroa.1126.093, %79 ], [ %.sroa.1126.093, %78 ], [ %.sroa.1126.093, %77 ], [ %.sroa.1126.093, %76 ], [ %.sroa.1126.093, %75 ], [ %.sroa.1126.093, %74 ], [ %.sroa.1126.093, %73 ], [ %.sroa.1126.093, %72 ], [ %.sroa.1126.093, %71 ], [ %.sroa.1126.093, %70 ], [ %.sroa.1126.093, %69 ], [ %.sroa.1126.093, %68 ], [ %.sroa.1126.093, %67 ], [ %.sroa.1126.093, %66 ], [ %.sroa.1126.093, %65 ], [ %.sroa.1126.093, %64 ], [ %.sroa.1126.093, %63 ], [ %.sroa.1126.093, %62 ], [ %.sroa.1126.093, %61 ], [ %.sroa.1126.093, %60 ], [ %.sroa.1126.093, %59 ], [ %.sroa.1126.093, %58 ], [ %.sroa.1126.093, %57 ], [ %.sroa.1126.093, %56 ], [ %.sroa.1126.093, %95 ]
  %.sroa.025.1 = phi i32 [ %.sroa.025.094, %53 ], [ %.sroa.025.094, %164 ], [ %.sroa.025.094, %163 ], [ %.sroa.025.094, %162 ], [ %.sroa.025.094, %161 ], [ %.sroa.025.094, %160 ], [ %.sroa.025.094, %159 ], [ %.sroa.025.094, %158 ], [ %.sroa.025.094, %157 ], [ %.sroa.025.094, %156 ], [ %.sroa.025.094, %155 ], [ %.sroa.025.094, %154 ], [ %.sroa.025.094, %153 ], [ %.sroa.025.094, %152 ], [ %.sroa.025.094, %151 ], [ %.sroa.025.094, %150 ], [ %.sroa.025.094, %149 ], [ %.sroa.025.094, %148 ], [ %.sroa.025.094, %147 ], [ 4, %146 ], [ %.sroa.025.094, %145 ], [ %.sroa.025.094, %144 ], [ %.sroa.025.094, %143 ], [ %.sroa.025.094, %142 ], [ %.sroa.025.094, %141 ], [ %.sroa.025.094, %140 ], [ %.sroa.025.094, %139 ], [ %.sroa.025.094, %138 ], [ %.sroa.025.094, %137 ], [ %.sroa.025.094, %136 ], [ %.sroa.025.094, %135 ], [ %.sroa.025.094, %134 ], [ %.sroa.025.094, %133 ], [ %.sroa.025.094, %132 ], [ %.sroa.025.094, %131 ], [ %.sroa.025.094, %130 ], [ %.sroa.025.094, %129 ], [ %.sroa.025.094, %128 ], [ %.sroa.025.094, %127 ], [ %.sroa.025.094, %126 ], [ %.sroa.025.094, %125 ], [ %.sroa.025.094, %124 ], [ %.sroa.025.094, %123 ], [ %.sroa.025.094, %122 ], [ %.sroa.025.094, %121 ], [ %.sroa.025.094, %120 ], [ %.sroa.025.094, %119 ], [ %.sroa.025.094, %118 ], [ %.sroa.025.094, %117 ], [ %.sroa.025.094, %116 ], [ %.sroa.025.094, %115 ], [ %.sroa.025.094, %114 ], [ %.sroa.025.094, %113 ], [ %.sroa.025.094, %112 ], [ %.sroa.025.094, %111 ], [ %.sroa.025.094, %110 ], [ %.sroa.025.094, %109 ], [ %.sroa.025.094, %108 ], [ %.sroa.025.094, %107 ], [ %.sroa.025.094, %106 ], [ %.sroa.025.094, %105 ], [ %.sroa.025.094, %104 ], [ %.sroa.025.094, %103 ], [ %.sroa.025.094, %102 ], [ %.sroa.025.094, %101 ], [ %.sroa.025.094, %100 ], [ %.sroa.025.094, %99 ], [ %.sroa.025.094, %98 ], [ %.sroa.025.094, %91 ], [ %.sroa.025.094, %90 ], [ %.sroa.025.094, %89 ], [ %.sroa.025.094, %88 ], [ %.sroa.025.094, %87 ], [ %.sroa.025.094, %86 ], [ %.sroa.025.094, %85 ], [ %.sroa.025.094, %84 ], [ %.sroa.025.094, %83 ], [ %.sroa.025.094, %82 ], [ %.sroa.025.094, %81 ], [ %.sroa.025.094, %80 ], [ %.sroa.025.094, %79 ], [ %.sroa.025.094, %78 ], [ %.sroa.025.094, %77 ], [ %.sroa.025.094, %76 ], [ %.sroa.025.094, %75 ], [ %.sroa.025.094, %74 ], [ %.sroa.025.094, %73 ], [ %.sroa.025.094, %72 ], [ %.sroa.025.094, %71 ], [ %.sroa.025.094, %70 ], [ %.sroa.025.094, %69 ], [ %.sroa.025.094, %68 ], [ %.sroa.025.094, %67 ], [ %.sroa.025.094, %66 ], [ %.sroa.025.094, %65 ], [ %.sroa.025.094, %64 ], [ %.sroa.025.094, %63 ], [ %.sroa.025.094, %62 ], [ %.sroa.025.094, %61 ], [ %.sroa.025.094, %60 ], [ %.sroa.025.094, %59 ], [ %.sroa.025.094, %58 ], [ %.sroa.025.094, %57 ], [ %.sroa.025.094, %56 ], [ %.sroa.025.094, %95 ]
  %.sroa.62.1 = phi i32 [ %.sroa.62.095, %53 ], [ 64, %164 ], [ 64, %163 ], [ 64, %162 ], [ 64, %161 ], [ 64, %160 ], [ 64, %159 ], [ 64, %158 ], [ 64, %157 ], [ 64, %156 ], [ 64, %155 ], [ 64, %154 ], [ 64, %153 ], [ %.sroa.62.095, %152 ], [ %.sroa.62.095, %151 ], [ %.sroa.62.095, %150 ], [ %.sroa.62.095, %149 ], [ %.sroa.62.095, %148 ], [ %.sroa.62.095, %147 ], [ %.sroa.62.095, %146 ], [ %.sroa.62.095, %145 ], [ %.sroa.62.095, %144 ], [ 128, %143 ], [ 64, %142 ], [ 64, %141 ], [ 64, %140 ], [ %.sroa.62.095, %139 ], [ %.sroa.62.095, %138 ], [ %.sroa.62.095, %137 ], [ %.sroa.62.095, %136 ], [ %.sroa.62.095, %135 ], [ %.sroa.62.095, %134 ], [ %.sroa.62.095, %133 ], [ %.sroa.62.095, %132 ], [ %.sroa.62.095, %131 ], [ %.sroa.62.095, %130 ], [ %.sroa.62.095, %129 ], [ %.sroa.62.095, %128 ], [ %.sroa.62.095, %127 ], [ %.sroa.62.095, %126 ], [ %.sroa.62.095, %125 ], [ %.sroa.62.095, %124 ], [ %.sroa.62.095, %123 ], [ %.sroa.62.095, %122 ], [ %.sroa.62.095, %121 ], [ %.sroa.62.095, %120 ], [ %.sroa.62.095, %119 ], [ %.sroa.62.095, %118 ], [ %.sroa.62.095, %117 ], [ %.sroa.62.095, %116 ], [ %.sroa.62.095, %115 ], [ %.sroa.62.095, %114 ], [ %.sroa.62.095, %113 ], [ %.sroa.62.095, %112 ], [ %.sroa.62.095, %111 ], [ %.sroa.62.095, %110 ], [ %.sroa.62.095, %109 ], [ %.sroa.62.095, %108 ], [ %.sroa.62.095, %107 ], [ %.sroa.62.095, %106 ], [ %.sroa.62.095, %105 ], [ %.sroa.62.095, %104 ], [ %.sroa.62.095, %103 ], [ 64, %102 ], [ 64, %101 ], [ 64, %100 ], [ 64, %99 ], [ %.sroa.62.095, %98 ], [ %.sroa.62.095, %91 ], [ 64, %90 ], [ 64, %89 ], [ %.sroa.62.095, %88 ], [ %.sroa.62.095, %87 ], [ %.sroa.62.095, %86 ], [ %.sroa.62.095, %85 ], [ %.sroa.62.095, %84 ], [ %.sroa.62.095, %83 ], [ %.sroa.62.095, %82 ], [ %.sroa.62.095, %81 ], [ %.sroa.62.095, %80 ], [ %.sroa.62.095, %79 ], [ %.sroa.62.095, %78 ], [ %.sroa.62.095, %77 ], [ %.sroa.62.095, %76 ], [ 64, %75 ], [ 64, %74 ], [ 64, %73 ], [ 64, %72 ], [ %.sroa.62.095, %71 ], [ %.sroa.62.095, %70 ], [ %.sroa.62.095, %69 ], [ %.sroa.62.095, %68 ], [ %.sroa.62.095, %67 ], [ %.sroa.62.095, %66 ], [ %.sroa.62.095, %65 ], [ %.sroa.62.095, %64 ], [ %.sroa.62.095, %63 ], [ %.sroa.62.095, %62 ], [ %.sroa.62.095, %61 ], [ %.sroa.62.095, %60 ], [ %.sroa.62.095, %59 ], [ %.sroa.62.095, %58 ], [ %.sroa.62.095, %57 ], [ %.sroa.62.095, %56 ], [ 64, %95 ]
  %.sroa.041.1 = phi i32 [ %.sroa.041.096, %53 ], [ %.sroa.041.096, %164 ], [ %.sroa.041.096, %163 ], [ %.sroa.041.096, %162 ], [ %.sroa.041.096, %161 ], [ %.sroa.041.096, %160 ], [ %.sroa.041.096, %159 ], [ %.sroa.041.096, %158 ], [ %.sroa.041.096, %157 ], [ %.sroa.041.096, %156 ], [ %.sroa.041.096, %155 ], [ %.sroa.041.096, %154 ], [ %.sroa.041.096, %153 ], [ %.sroa.041.096, %152 ], [ %.sroa.041.096, %151 ], [ %.sroa.041.096, %150 ], [ %.sroa.041.096, %149 ], [ %.sroa.041.096, %148 ], [ %.sroa.041.096, %147 ], [ %.sroa.041.096, %146 ], [ %.sroa.041.096, %145 ], [ %.sroa.041.096, %144 ], [ %.sroa.041.096, %143 ], [ %.sroa.041.096, %142 ], [ %.sroa.041.096, %141 ], [ %.sroa.041.096, %140 ], [ 1024, %139 ], [ 512, %138 ], [ 2048, %137 ], [ 1024, %136 ], [ 512, %135 ], [ 256, %134 ], [ 128, %133 ], [ 512, %132 ], [ 256, %131 ], [ 2048, %130 ], [ 1024, %129 ], [ 512, %128 ], [ 256, %127 ], [ 128, %126 ], [ 1024, %125 ], [ %.sroa.041.096, %124 ], [ %.sroa.041.096, %123 ], [ %.sroa.041.096, %122 ], [ %.sroa.041.096, %121 ], [ %.sroa.041.096, %120 ], [ %.sroa.041.096, %119 ], [ %.sroa.041.096, %118 ], [ %.sroa.041.096, %117 ], [ %.sroa.041.096, %116 ], [ %.sroa.041.096, %115 ], [ %.sroa.041.096, %114 ], [ %.sroa.041.096, %113 ], [ %.sroa.041.096, %112 ], [ %.sroa.041.096, %111 ], [ %.sroa.041.096, %110 ], [ %.sroa.041.096, %109 ], [ %.sroa.041.096, %108 ], [ %.sroa.041.096, %107 ], [ %.sroa.041.096, %106 ], [ %.sroa.041.096, %105 ], [ %.sroa.041.096, %104 ], [ 6144, %103 ], [ %.sroa.041.096, %102 ], [ %.sroa.041.096, %101 ], [ %.sroa.041.096, %100 ], [ %.sroa.041.096, %99 ], [ 4096, %98 ], [ 3184, %91 ], [ %.sroa.041.096, %90 ], [ %.sroa.041.096, %89 ], [ 2048, %88 ], [ 1024, %87 ], [ 512, %86 ], [ 256, %85 ], [ 128, %84 ], [ 512, %83 ], [ 384, %82 ], [ 256, %81 ], [ 128, %80 ], [ 192, %79 ], [ 128, %78 ], [ %.sroa.041.096, %77 ], [ %.sroa.041.096, %76 ], [ %.sroa.041.096, %75 ], [ %.sroa.041.096, %74 ], [ %.sroa.041.096, %73 ], [ %.sroa.041.096, %72 ], [ 256, %71 ], [ 96, %70 ], [ %.sroa.041.096, %69 ], [ %.sroa.041.096, %68 ], [ %.sroa.041.096, %67 ], [ %.sroa.041.096, %66 ], [ %.sroa.041.096, %65 ], [ %.sroa.041.096, %64 ], [ %.sroa.041.096, %63 ], [ %.sroa.041.096, %62 ], [ %.sroa.041.096, %61 ], [ %.sroa.041.096, %60 ], [ %.sroa.041.096, %59 ], [ %.sroa.041.096, %58 ], [ %.sroa.041.096, %57 ], [ %.sroa.041.096, %56 ], [ %.sroa.041.096, %95 ]
  %.sroa.39.1 = phi i32 [ %.sroa.39.097, %53 ], [ %.sroa.39.097, %164 ], [ %.sroa.39.097, %163 ], [ %.sroa.39.097, %162 ], [ %.sroa.39.097, %161 ], [ %.sroa.39.097, %160 ], [ %.sroa.39.097, %159 ], [ %.sroa.39.097, %158 ], [ %.sroa.39.097, %157 ], [ %.sroa.39.097, %156 ], [ %.sroa.39.097, %155 ], [ %.sroa.39.097, %154 ], [ %.sroa.39.097, %153 ], [ %.sroa.39.097, %152 ], [ %.sroa.39.097, %151 ], [ %.sroa.39.097, %150 ], [ %.sroa.39.097, %149 ], [ %.sroa.39.097, %148 ], [ %.sroa.39.097, %147 ], [ %.sroa.39.097, %146 ], [ %.sroa.39.097, %145 ], [ %.sroa.39.097, %144 ], [ %.sroa.39.097, %143 ], [ %.sroa.39.097, %142 ], [ %.sroa.39.097, %141 ], [ %.sroa.39.097, %140 ], [ 8, %139 ], [ 4, %138 ], [ 8, %137 ], [ 8, %136 ], [ 8, %135 ], [ 8, %134 ], [ 8, %133 ], [ 2, %132 ], [ 8, %131 ], [ 8, %130 ], [ 8, %129 ], [ 8, %128 ], [ 8, %127 ], [ 8, %126 ], [ 4, %125 ], [ %.sroa.39.097, %124 ], [ %.sroa.39.097, %123 ], [ %.sroa.39.097, %122 ], [ %.sroa.39.097, %121 ], [ %.sroa.39.097, %120 ], [ %.sroa.39.097, %119 ], [ %.sroa.39.097, %118 ], [ %.sroa.39.097, %117 ], [ %.sroa.39.097, %116 ], [ %.sroa.39.097, %115 ], [ %.sroa.39.097, %114 ], [ %.sroa.39.097, %113 ], [ %.sroa.39.097, %112 ], [ %.sroa.39.097, %111 ], [ %.sroa.39.097, %110 ], [ %.sroa.39.097, %109 ], [ %.sroa.39.097, %108 ], [ %.sroa.39.097, %107 ], [ %.sroa.39.097, %106 ], [ %.sroa.39.097, %105 ], [ %.sroa.39.097, %104 ], [ 24, %103 ], [ %.sroa.39.097, %102 ], [ %.sroa.39.097, %101 ], [ %.sroa.39.097, %100 ], [ %.sroa.39.097, %99 ], [ 16, %98 ], [ 12, %91 ], [ %.sroa.39.097, %90 ], [ %.sroa.39.097, %89 ], [ 4, %88 ], [ 4, %87 ], [ 4, %86 ], [ 4, %85 ], [ 4, %84 ], [ 4, %83 ], [ 6, %82 ], [ 4, %81 ], [ 2, %80 ], [ 6, %79 ], [ 4, %78 ], [ %.sroa.39.097, %77 ], [ %.sroa.39.097, %76 ], [ %.sroa.39.097, %75 ], [ %.sroa.39.097, %74 ], [ %.sroa.39.097, %73 ], [ %.sroa.39.097, %72 ], [ 8, %71 ], [ 6, %70 ], [ %.sroa.39.097, %69 ], [ %.sroa.39.097, %68 ], [ %.sroa.39.097, %67 ], [ %.sroa.39.097, %66 ], [ %.sroa.39.097, %65 ], [ %.sroa.39.097, %64 ], [ %.sroa.39.097, %63 ], [ %.sroa.39.097, %62 ], [ %.sroa.39.097, %61 ], [ %.sroa.39.097, %60 ], [ %.sroa.39.097, %59 ], [ %.sroa.39.097, %58 ], [ %.sroa.39.097, %57 ], [ %.sroa.39.097, %56 ], [ %.sroa.39.097, %95 ]
  %.sroa.82.1 = phi i32 [ %.sroa.82.098, %53 ], [ %.sroa.82.098, %164 ], [ %.sroa.82.098, %163 ], [ %.sroa.82.098, %162 ], [ %.sroa.82.098, %161 ], [ %.sroa.82.098, %160 ], [ %.sroa.82.098, %159 ], [ %.sroa.82.098, %158 ], [ %.sroa.82.098, %157 ], [ %.sroa.82.098, %156 ], [ %.sroa.82.098, %155 ], [ %.sroa.82.098, %154 ], [ %.sroa.82.098, %153 ], [ %.sroa.82.098, %152 ], [ %.sroa.82.098, %151 ], [ %.sroa.82.098, %150 ], [ %.sroa.82.098, %149 ], [ %.sroa.82.098, %148 ], [ %.sroa.82.098, %147 ], [ %.sroa.82.098, %146 ], [ %.sroa.82.098, %145 ], [ %.sroa.82.098, %144 ], [ %.sroa.82.098, %143 ], [ %.sroa.82.098, %142 ], [ %.sroa.82.098, %141 ], [ %.sroa.82.098, %140 ], [ 64, %139 ], [ 64, %138 ], [ 32, %137 ], [ 32, %136 ], [ 32, %135 ], [ 32, %134 ], [ 32, %133 ], [ 64, %132 ], [ 128, %131 ], [ 64, %130 ], [ 64, %129 ], [ 64, %128 ], [ 64, %127 ], [ 64, %126 ], [ 64, %125 ], [ %.sroa.82.098, %124 ], [ %.sroa.82.098, %123 ], [ %.sroa.82.098, %122 ], [ %.sroa.82.098, %121 ], [ %.sroa.82.098, %120 ], [ %.sroa.82.098, %119 ], [ %.sroa.82.098, %118 ], [ %.sroa.82.098, %117 ], [ %.sroa.82.098, %116 ], [ %.sroa.82.098, %115 ], [ %.sroa.82.098, %114 ], [ %.sroa.82.098, %113 ], [ %.sroa.82.098, %112 ], [ %.sroa.82.098, %111 ], [ %.sroa.82.098, %110 ], [ %.sroa.82.098, %109 ], [ %.sroa.82.098, %108 ], [ %.sroa.82.098, %107 ], [ %.sroa.82.098, %106 ], [ %.sroa.82.098, %105 ], [ %.sroa.82.098, %104 ], [ 64, %103 ], [ %.sroa.82.098, %102 ], [ %.sroa.82.098, %101 ], [ %.sroa.82.098, %100 ], [ %.sroa.82.098, %99 ], [ 64, %98 ], [ 64, %91 ], [ %.sroa.82.098, %90 ], [ %.sroa.82.098, %89 ], [ 32, %88 ], [ 32, %87 ], [ 32, %86 ], [ 32, %85 ], [ 32, %84 ], [ 64, %83 ], [ 64, %82 ], [ 64, %81 ], [ 64, %80 ], [ 64, %79 ], [ 64, %78 ], [ %.sroa.82.098, %77 ], [ %.sroa.82.098, %76 ], [ %.sroa.82.098, %75 ], [ %.sroa.82.098, %74 ], [ %.sroa.82.098, %73 ], [ %.sroa.82.098, %72 ], [ 64, %71 ], [ 64, %70 ], [ %.sroa.82.098, %69 ], [ %.sroa.82.098, %68 ], [ %.sroa.82.098, %67 ], [ %.sroa.82.098, %66 ], [ %.sroa.82.098, %65 ], [ %.sroa.82.098, %64 ], [ %.sroa.82.098, %63 ], [ %.sroa.82.098, %62 ], [ %.sroa.82.098, %61 ], [ %.sroa.82.098, %60 ], [ %.sroa.82.098, %59 ], [ %.sroa.82.098, %58 ], [ %.sroa.82.098, %57 ], [ %.sroa.82.098, %56 ], [ %.sroa.82.098, %95 ]
  %.sroa.045.1 = phi i32 [ %.sroa.045.099, %53 ], [ %.sroa.045.099, %164 ], [ %.sroa.045.099, %163 ], [ %.sroa.045.099, %162 ], [ %.sroa.045.099, %161 ], [ %.sroa.045.099, %160 ], [ %.sroa.045.099, %159 ], [ %.sroa.045.099, %158 ], [ %.sroa.045.099, %157 ], [ %.sroa.045.099, %156 ], [ %.sroa.045.099, %155 ], [ %.sroa.045.099, %154 ], [ %.sroa.045.099, %153 ], [ %.sroa.045.099, %152 ], [ %.sroa.045.099, %151 ], [ %.sroa.045.099, %150 ], [ %.sroa.045.099, %149 ], [ %.sroa.045.099, %148 ], [ %.sroa.045.099, %147 ], [ %.sroa.045.099, %146 ], [ %.sroa.045.099, %145 ], [ %.sroa.045.099, %144 ], [ %.sroa.045.099, %143 ], [ %.sroa.045.099, %142 ], [ %.sroa.045.099, %141 ], [ %.sroa.045.099, %140 ], [ %.sroa.045.099, %139 ], [ %.sroa.045.099, %138 ], [ %.sroa.045.099, %137 ], [ %.sroa.045.099, %136 ], [ %.sroa.045.099, %135 ], [ %.sroa.045.099, %134 ], [ %.sroa.045.099, %133 ], [ %.sroa.045.099, %132 ], [ %.sroa.045.099, %131 ], [ %.sroa.045.099, %130 ], [ %.sroa.045.099, %129 ], [ %.sroa.045.099, %128 ], [ %.sroa.045.099, %127 ], [ %.sroa.045.099, %126 ], [ %.sroa.045.099, %125 ], [ %.sroa.045.099, %124 ], [ %.sroa.045.099, %123 ], [ %.sroa.045.099, %122 ], [ %.sroa.045.099, %121 ], [ %.sroa.045.099, %120 ], [ %.sroa.045.099, %119 ], [ 32, %118 ], [ 16, %117 ], [ 8, %116 ], [ %.sroa.045.099, %115 ], [ 16, %114 ], [ %.sroa.045.099, %113 ], [ %.sroa.045.099, %112 ], [ %.sroa.045.099, %111 ], [ %.sroa.045.099, %110 ], [ %.sroa.045.099, %109 ], [ %.sroa.045.099, %108 ], [ %.sroa.045.099, %107 ], [ %.sroa.045.099, %106 ], [ %.sroa.045.099, %105 ], [ %.sroa.045.099, %104 ], [ %.sroa.045.099, %103 ], [ %.sroa.045.099, %102 ], [ %.sroa.045.099, %101 ], [ %.sroa.045.099, %100 ], [ %.sroa.045.099, %99 ], [ %.sroa.045.099, %98 ], [ %.sroa.045.099, %91 ], [ %.sroa.045.099, %90 ], [ %.sroa.045.099, %89 ], [ %.sroa.045.099, %88 ], [ %.sroa.045.099, %87 ], [ %.sroa.045.099, %86 ], [ %.sroa.045.099, %85 ], [ %.sroa.045.099, %84 ], [ %.sroa.045.099, %83 ], [ %.sroa.045.099, %82 ], [ %.sroa.045.099, %81 ], [ %.sroa.045.099, %80 ], [ %.sroa.045.099, %79 ], [ %.sroa.045.099, %78 ], [ %.sroa.045.099, %77 ], [ 32, %76 ], [ %.sroa.045.099, %75 ], [ %.sroa.045.099, %74 ], [ %.sroa.045.099, %73 ], [ %.sroa.045.099, %72 ], [ %.sroa.045.099, %71 ], [ %.sroa.045.099, %70 ], [ %.sroa.045.099, %69 ], [ 16, %68 ], [ 24, %67 ], [ 16, %66 ], [ 16, %65 ], [ 8, %64 ], [ %.sroa.045.099, %63 ], [ %.sroa.045.099, %62 ], [ %.sroa.045.099, %61 ], [ %.sroa.045.099, %60 ], [ %.sroa.045.099, %59 ], [ %.sroa.045.099, %58 ], [ %.sroa.045.099, %57 ], [ %.sroa.045.099, %56 ], [ %.sroa.045.099, %95 ]
  %.sroa.17.1 = phi i32 [ %.sroa.17.0100, %53 ], [ %.sroa.17.0100, %164 ], [ %.sroa.17.0100, %163 ], [ %.sroa.17.0100, %162 ], [ %.sroa.17.0100, %161 ], [ %.sroa.17.0100, %160 ], [ %.sroa.17.0100, %159 ], [ %.sroa.17.0100, %158 ], [ %.sroa.17.0100, %157 ], [ %.sroa.17.0100, %156 ], [ %.sroa.17.0100, %155 ], [ %.sroa.17.0100, %154 ], [ %.sroa.17.0100, %153 ], [ %.sroa.17.0100, %152 ], [ %.sroa.17.0100, %151 ], [ %.sroa.17.0100, %150 ], [ %.sroa.17.0100, %149 ], [ %.sroa.17.0100, %148 ], [ %.sroa.17.0100, %147 ], [ %.sroa.17.0100, %146 ], [ %.sroa.17.0100, %145 ], [ %.sroa.17.0100, %144 ], [ %.sroa.17.0100, %143 ], [ %.sroa.17.0100, %142 ], [ %.sroa.17.0100, %141 ], [ %.sroa.17.0100, %140 ], [ %.sroa.17.0100, %139 ], [ %.sroa.17.0100, %138 ], [ %.sroa.17.0100, %137 ], [ %.sroa.17.0100, %136 ], [ %.sroa.17.0100, %135 ], [ %.sroa.17.0100, %134 ], [ %.sroa.17.0100, %133 ], [ %.sroa.17.0100, %132 ], [ %.sroa.17.0100, %131 ], [ %.sroa.17.0100, %130 ], [ %.sroa.17.0100, %129 ], [ %.sroa.17.0100, %128 ], [ %.sroa.17.0100, %127 ], [ %.sroa.17.0100, %126 ], [ %.sroa.17.0100, %125 ], [ %.sroa.17.0100, %124 ], [ %.sroa.17.0100, %123 ], [ %.sroa.17.0100, %122 ], [ %.sroa.17.0100, %121 ], [ %.sroa.17.0100, %120 ], [ %.sroa.17.0100, %119 ], [ 4, %118 ], [ 4, %117 ], [ 4, %116 ], [ %.sroa.17.0100, %115 ], [ 8, %114 ], [ %.sroa.17.0100, %113 ], [ %.sroa.17.0100, %112 ], [ %.sroa.17.0100, %111 ], [ %.sroa.17.0100, %110 ], [ %.sroa.17.0100, %109 ], [ %.sroa.17.0100, %108 ], [ %.sroa.17.0100, %107 ], [ %.sroa.17.0100, %106 ], [ %.sroa.17.0100, %105 ], [ %.sroa.17.0100, %104 ], [ %.sroa.17.0100, %103 ], [ %.sroa.17.0100, %102 ], [ %.sroa.17.0100, %101 ], [ %.sroa.17.0100, %100 ], [ %.sroa.17.0100, %99 ], [ %.sroa.17.0100, %98 ], [ %.sroa.17.0100, %91 ], [ %.sroa.17.0100, %90 ], [ %.sroa.17.0100, %89 ], [ %.sroa.17.0100, %88 ], [ %.sroa.17.0100, %87 ], [ %.sroa.17.0100, %86 ], [ %.sroa.17.0100, %85 ], [ %.sroa.17.0100, %84 ], [ %.sroa.17.0100, %83 ], [ %.sroa.17.0100, %82 ], [ %.sroa.17.0100, %81 ], [ %.sroa.17.0100, %80 ], [ %.sroa.17.0100, %79 ], [ %.sroa.17.0100, %78 ], [ %.sroa.17.0100, %77 ], [ 8, %76 ], [ %.sroa.17.0100, %75 ], [ %.sroa.17.0100, %74 ], [ %.sroa.17.0100, %73 ], [ %.sroa.17.0100, %72 ], [ %.sroa.17.0100, %71 ], [ %.sroa.17.0100, %70 ], [ %.sroa.17.0100, %69 ], [ 4, %68 ], [ 6, %67 ], [ 4, %66 ], [ 4, %65 ], [ 2, %64 ], [ %.sroa.17.0100, %63 ], [ %.sroa.17.0100, %62 ], [ %.sroa.17.0100, %61 ], [ %.sroa.17.0100, %60 ], [ %.sroa.17.0100, %59 ], [ %.sroa.17.0100, %58 ], [ %.sroa.17.0100, %57 ], [ %.sroa.17.0100, %56 ], [ %.sroa.17.0100, %95 ]
  %.sroa.3246.1 = phi i32 [ %.sroa.3246.0101, %53 ], [ %.sroa.3246.0101, %164 ], [ %.sroa.3246.0101, %163 ], [ %.sroa.3246.0101, %162 ], [ %.sroa.3246.0101, %161 ], [ %.sroa.3246.0101, %160 ], [ %.sroa.3246.0101, %159 ], [ %.sroa.3246.0101, %158 ], [ %.sroa.3246.0101, %157 ], [ %.sroa.3246.0101, %156 ], [ %.sroa.3246.0101, %155 ], [ %.sroa.3246.0101, %154 ], [ %.sroa.3246.0101, %153 ], [ %.sroa.3246.0101, %152 ], [ %.sroa.3246.0101, %151 ], [ %.sroa.3246.0101, %150 ], [ %.sroa.3246.0101, %149 ], [ %.sroa.3246.0101, %148 ], [ %.sroa.3246.0101, %147 ], [ %.sroa.3246.0101, %146 ], [ %.sroa.3246.0101, %145 ], [ %.sroa.3246.0101, %144 ], [ %.sroa.3246.0101, %143 ], [ %.sroa.3246.0101, %142 ], [ %.sroa.3246.0101, %141 ], [ %.sroa.3246.0101, %140 ], [ %.sroa.3246.0101, %139 ], [ %.sroa.3246.0101, %138 ], [ %.sroa.3246.0101, %137 ], [ %.sroa.3246.0101, %136 ], [ %.sroa.3246.0101, %135 ], [ %.sroa.3246.0101, %134 ], [ %.sroa.3246.0101, %133 ], [ %.sroa.3246.0101, %132 ], [ %.sroa.3246.0101, %131 ], [ %.sroa.3246.0101, %130 ], [ %.sroa.3246.0101, %129 ], [ %.sroa.3246.0101, %128 ], [ %.sroa.3246.0101, %127 ], [ %.sroa.3246.0101, %126 ], [ %.sroa.3246.0101, %125 ], [ %.sroa.3246.0101, %124 ], [ %.sroa.3246.0101, %123 ], [ %.sroa.3246.0101, %122 ], [ %.sroa.3246.0101, %121 ], [ %.sroa.3246.0101, %120 ], [ %.sroa.3246.0101, %119 ], [ 64, %118 ], [ 64, %117 ], [ 64, %116 ], [ %.sroa.3246.0101, %115 ], [ 64, %114 ], [ %.sroa.3246.0101, %113 ], [ %.sroa.3246.0101, %112 ], [ %.sroa.3246.0101, %111 ], [ %.sroa.3246.0101, %110 ], [ %.sroa.3246.0101, %109 ], [ %.sroa.3246.0101, %108 ], [ %.sroa.3246.0101, %107 ], [ %.sroa.3246.0101, %106 ], [ %.sroa.3246.0101, %105 ], [ %.sroa.3246.0101, %104 ], [ %.sroa.3246.0101, %103 ], [ %.sroa.3246.0101, %102 ], [ %.sroa.3246.0101, %101 ], [ %.sroa.3246.0101, %100 ], [ %.sroa.3246.0101, %99 ], [ %.sroa.3246.0101, %98 ], [ %.sroa.3246.0101, %91 ], [ %.sroa.3246.0101, %90 ], [ %.sroa.3246.0101, %89 ], [ %.sroa.3246.0101, %88 ], [ %.sroa.3246.0101, %87 ], [ %.sroa.3246.0101, %86 ], [ %.sroa.3246.0101, %85 ], [ %.sroa.3246.0101, %84 ], [ %.sroa.3246.0101, %83 ], [ %.sroa.3246.0101, %82 ], [ %.sroa.3246.0101, %81 ], [ %.sroa.3246.0101, %80 ], [ %.sroa.3246.0101, %79 ], [ %.sroa.3246.0101, %78 ], [ %.sroa.3246.0101, %77 ], [ 64, %76 ], [ %.sroa.3246.0101, %75 ], [ %.sroa.3246.0101, %74 ], [ %.sroa.3246.0101, %73 ], [ %.sroa.3246.0101, %72 ], [ %.sroa.3246.0101, %71 ], [ %.sroa.3246.0101, %70 ], [ %.sroa.3246.0101, %69 ], [ 32, %68 ], [ 64, %67 ], [ 64, %66 ], [ 32, %65 ], [ 32, %64 ], [ %.sroa.3246.0101, %63 ], [ %.sroa.3246.0101, %62 ], [ %.sroa.3246.0101, %61 ], [ %.sroa.3246.0101, %60 ], [ %.sroa.3246.0101, %59 ], [ %.sroa.3246.0101, %58 ], [ %.sroa.3246.0101, %57 ], [ %.sroa.3246.0101, %56 ], [ %.sroa.3246.0101, %95 ]
  %.sroa.047.1 = phi i32 [ %.sroa.047.0102, %53 ], [ %.sroa.047.0102, %164 ], [ %.sroa.047.0102, %163 ], [ %.sroa.047.0102, %162 ], [ %.sroa.047.0102, %161 ], [ %.sroa.047.0102, %160 ], [ %.sroa.047.0102, %159 ], [ %.sroa.047.0102, %158 ], [ %.sroa.047.0102, %157 ], [ %.sroa.047.0102, %156 ], [ %.sroa.047.0102, %155 ], [ %.sroa.047.0102, %154 ], [ %.sroa.047.0102, %153 ], [ %.sroa.047.0102, %152 ], [ %.sroa.047.0102, %151 ], [ %.sroa.047.0102, %150 ], [ %.sroa.047.0102, %149 ], [ %.sroa.047.0102, %148 ], [ %.sroa.047.0102, %147 ], [ %.sroa.047.0102, %146 ], [ %.sroa.047.0102, %145 ], [ %.sroa.047.0102, %144 ], [ %.sroa.047.0102, %143 ], [ %.sroa.047.0102, %142 ], [ %.sroa.047.0102, %141 ], [ %.sroa.047.0102, %140 ], [ %.sroa.047.0102, %139 ], [ %.sroa.047.0102, %138 ], [ %.sroa.047.0102, %137 ], [ %.sroa.047.0102, %136 ], [ %.sroa.047.0102, %135 ], [ %.sroa.047.0102, %134 ], [ %.sroa.047.0102, %133 ], [ %.sroa.047.0102, %132 ], [ %.sroa.047.0102, %131 ], [ %.sroa.047.0102, %130 ], [ %.sroa.047.0102, %129 ], [ %.sroa.047.0102, %128 ], [ %.sroa.047.0102, %127 ], [ %.sroa.047.0102, %126 ], [ %.sroa.047.0102, %125 ], [ 16, %124 ], [ %.sroa.047.0102, %123 ], [ 64, %122 ], [ 32, %121 ], [ 16, %120 ], [ 12, %119 ], [ %.sroa.047.0102, %118 ], [ %.sroa.047.0102, %117 ], [ %.sroa.047.0102, %116 ], [ %.sroa.047.0102, %115 ], [ %.sroa.047.0102, %114 ], [ %.sroa.047.0102, %113 ], [ %.sroa.047.0102, %112 ], [ %.sroa.047.0102, %111 ], [ %.sroa.047.0102, %110 ], [ %.sroa.047.0102, %109 ], [ %.sroa.047.0102, %108 ], [ %.sroa.047.0102, %107 ], [ %.sroa.047.0102, %106 ], [ %.sroa.047.0102, %105 ], [ %.sroa.047.0102, %104 ], [ %.sroa.047.0102, %103 ], [ %.sroa.047.0102, %102 ], [ %.sroa.047.0102, %101 ], [ %.sroa.047.0102, %100 ], [ %.sroa.047.0102, %99 ], [ %.sroa.047.0102, %98 ], [ %.sroa.047.0102, %91 ], [ %.sroa.047.0102, %90 ], [ %.sroa.047.0102, %89 ], [ %.sroa.047.0102, %88 ], [ %.sroa.047.0102, %87 ], [ %.sroa.047.0102, %86 ], [ %.sroa.047.0102, %85 ], [ %.sroa.047.0102, %84 ], [ %.sroa.047.0102, %83 ], [ %.sroa.047.0102, %82 ], [ %.sroa.047.0102, %81 ], [ %.sroa.047.0102, %80 ], [ %.sroa.047.0102, %79 ], [ %.sroa.047.0102, %78 ], [ 32, %77 ], [ %.sroa.047.0102, %76 ], [ %.sroa.047.0102, %75 ], [ %.sroa.047.0102, %74 ], [ %.sroa.047.0102, %73 ], [ %.sroa.047.0102, %72 ], [ %.sroa.047.0102, %71 ], [ %.sroa.047.0102, %70 ], [ 16, %69 ], [ %.sroa.047.0102, %68 ], [ %.sroa.047.0102, %67 ], [ %.sroa.047.0102, %66 ], [ %.sroa.047.0102, %65 ], [ %.sroa.047.0102, %64 ], [ 32, %63 ], [ 16, %62 ], [ 8, %61 ], [ %.sroa.047.0102, %60 ], [ %.sroa.047.0102, %59 ], [ %.sroa.047.0102, %58 ], [ %.sroa.047.0102, %57 ], [ %.sroa.047.0102, %56 ], [ %.sroa.047.0102, %95 ]
  %.sroa.1748.1 = phi i32 [ %.sroa.1748.0103, %53 ], [ %.sroa.1748.0103, %164 ], [ %.sroa.1748.0103, %163 ], [ %.sroa.1748.0103, %162 ], [ %.sroa.1748.0103, %161 ], [ %.sroa.1748.0103, %160 ], [ %.sroa.1748.0103, %159 ], [ %.sroa.1748.0103, %158 ], [ %.sroa.1748.0103, %157 ], [ %.sroa.1748.0103, %156 ], [ %.sroa.1748.0103, %155 ], [ %.sroa.1748.0103, %154 ], [ %.sroa.1748.0103, %153 ], [ %.sroa.1748.0103, %152 ], [ %.sroa.1748.0103, %151 ], [ %.sroa.1748.0103, %150 ], [ %.sroa.1748.0103, %149 ], [ %.sroa.1748.0103, %148 ], [ %.sroa.1748.0103, %147 ], [ %.sroa.1748.0103, %146 ], [ %.sroa.1748.0103, %145 ], [ %.sroa.1748.0103, %144 ], [ %.sroa.1748.0103, %143 ], [ %.sroa.1748.0103, %142 ], [ %.sroa.1748.0103, %141 ], [ %.sroa.1748.0103, %140 ], [ %.sroa.1748.0103, %139 ], [ %.sroa.1748.0103, %138 ], [ %.sroa.1748.0103, %137 ], [ %.sroa.1748.0103, %136 ], [ %.sroa.1748.0103, %135 ], [ %.sroa.1748.0103, %134 ], [ %.sroa.1748.0103, %133 ], [ %.sroa.1748.0103, %132 ], [ %.sroa.1748.0103, %131 ], [ %.sroa.1748.0103, %130 ], [ %.sroa.1748.0103, %129 ], [ %.sroa.1748.0103, %128 ], [ %.sroa.1748.0103, %127 ], [ %.sroa.1748.0103, %126 ], [ %.sroa.1748.0103, %125 ], [ 4, %124 ], [ %.sroa.1748.0103, %123 ], [ 8, %122 ], [ 8, %121 ], [ 8, %120 ], [ 8, %119 ], [ %.sroa.1748.0103, %118 ], [ %.sroa.1748.0103, %117 ], [ %.sroa.1748.0103, %116 ], [ %.sroa.1748.0103, %115 ], [ %.sroa.1748.0103, %114 ], [ %.sroa.1748.0103, %113 ], [ %.sroa.1748.0103, %112 ], [ %.sroa.1748.0103, %111 ], [ %.sroa.1748.0103, %110 ], [ %.sroa.1748.0103, %109 ], [ %.sroa.1748.0103, %108 ], [ %.sroa.1748.0103, %107 ], [ %.sroa.1748.0103, %106 ], [ %.sroa.1748.0103, %105 ], [ %.sroa.1748.0103, %104 ], [ %.sroa.1748.0103, %103 ], [ %.sroa.1748.0103, %102 ], [ %.sroa.1748.0103, %101 ], [ %.sroa.1748.0103, %100 ], [ %.sroa.1748.0103, %99 ], [ %.sroa.1748.0103, %98 ], [ %.sroa.1748.0103, %91 ], [ %.sroa.1748.0103, %90 ], [ %.sroa.1748.0103, %89 ], [ %.sroa.1748.0103, %88 ], [ %.sroa.1748.0103, %87 ], [ %.sroa.1748.0103, %86 ], [ %.sroa.1748.0103, %85 ], [ %.sroa.1748.0103, %84 ], [ %.sroa.1748.0103, %83 ], [ %.sroa.1748.0103, %82 ], [ %.sroa.1748.0103, %81 ], [ %.sroa.1748.0103, %80 ], [ %.sroa.1748.0103, %79 ], [ %.sroa.1748.0103, %78 ], [ 8, %77 ], [ %.sroa.1748.0103, %76 ], [ %.sroa.1748.0103, %75 ], [ %.sroa.1748.0103, %74 ], [ %.sroa.1748.0103, %73 ], [ %.sroa.1748.0103, %72 ], [ %.sroa.1748.0103, %71 ], [ %.sroa.1748.0103, %70 ], [ 4, %69 ], [ %.sroa.1748.0103, %68 ], [ %.sroa.1748.0103, %67 ], [ %.sroa.1748.0103, %66 ], [ %.sroa.1748.0103, %65 ], [ %.sroa.1748.0103, %64 ], [ 4, %63 ], [ 4, %62 ], [ 4, %61 ], [ %.sroa.1748.0103, %60 ], [ %.sroa.1748.0103, %59 ], [ %.sroa.1748.0103, %58 ], [ %.sroa.1748.0103, %57 ], [ %.sroa.1748.0103, %56 ], [ %.sroa.1748.0103, %95 ]
  %.sroa.3249.1 = phi i32 [ %.sroa.3249.0104, %53 ], [ %.sroa.3249.0104, %164 ], [ %.sroa.3249.0104, %163 ], [ %.sroa.3249.0104, %162 ], [ %.sroa.3249.0104, %161 ], [ %.sroa.3249.0104, %160 ], [ %.sroa.3249.0104, %159 ], [ %.sroa.3249.0104, %158 ], [ %.sroa.3249.0104, %157 ], [ %.sroa.3249.0104, %156 ], [ %.sroa.3249.0104, %155 ], [ %.sroa.3249.0104, %154 ], [ %.sroa.3249.0104, %153 ], [ %.sroa.3249.0104, %152 ], [ %.sroa.3249.0104, %151 ], [ %.sroa.3249.0104, %150 ], [ %.sroa.3249.0104, %149 ], [ %.sroa.3249.0104, %148 ], [ %.sroa.3249.0104, %147 ], [ %.sroa.3249.0104, %146 ], [ %.sroa.3249.0104, %145 ], [ %.sroa.3249.0104, %144 ], [ %.sroa.3249.0104, %143 ], [ %.sroa.3249.0104, %142 ], [ %.sroa.3249.0104, %141 ], [ %.sroa.3249.0104, %140 ], [ %.sroa.3249.0104, %139 ], [ %.sroa.3249.0104, %138 ], [ %.sroa.3249.0104, %137 ], [ %.sroa.3249.0104, %136 ], [ %.sroa.3249.0104, %135 ], [ %.sroa.3249.0104, %134 ], [ %.sroa.3249.0104, %133 ], [ %.sroa.3249.0104, %132 ], [ %.sroa.3249.0104, %131 ], [ %.sroa.3249.0104, %130 ], [ %.sroa.3249.0104, %129 ], [ %.sroa.3249.0104, %128 ], [ %.sroa.3249.0104, %127 ], [ %.sroa.3249.0104, %126 ], [ %.sroa.3249.0104, %125 ], [ 64, %124 ], [ %.sroa.3249.0104, %123 ], [ %.sroa.3249.0104, %122 ], [ %.sroa.3249.0104, %121 ], [ %.sroa.3249.0104, %120 ], [ %.sroa.3249.0104, %119 ], [ %.sroa.3249.0104, %118 ], [ %.sroa.3249.0104, %117 ], [ %.sroa.3249.0104, %116 ], [ %.sroa.3249.0104, %115 ], [ %.sroa.3249.0104, %114 ], [ %.sroa.3249.0104, %113 ], [ %.sroa.3249.0104, %112 ], [ %.sroa.3249.0104, %111 ], [ %.sroa.3249.0104, %110 ], [ %.sroa.3249.0104, %109 ], [ %.sroa.3249.0104, %108 ], [ %.sroa.3249.0104, %107 ], [ %.sroa.3249.0104, %106 ], [ %.sroa.3249.0104, %105 ], [ %.sroa.3249.0104, %104 ], [ %.sroa.3249.0104, %103 ], [ %.sroa.3249.0104, %102 ], [ %.sroa.3249.0104, %101 ], [ %.sroa.3249.0104, %100 ], [ %.sroa.3249.0104, %99 ], [ %.sroa.3249.0104, %98 ], [ %.sroa.3249.0104, %91 ], [ %.sroa.3249.0104, %90 ], [ %.sroa.3249.0104, %89 ], [ %.sroa.3249.0104, %88 ], [ %.sroa.3249.0104, %87 ], [ %.sroa.3249.0104, %86 ], [ %.sroa.3249.0104, %85 ], [ %.sroa.3249.0104, %84 ], [ %.sroa.3249.0104, %83 ], [ %.sroa.3249.0104, %82 ], [ %.sroa.3249.0104, %81 ], [ %.sroa.3249.0104, %80 ], [ %.sroa.3249.0104, %79 ], [ %.sroa.3249.0104, %78 ], [ 64, %77 ], [ %.sroa.3249.0104, %76 ], [ %.sroa.3249.0104, %75 ], [ %.sroa.3249.0104, %74 ], [ %.sroa.3249.0104, %73 ], [ %.sroa.3249.0104, %72 ], [ %.sroa.3249.0104, %71 ], [ %.sroa.3249.0104, %70 ], [ 32, %69 ], [ %.sroa.3249.0104, %68 ], [ %.sroa.3249.0104, %67 ], [ %.sroa.3249.0104, %66 ], [ %.sroa.3249.0104, %65 ], [ %.sroa.3249.0104, %64 ], [ 64, %63 ], [ 32, %62 ], [ 32, %61 ], [ %.sroa.3249.0104, %60 ], [ %.sroa.3249.0104, %59 ], [ %.sroa.3249.0104, %58 ], [ %.sroa.3249.0104, %57 ], [ %.sroa.3249.0104, %56 ], [ %.sroa.3249.0104, %95 ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 15
  br i1 %exitcond.not, label %.loopexit76, label %53, !llvm.loop !9

.loopexit76:                                      ; preds = %165, %2
  %.sroa.1436.2 = phi i32 [ 0, %2 ], [ %.sroa.1436.1, %165 ]
  %.sroa.035.2 = phi i32 [ 0, %2 ], [ %.sroa.035.1, %165 ]
  %.sroa.2737.2 = phi i32 [ 0, %2 ], [ %.sroa.2737.1, %165 ]
  %.sroa.27.2 = phi i32 [ 0, %2 ], [ %.sroa.27.1, %165 ]
  %.sroa.1434.2 = phi i32 [ 0, %2 ], [ %.sroa.1434.1, %165 ]
  %.sroa.033.2 = phi i32 [ 0, %2 ], [ %.sroa.033.1, %165 ]
  %.sroa.32.2 = phi i32 [ 0, %2 ], [ %.sroa.32.1, %165 ]
  %.sroa.23.2 = phi i32 [ 0, %2 ], [ %.sroa.23.1, %165 ]
  %.sroa.12.2 = phi i32 [ 0, %2 ], [ %.sroa.12.1, %165 ]
  %.sroa.032.2 = phi i32 [ 0, %2 ], [ %.sroa.032.1, %165 ]
  %.sroa.35.2 = phi i32 [ 0, %2 ], [ %.sroa.35.1, %165 ]
  %.sroa.25.2 = phi i32 [ 0, %2 ], [ %.sroa.25.1, %165 ]
  %.sroa.13.2 = phi i32 [ 0, %2 ], [ %.sroa.13.1, %165 ]
  %.sroa.031.2 = phi i32 [ 0, %2 ], [ %.sroa.031.1, %165 ]
  %.sroa.039.2 = phi i32 [ 0, %2 ], [ %.sroa.039.1, %165 ]
  %.sroa.3240.2 = phi i32 [ 0, %2 ], [ %.sroa.3240.1, %165 ]
  %.sroa.1126.2 = phi i32 [ 0, %2 ], [ %.sroa.1126.1, %165 ]
  %.sroa.025.2 = phi i32 [ 0, %2 ], [ %.sroa.025.1, %165 ]
  %.sroa.62.2 = phi i32 [ 0, %2 ], [ %.sroa.62.1, %165 ]
  %.sroa.041.2 = phi i32 [ 0, %2 ], [ %.sroa.041.1, %165 ]
  %.sroa.39.2 = phi i32 [ 0, %2 ], [ %.sroa.39.1, %165 ]
  %.sroa.82.2 = phi i32 [ 0, %2 ], [ %.sroa.82.1, %165 ]
  %.sroa.045.2 = phi i32 [ 0, %2 ], [ %.sroa.045.1, %165 ]
  %.sroa.17.2 = phi i32 [ 0, %2 ], [ %.sroa.17.1, %165 ]
  %.sroa.3246.2 = phi i32 [ 0, %2 ], [ %.sroa.3246.1, %165 ]
  %.sroa.047.2 = phi i32 [ 0, %2 ], [ %.sroa.047.1, %165 ]
  %.sroa.1748.2 = phi i32 [ 0, %2 ], [ %.sroa.1748.1, %165 ]
  %.sroa.3249.2 = phi i32 [ 0, %2 ], [ %.sroa.3249.1, %165 ]
  %166 = call i32 @get_vendor()
  %167 = icmp eq i32 %166, 1
  br i1 %167, label %168, label %335

168:                                              ; preds = %.loopexit76
  %169 = icmp slt i32 %.sroa.045.2, 1
  %170 = icmp slt i32 %.sroa.047.2, 1
  %or.cond = select i1 %169, i1 true, i1 %170
  br i1 %or.cond, label %.preheader.preheader, label %.loopexit

.preheader.preheader:                             ; preds = %168
  call void @cpuid_count(i32 noundef 4, i32 noundef 0, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %171 = load i32, ptr %3, align 4, !tbaa !5
  %172 = and i32 %171, 31
  switch i32 %172, label %.preheader.1 [
    i32 2, label %191
    i32 1, label %173
    i32 3, label %173
  ]

173:                                              ; preds = %.preheader.preheader, %.preheader.preheader
  %174 = and i32 %171, 224
  %cond1 = icmp eq i32 %174, 32
  br i1 %cond1, label %175, label %.preheader.1

175:                                              ; preds = %173
  %176 = load i32, ptr %5, align 4, !tbaa !5
  %177 = add nsw i32 %176, 1
  %178 = load i32, ptr %4, align 4, !tbaa !5
  %179 = and i32 %178, 4095
  %180 = add nuw nsw i32 %179, 1
  %181 = lshr i32 %178, 12
  %182 = and i32 %181, 1023
  %183 = add nuw nsw i32 %182, 1
  %184 = ashr i32 %178, 22
  store i32 %184, ptr %4, align 4, !tbaa !5
  %185 = lshr i32 %178, 22
  %186 = add nuw nsw i32 %185, 1
  %187 = mul i32 %186, %177
  %188 = mul i32 %187, %180
  %189 = mul i32 %188, %183
  %190 = sdiv i32 %189, 1024
  br label %.preheader.1

191:                                              ; preds = %.preheader.preheader
  %192 = and i32 %171, 224
  %cond = icmp eq i32 %192, 32
  br i1 %cond, label %193, label %.preheader.1

193:                                              ; preds = %191
  %194 = load i32, ptr %5, align 4, !tbaa !5
  %195 = add nsw i32 %194, 1
  %196 = load i32, ptr %4, align 4, !tbaa !5
  %197 = and i32 %196, 4095
  %198 = add nuw nsw i32 %197, 1
  %199 = lshr i32 %196, 12
  %200 = and i32 %199, 1023
  %201 = add nuw nsw i32 %200, 1
  %202 = ashr i32 %196, 22
  store i32 %202, ptr %4, align 4, !tbaa !5
  %203 = lshr i32 %196, 22
  %204 = add nuw nsw i32 %203, 1
  %205 = mul i32 %204, %195
  %206 = mul i32 %205, %198
  %207 = mul i32 %206, %201
  %208 = sdiv i32 %207, 1024
  br label %.preheader.1

.preheader.1:                                     ; preds = %173, %175, %191, %193, %.preheader.preheader
  %.sroa.045.4 = phi i32 [ %.sroa.045.2, %.preheader.preheader ], [ %190, %175 ], [ %.sroa.045.2, %173 ], [ %.sroa.045.2, %193 ], [ %.sroa.045.2, %191 ]
  %.sroa.17.4 = phi i32 [ %.sroa.17.2, %.preheader.preheader ], [ %186, %175 ], [ %.sroa.17.2, %173 ], [ %.sroa.17.2, %193 ], [ %.sroa.17.2, %191 ]
  %.sroa.3246.4 = phi i32 [ %.sroa.3246.2, %.preheader.preheader ], [ %180, %175 ], [ %.sroa.3246.2, %173 ], [ %.sroa.3246.2, %193 ], [ %.sroa.3246.2, %191 ]
  %.sroa.047.4 = phi i32 [ %.sroa.047.2, %.preheader.preheader ], [ %.sroa.047.2, %175 ], [ %.sroa.047.2, %173 ], [ %208, %193 ], [ %.sroa.047.2, %191 ]
  %.sroa.1748.4 = phi i32 [ %.sroa.1748.2, %.preheader.preheader ], [ %.sroa.1748.2, %175 ], [ %.sroa.1748.2, %173 ], [ %204, %193 ], [ %.sroa.1748.2, %191 ]
  %.sroa.3249.4 = phi i32 [ %.sroa.3249.2, %.preheader.preheader ], [ %.sroa.3249.2, %175 ], [ %.sroa.3249.2, %173 ], [ %198, %193 ], [ %.sroa.3249.2, %191 ]
  call void @cpuid_count(i32 noundef 4, i32 noundef 1, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %209 = load i32, ptr %3, align 4, !tbaa !5
  %210 = and i32 %209, 31
  switch i32 %210, label %.preheader.2 [
    i32 2, label %229
    i32 1, label %211
    i32 3, label %211
  ]

211:                                              ; preds = %.preheader.1, %.preheader.1
  %212 = and i32 %209, 224
  %cond1.1 = icmp eq i32 %212, 32
  br i1 %cond1.1, label %213, label %.preheader.2

213:                                              ; preds = %211
  %214 = load i32, ptr %5, align 4, !tbaa !5
  %215 = add nsw i32 %214, 1
  %216 = load i32, ptr %4, align 4, !tbaa !5
  %217 = and i32 %216, 4095
  %218 = add nuw nsw i32 %217, 1
  %219 = lshr i32 %216, 12
  %220 = and i32 %219, 1023
  %221 = add nuw nsw i32 %220, 1
  %222 = ashr i32 %216, 22
  store i32 %222, ptr %4, align 4, !tbaa !5
  %223 = lshr i32 %216, 22
  %224 = add nuw nsw i32 %223, 1
  %225 = mul i32 %224, %215
  %226 = mul i32 %225, %218
  %227 = mul i32 %226, %221
  %228 = sdiv i32 %227, 1024
  br label %.preheader.2

229:                                              ; preds = %.preheader.1
  %230 = and i32 %209, 224
  %cond.1 = icmp eq i32 %230, 32
  br i1 %cond.1, label %231, label %.preheader.2

231:                                              ; preds = %229
  %232 = load i32, ptr %5, align 4, !tbaa !5
  %233 = add nsw i32 %232, 1
  %234 = load i32, ptr %4, align 4, !tbaa !5
  %235 = and i32 %234, 4095
  %236 = add nuw nsw i32 %235, 1
  %237 = lshr i32 %234, 12
  %238 = and i32 %237, 1023
  %239 = add nuw nsw i32 %238, 1
  %240 = ashr i32 %234, 22
  store i32 %240, ptr %4, align 4, !tbaa !5
  %241 = lshr i32 %234, 22
  %242 = add nuw nsw i32 %241, 1
  %243 = mul i32 %242, %233
  %244 = mul i32 %243, %236
  %245 = mul i32 %244, %239
  %246 = sdiv i32 %245, 1024
  br label %.preheader.2

.preheader.2:                                     ; preds = %231, %229, %213, %211, %.preheader.1
  %.sroa.045.4.1 = phi i32 [ %.sroa.045.4, %.preheader.1 ], [ %228, %213 ], [ %.sroa.045.4, %211 ], [ %.sroa.045.4, %231 ], [ %.sroa.045.4, %229 ]
  %.sroa.17.4.1 = phi i32 [ %.sroa.17.4, %.preheader.1 ], [ %224, %213 ], [ %.sroa.17.4, %211 ], [ %.sroa.17.4, %231 ], [ %.sroa.17.4, %229 ]
  %.sroa.3246.4.1 = phi i32 [ %.sroa.3246.4, %.preheader.1 ], [ %218, %213 ], [ %.sroa.3246.4, %211 ], [ %.sroa.3246.4, %231 ], [ %.sroa.3246.4, %229 ]
  %.sroa.047.4.1 = phi i32 [ %.sroa.047.4, %.preheader.1 ], [ %.sroa.047.4, %213 ], [ %.sroa.047.4, %211 ], [ %246, %231 ], [ %.sroa.047.4, %229 ]
  %.sroa.1748.4.1 = phi i32 [ %.sroa.1748.4, %.preheader.1 ], [ %.sroa.1748.4, %213 ], [ %.sroa.1748.4, %211 ], [ %242, %231 ], [ %.sroa.1748.4, %229 ]
  %.sroa.3249.4.1 = phi i32 [ %.sroa.3249.4, %.preheader.1 ], [ %.sroa.3249.4, %213 ], [ %.sroa.3249.4, %211 ], [ %236, %231 ], [ %.sroa.3249.4, %229 ]
  call void @cpuid_count(i32 noundef 4, i32 noundef 2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %247 = load i32, ptr %3, align 4, !tbaa !5
  %248 = and i32 %247, 31
  switch i32 %248, label %.preheader.3 [
    i32 2, label %267
    i32 1, label %249
    i32 3, label %249
  ]

249:                                              ; preds = %.preheader.2, %.preheader.2
  %250 = and i32 %247, 224
  %cond1.2 = icmp eq i32 %250, 32
  br i1 %cond1.2, label %251, label %.preheader.3

251:                                              ; preds = %249
  %252 = load i32, ptr %5, align 4, !tbaa !5
  %253 = add nsw i32 %252, 1
  %254 = load i32, ptr %4, align 4, !tbaa !5
  %255 = and i32 %254, 4095
  %256 = add nuw nsw i32 %255, 1
  %257 = lshr i32 %254, 12
  %258 = and i32 %257, 1023
  %259 = add nuw nsw i32 %258, 1
  %260 = ashr i32 %254, 22
  store i32 %260, ptr %4, align 4, !tbaa !5
  %261 = lshr i32 %254, 22
  %262 = add nuw nsw i32 %261, 1
  %263 = mul i32 %262, %253
  %264 = mul i32 %263, %256
  %265 = mul i32 %264, %259
  %266 = sdiv i32 %265, 1024
  br label %.preheader.3

267:                                              ; preds = %.preheader.2
  %268 = and i32 %247, 224
  %cond.2 = icmp eq i32 %268, 32
  br i1 %cond.2, label %269, label %.preheader.3

269:                                              ; preds = %267
  %270 = load i32, ptr %5, align 4, !tbaa !5
  %271 = add nsw i32 %270, 1
  %272 = load i32, ptr %4, align 4, !tbaa !5
  %273 = and i32 %272, 4095
  %274 = add nuw nsw i32 %273, 1
  %275 = lshr i32 %272, 12
  %276 = and i32 %275, 1023
  %277 = add nuw nsw i32 %276, 1
  %278 = ashr i32 %272, 22
  store i32 %278, ptr %4, align 4, !tbaa !5
  %279 = lshr i32 %272, 22
  %280 = add nuw nsw i32 %279, 1
  %281 = mul i32 %280, %271
  %282 = mul i32 %281, %274
  %283 = mul i32 %282, %277
  %284 = sdiv i32 %283, 1024
  br label %.preheader.3

.preheader.3:                                     ; preds = %269, %267, %251, %249, %.preheader.2
  %.sroa.045.4.2 = phi i32 [ %.sroa.045.4.1, %.preheader.2 ], [ %266, %251 ], [ %.sroa.045.4.1, %249 ], [ %.sroa.045.4.1, %269 ], [ %.sroa.045.4.1, %267 ]
  %.sroa.17.4.2 = phi i32 [ %.sroa.17.4.1, %.preheader.2 ], [ %262, %251 ], [ %.sroa.17.4.1, %249 ], [ %.sroa.17.4.1, %269 ], [ %.sroa.17.4.1, %267 ]
  %.sroa.3246.4.2 = phi i32 [ %.sroa.3246.4.1, %.preheader.2 ], [ %256, %251 ], [ %.sroa.3246.4.1, %249 ], [ %.sroa.3246.4.1, %269 ], [ %.sroa.3246.4.1, %267 ]
  %.sroa.047.4.2 = phi i32 [ %.sroa.047.4.1, %.preheader.2 ], [ %.sroa.047.4.1, %251 ], [ %.sroa.047.4.1, %249 ], [ %284, %269 ], [ %.sroa.047.4.1, %267 ]
  %.sroa.1748.4.2 = phi i32 [ %.sroa.1748.4.1, %.preheader.2 ], [ %.sroa.1748.4.1, %251 ], [ %.sroa.1748.4.1, %249 ], [ %280, %269 ], [ %.sroa.1748.4.1, %267 ]
  %.sroa.3249.4.2 = phi i32 [ %.sroa.3249.4.1, %.preheader.2 ], [ %.sroa.3249.4.1, %251 ], [ %.sroa.3249.4.1, %249 ], [ %274, %269 ], [ %.sroa.3249.4.1, %267 ]
  call void @cpuid_count(i32 noundef 4, i32 noundef 3, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %285 = load i32, ptr %3, align 4, !tbaa !5
  %286 = and i32 %285, 31
  switch i32 %286, label %.loopexit [
    i32 2, label %305
    i32 1, label %287
    i32 3, label %287
  ]

287:                                              ; preds = %.preheader.3, %.preheader.3
  %288 = and i32 %285, 224
  %cond1.3 = icmp eq i32 %288, 32
  br i1 %cond1.3, label %289, label %.loopexit

289:                                              ; preds = %287
  %290 = load i32, ptr %5, align 4, !tbaa !5
  %291 = add nsw i32 %290, 1
  %292 = load i32, ptr %4, align 4, !tbaa !5
  %293 = and i32 %292, 4095
  %294 = add nuw nsw i32 %293, 1
  %295 = lshr i32 %292, 12
  %296 = and i32 %295, 1023
  %297 = add nuw nsw i32 %296, 1
  %298 = ashr i32 %292, 22
  store i32 %298, ptr %4, align 4, !tbaa !5
  %299 = lshr i32 %292, 22
  %300 = add nuw nsw i32 %299, 1
  %301 = mul i32 %300, %291
  %302 = mul i32 %301, %294
  %303 = mul i32 %302, %297
  %304 = sdiv i32 %303, 1024
  br label %.loopexit

305:                                              ; preds = %.preheader.3
  %306 = and i32 %285, 224
  %cond.3 = icmp eq i32 %306, 32
  br i1 %cond.3, label %307, label %.loopexit

307:                                              ; preds = %305
  %308 = load i32, ptr %5, align 4, !tbaa !5
  %309 = add nsw i32 %308, 1
  %310 = load i32, ptr %4, align 4, !tbaa !5
  %311 = and i32 %310, 4095
  %312 = add nuw nsw i32 %311, 1
  %313 = lshr i32 %310, 12
  %314 = and i32 %313, 1023
  %315 = add nuw nsw i32 %314, 1
  %316 = ashr i32 %310, 22
  store i32 %316, ptr %4, align 4, !tbaa !5
  %317 = lshr i32 %310, 22
  %318 = add nuw nsw i32 %317, 1
  %319 = mul i32 %318, %309
  %320 = mul i32 %319, %312
  %321 = mul i32 %320, %315
  %322 = sdiv i32 %321, 1024
  br label %.loopexit

.loopexit:                                        ; preds = %.preheader.3, %287, %289, %305, %307, %168
  %.sroa.045.5 = phi i32 [ %.sroa.045.2, %168 ], [ %.sroa.045.4.2, %.preheader.3 ], [ %304, %289 ], [ %.sroa.045.4.2, %287 ], [ %.sroa.045.4.2, %307 ], [ %.sroa.045.4.2, %305 ]
  %.sroa.17.5 = phi i32 [ %.sroa.17.2, %168 ], [ %.sroa.17.4.2, %.preheader.3 ], [ %300, %289 ], [ %.sroa.17.4.2, %287 ], [ %.sroa.17.4.2, %307 ], [ %.sroa.17.4.2, %305 ]
  %.sroa.3246.5 = phi i32 [ %.sroa.3246.2, %168 ], [ %.sroa.3246.4.2, %.preheader.3 ], [ %294, %289 ], [ %.sroa.3246.4.2, %287 ], [ %.sroa.3246.4.2, %307 ], [ %.sroa.3246.4.2, %305 ]
  %.sroa.047.5 = phi i32 [ %.sroa.047.2, %168 ], [ %.sroa.047.4.2, %.preheader.3 ], [ %.sroa.047.4.2, %289 ], [ %.sroa.047.4.2, %287 ], [ %322, %307 ], [ %.sroa.047.4.2, %305 ]
  %.sroa.1748.5 = phi i32 [ %.sroa.1748.2, %168 ], [ %.sroa.1748.4.2, %.preheader.3 ], [ %.sroa.1748.4.2, %289 ], [ %.sroa.1748.4.2, %287 ], [ %318, %307 ], [ %.sroa.1748.4.2, %305 ]
  %.sroa.3249.5 = phi i32 [ %.sroa.3249.2, %168 ], [ %.sroa.3249.4.2, %.preheader.3 ], [ %.sroa.3249.4.2, %289 ], [ %.sroa.3249.4.2, %287 ], [ %312, %307 ], [ %.sroa.3249.4.2, %305 ]
  call void @cpuid(i32 noundef -2147483648, ptr noundef nonnull %7, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %323 = load i32, ptr %7, align 4, !tbaa !5
  %324 = icmp ugt i32 %323, -2147483643
  %325 = icmp slt i32 %.sroa.041.2, 1
  %or.cond6 = select i1 %324, i1 %325, i1 false
  br i1 %or.cond6, label %326, label %335

326:                                              ; preds = %.loopexit
  call void @cpuid(i32 noundef -2147483642, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %327 = load i32, ptr %5, align 4, !tbaa !5
  %328 = lshr i32 %327, 16
  %329 = lshr i32 %327, 12
  %330 = and i32 %329, 15
  switch i32 %330, label %333 [
    i32 6, label %331
    i32 8, label %332
  ]

331:                                              ; preds = %326
  br label %333

332:                                              ; preds = %326
  br label %333

333:                                              ; preds = %332, %331, %326
  %.sroa.39.3 = phi i32 [ %330, %326 ], [ 16, %332 ], [ 8, %331 ]
  %334 = and i32 %327, 255
  br label %335

335:                                              ; preds = %.loopexit, %333, %.loopexit76
  %.sroa.041.3 = phi i32 [ %328, %333 ], [ %.sroa.041.2, %.loopexit ], [ %.sroa.041.2, %.loopexit76 ]
  %.sroa.39.4 = phi i32 [ %.sroa.39.3, %333 ], [ %.sroa.39.2, %.loopexit ], [ %.sroa.39.2, %.loopexit76 ]
  %.sroa.82.3 = phi i32 [ %334, %333 ], [ %.sroa.82.2, %.loopexit ], [ %.sroa.82.2, %.loopexit76 ]
  %.sroa.045.6 = phi i32 [ %.sroa.045.5, %333 ], [ %.sroa.045.5, %.loopexit ], [ %.sroa.045.2, %.loopexit76 ]
  %.sroa.17.6 = phi i32 [ %.sroa.17.5, %333 ], [ %.sroa.17.5, %.loopexit ], [ %.sroa.17.2, %.loopexit76 ]
  %.sroa.3246.6 = phi i32 [ %.sroa.3246.5, %333 ], [ %.sroa.3246.5, %.loopexit ], [ %.sroa.3246.2, %.loopexit76 ]
  %.sroa.047.6 = phi i32 [ %.sroa.047.5, %333 ], [ %.sroa.047.5, %.loopexit ], [ %.sroa.047.2, %.loopexit76 ]
  %.sroa.1748.6 = phi i32 [ %.sroa.1748.5, %333 ], [ %.sroa.1748.5, %.loopexit ], [ %.sroa.1748.2, %.loopexit76 ]
  %.sroa.3249.6 = phi i32 [ %.sroa.3249.5, %333 ], [ %.sroa.3249.5, %.loopexit ], [ %.sroa.3249.2, %.loopexit76 ]
  %336 = call i32 @get_vendor()
  %337 = icmp eq i32 %336, 3
  br i1 %337, label %347, label %338

338:                                              ; preds = %335
  %339 = call i32 @get_vendor()
  %340 = icmp eq i32 %339, 11
  br i1 %340, label %347, label %341

341:                                              ; preds = %338
  %342 = call i32 @get_vendor()
  %343 = icmp eq i32 %342, 6
  br i1 %343, label %347, label %344

344:                                              ; preds = %341
  %345 = call i32 @get_vendor()
  %346 = icmp eq i32 %345, 12
  br i1 %346, label %347, label %407

347:                                              ; preds = %344, %341, %338, %335
  call void @cpuid(i32 noundef -2147483643, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %348 = load i32, ptr %3, align 4, !tbaa !5
  %349 = lshr i32 %348, 24
  %350 = icmp eq i32 %349, 255
  %spec.select = select i1 %350, i32 0, i32 %349
  %351 = lshr i32 %348, 16
  %352 = and i32 %351, 255
  %353 = lshr i32 %348, 8
  %354 = and i32 %353, 255
  %355 = icmp eq i32 %354, 255
  %.sroa.12.3 = select i1 %355, i32 0, i32 %354
  %356 = and i32 %348, 255
  %357 = load i32, ptr %4, align 4, !tbaa !5
  %358 = lshr i32 %357, 24
  %359 = icmp eq i32 %358, 255
  %.sroa.1434.3 = select i1 %359, i32 0, i32 %358
  %360 = lshr i32 %357, 16
  %361 = and i32 %360, 255
  %362 = lshr i32 %357, 8
  %363 = and i32 %362, 255
  %364 = icmp eq i32 %363, 255
  %.sroa.1436.3 = select i1 %364, i32 0, i32 %363
  %365 = and i32 %357, 255
  %366 = load i32, ptr %5, align 4, !tbaa !5
  %367 = lshr i32 %366, 24
  %368 = lshr i32 %366, 16
  %369 = and i32 %368, 255
  %370 = icmp eq i32 %369, 255
  %.sroa.17.7 = select i1 %370, i32 0, i32 %369
  %371 = and i32 %366, 255
  call void @cpuid(i32 noundef -2147483642, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %5, ptr noundef nonnull %6)
  %372 = load i32, ptr %3, align 4, !tbaa !5
  %373 = lshr i32 %372, 24
  %374 = icmp eq i32 %373, 255
  %.sroa.5.0 = select i1 %374, i32 0, i32 %373
  %375 = lshr i32 %372, 16
  %376 = and i32 %375, 255
  %377 = lshr i32 %372, 8
  %378 = and i32 %377, 255
  %379 = icmp eq i32 %378, 255
  %.sroa.522.0 = select i1 %379, i32 0, i32 %378
  %380 = and i32 %372, 255
  %381 = load i32, ptr %4, align 4, !tbaa !5
  %382 = lshr i32 %381, 24
  %383 = icmp eq i32 %382, 255
  %.sroa.6.3 = select i1 %383, i32 0, i32 %382
  %384 = lshr i32 %381, 16
  %385 = and i32 %384, 255
  %386 = lshr i32 %381, 8
  %387 = and i32 %386, 255
  %388 = icmp eq i32 %387, 255
  %.sroa.528.0 = select i1 %388, i32 0, i32 %387
  %389 = and i32 %381, 255
  %390 = icmp slt i32 %.sroa.041.3, 1
  br i1 %390, label %391, label %400

391:                                              ; preds = %347
  %392 = load i32, ptr %5, align 4, !tbaa !5
  %393 = lshr i32 %392, 16
  %394 = lshr i32 %392, 12
  %395 = and i32 %394, 15
  switch i32 %395, label %398 [
    i32 6, label %396
    i32 8, label %397
  ]

396:                                              ; preds = %391
  br label %398

397:                                              ; preds = %391
  br label %398

398:                                              ; preds = %391, %396, %397
  %.sroa.39.5 = phi i32 [ %395, %391 ], [ 16, %397 ], [ 8, %396 ]
  %399 = and i32 %392, 255
  br label %400

400:                                              ; preds = %347, %398
  %.sroa.041.4 = phi i32 [ %393, %398 ], [ %.sroa.041.3, %347 ]
  %.sroa.39.7 = phi i32 [ %.sroa.39.5, %398 ], [ %.sroa.39.4, %347 ]
  %.sroa.82.4 = phi i32 [ %399, %398 ], [ %.sroa.82.3, %347 ]
  %401 = load i32, ptr %6, align 4, !tbaa !5
  %402 = lshr i32 %401, 12
  %403 = and i32 %402, 15
  %404 = lshr i32 %401, 9
  %405 = and i32 %404, 8388096
  %406 = and i32 %401, 255
  br label %407

407:                                              ; preds = %400, %344
  %.sroa.1436.4 = phi i32 [ %.sroa.1436.3, %400 ], [ %.sroa.1436.2, %344 ]
  %.sroa.035.3 = phi i32 [ 4, %400 ], [ %.sroa.035.2, %344 ]
  %.sroa.2737.3 = phi i32 [ %365, %400 ], [ %.sroa.2737.2, %344 ]
  %.sroa.27.3 = phi i32 [ %361, %400 ], [ %.sroa.27.2, %344 ]
  %.sroa.1434.4 = phi i32 [ %.sroa.1434.3, %400 ], [ %.sroa.1434.2, %344 ]
  %.sroa.033.3 = phi i32 [ 4, %400 ], [ %.sroa.033.2, %344 ]
  %.sroa.23.3 = phi i32 [ %356, %400 ], [ %.sroa.23.2, %344 ]
  %.sroa.12.4 = phi i32 [ %.sroa.12.3, %400 ], [ %.sroa.12.2, %344 ]
  %.sroa.032.3 = phi i32 [ 4096, %400 ], [ %.sroa.032.2, %344 ]
  %.sroa.25.3 = phi i32 [ %352, %400 ], [ %.sroa.25.2, %344 ]
  %.sroa.13.4 = phi i32 [ %spec.select, %400 ], [ %.sroa.13.2, %344 ]
  %.sroa.031.3 = phi i32 [ 4096, %400 ], [ %.sroa.031.2, %344 ]
  %.sroa.039.3 = phi i32 [ %405, %400 ], [ %.sroa.039.2, %344 ]
  %.sroa.929.0 = phi i32 [ %389, %400 ], [ 0, %344 ]
  %.sroa.528.1 = phi i32 [ %.sroa.528.0, %400 ], [ 0, %344 ]
  %.sroa.027.0 = phi i32 [ 4, %400 ], [ 0, %344 ]
  %.sroa.3240.3 = phi i32 [ %403, %400 ], [ %.sroa.3240.2, %344 ]
  %.sroa.1126.3 = phi i32 [ %385, %400 ], [ %.sroa.1126.2, %344 ]
  %.sroa.6.4 = phi i32 [ %.sroa.6.3, %400 ], [ 0, %344 ]
  %.sroa.025.3 = phi i32 [ 4, %400 ], [ %.sroa.025.2, %344 ]
  %.sroa.62.3 = phi i32 [ %406, %400 ], [ %.sroa.62.2, %344 ]
  %.sroa.923.0 = phi i32 [ %380, %400 ], [ 0, %344 ]
  %.sroa.522.1 = phi i32 [ %.sroa.522.0, %400 ], [ 0, %344 ]
  %.sroa.041.5 = phi i32 [ %.sroa.041.4, %400 ], [ %.sroa.041.3, %344 ]
  %.sroa.9.0 = phi i32 [ %376, %400 ], [ 0, %344 ]
  %.sroa.5.1 = phi i32 [ %.sroa.5.0, %400 ], [ 0, %344 ]
  %.sroa.0.0 = phi i32 [ 4096, %400 ], [ 0, %344 ]
  %.sroa.39.9 = phi i32 [ %.sroa.39.7, %400 ], [ %.sroa.39.4, %344 ]
  %.sroa.82.5 = phi i32 [ %.sroa.82.4, %400 ], [ %.sroa.82.3, %344 ]
  %.sroa.045.7 = phi i32 [ %367, %400 ], [ %.sroa.045.6, %344 ]
  %.sroa.17.8 = phi i32 [ %.sroa.17.7, %400 ], [ %.sroa.17.6, %344 ]
  %.sroa.3246.7 = phi i32 [ %371, %400 ], [ %.sroa.3246.6, %344 ]
  %.sroa.047.7 = phi i32 [ %367, %400 ], [ %.sroa.047.6, %344 ]
  %.sroa.1748.8 = phi i32 [ %.sroa.17.7, %400 ], [ %.sroa.1748.6, %344 ]
  %.sroa.3249.7 = phi i32 [ %371, %400 ], [ %.sroa.3249.6, %344 ]
  switch i32 %0, label %419 [
    i32 1, label %.sink.split
    i32 2, label %408
    i32 3, label %409
    i32 4, label %410
    i32 6, label %411
    i32 5, label %412
    i32 8, label %413
    i32 7, label %414
    i32 10, label %415
    i32 9, label %416
    i32 12, label %417
    i32 11, label %418
  ]

408:                                              ; preds = %407
  br label %.sink.split

409:                                              ; preds = %407
  br label %.sink.split

410:                                              ; preds = %407
  br label %.sink.split

411:                                              ; preds = %407
  br label %.sink.split

412:                                              ; preds = %407
  br label %.sink.split

413:                                              ; preds = %407
  br label %.sink.split

414:                                              ; preds = %407
  br label %.sink.split

415:                                              ; preds = %407
  br label %.sink.split

416:                                              ; preds = %407
  br label %.sink.split

417:                                              ; preds = %407
  br label %.sink.split

418:                                              ; preds = %407
  br label %.sink.split

.sink.split:                                      ; preds = %407, %408, %409, %410, %411, %412, %413, %414, %415, %416, %417, %418
  %.sroa.0.0.sink = phi i32 [ %.sroa.0.0, %418 ], [ %.sroa.0.0, %417 ], [ %.sroa.027.0, %416 ], [ %.sroa.025.3, %415 ], [ %.sroa.032.3, %414 ], [ %.sroa.031.3, %413 ], [ %.sroa.035.3, %412 ], [ %.sroa.033.3, %411 ], [ %.sroa.039.3, %410 ], [ %.sroa.041.5, %409 ], [ %.sroa.045.7, %408 ], [ %.sroa.047.7, %407 ]
  %.sroa.522.1.sink = phi i32 [ %.sroa.522.1, %418 ], [ %.sroa.5.1, %417 ], [ %.sroa.528.1, %416 ], [ %.sroa.6.4, %415 ], [ %.sroa.12.4, %414 ], [ %.sroa.13.4, %413 ], [ %.sroa.1436.4, %412 ], [ %.sroa.1434.4, %411 ], [ %.sroa.3240.3, %410 ], [ %.sroa.39.9, %409 ], [ %.sroa.17.8, %408 ], [ %.sroa.1748.8, %407 ]
  %.sroa.923.0.sink = phi i32 [ %.sroa.923.0, %418 ], [ %.sroa.9.0, %417 ], [ %.sroa.929.0, %416 ], [ %.sroa.1126.3, %415 ], [ %.sroa.23.3, %414 ], [ %.sroa.25.3, %413 ], [ %.sroa.2737.3, %412 ], [ %.sroa.27.3, %411 ], [ %.sroa.62.3, %410 ], [ %.sroa.82.5, %409 ], [ %.sroa.3246.7, %408 ], [ %.sroa.3249.7, %407 ]
  %.sink = phi i32 [ 0, %418 ], [ 0, %417 ], [ 0, %416 ], [ 0, %415 ], [ %.sroa.32.2, %414 ], [ %.sroa.35.2, %413 ], [ 0, %412 ], [ 0, %411 ], [ 0, %410 ], [ 0, %409 ], [ 0, %408 ], [ 0, %407 ]
  store i32 %.sroa.0.0.sink, ptr %1, align 4, !tbaa !5
  %.sroa.522.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 4
  store i32 %.sroa.522.1.sink, ptr %.sroa.522.0..sroa_idx, align 4, !tbaa !5
  %.sroa.923.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 8
  store i32 %.sroa.923.0.sink, ptr %.sroa.923.0..sroa_idx, align 4, !tbaa !5
  %.sroa.1124.0..sroa_idx = getelementptr inbounds i8, ptr %1, i64 12
  store i32 %.sink, ptr %.sroa.1124.0..sroa_idx, align 4, !tbaa !5
  br label %419

419:                                              ; preds = %.sink.split, %407
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %8) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #3
  ret i32 0
}

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass