; LLVM IR from DanEngelbrecht/longtail :: test/test.ll/ZN49Longtail_Longtail_GetExistingStoreIndex (TestCase8TestBodyEv)

; 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.Longtail_StoredBlock = type { ptr, ptr, ptr, i32 }
%struct.jc_test_fixture = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %struct.jc_test_stats, i32, i32, i32, i32 }
%struct.jc_test_stats = type { i32, i32, i32, i32, i64 }
%struct.stbds_array_header = type { i64, i64, ptr, i64 }
%struct.Longtail_BlockIndex = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.Longtail_StoreIndex = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.Longtail_HashAPI = type { %struct.Longtail_API, ptr, ptr, ptr, ptr, ptr }
%struct.Longtail_API = type { ptr }

@.str.3 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [173 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [180 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [180 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [174 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [25 x i8], align 1

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef ptr @_ZL19jc_test_get_fixturev() #1

declare void @_Z28jc_test_increment_assertionsv() #2

declare void @_Z21jc_test_set_test_faili(i32 noundef) #2

declare void @Longtail_Free(ptr noundef) #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef, ptr noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) #3 align 2

declare void @Longtail_DisposeAPI(ptr noundef) #2

declare ptr @Longtail_CreateBlake3HashAPI() #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIijEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef, ptr noundef) #3 align 2

declare i32 @Longtail_CreateStoreIndexFromBlocks(i32 noundef, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef) #3 align 2

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

36:                                               ; preds = %60, %1
  %37 = load i8, ptr %7, align 1, !tbaa !9
  %38 = zext i8 %37 to i32
  %39 = icmp slt i32 %38, 6
  br i1 %39, label %41, label %40

40:                                               ; preds = %36
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #5
  br label %63

41:                                               ; preds = %36
  %42 = load ptr, ptr %3, align 8, !tbaa !5
  %43 = load i8, ptr %7, align 1, !tbaa !9
  %44 = zext i8 %43 to i32
  %45 = mul nsw i32 %44, 6
  %46 = trunc i32 %45 to i8
  %47 = call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %42, i8 noundef zeroext %46, i32 noundef 5, i32 noundef 32)
  %48 = load i8, ptr %7, align 1, !tbaa !9
  %49 = zext i8 %48 to i64
  %50 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 %49
  store ptr %47, ptr %50, align 8, !tbaa !5
  %51 = load i8, ptr %7, align 1, !tbaa !9
  %52 = zext i8 %51 to i64
  %53 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 %52
  %54 = load ptr, ptr %53, align 8, !tbaa !5
  %55 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %54, i32 0, i32 1
  %56 = load ptr, ptr %55, align 8, !tbaa !10
  %57 = load i8, ptr %7, align 1, !tbaa !9
  %58 = zext i8 %57 to i64
  %59 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 %58
  store ptr %56, ptr %59, align 8, !tbaa !5
  br label %60

60:                                               ; preds = %41
  %61 = load i8, ptr %7, align 1, !tbaa !9
  %62 = add i8 %61, 1
  store i8 %62, ptr %7, align 1, !tbaa !9
  br label %36, !llvm.loop !13

63:                                               ; preds = %40
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #5
  br label %64

64:                                               ; preds = %63
  %65 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %66 = getelementptr inbounds %struct.jc_test_fixture, ptr %65, i32 0, i32 11
  %67 = load i32, ptr %66, align 8
  %68 = and i32 %67, -16776961
  %69 = or i32 %68, 286720
  store i32 %69, ptr %66, align 8
  %70 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %71 = getelementptr inbounds %struct.jc_test_fixture, ptr %70, i32 0, i32 4
  store ptr @.str.3, ptr %71, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  store i32 0, ptr %9, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #5
  %72 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 0
  %73 = call i32 @Longtail_CreateStoreIndexFromBlocks(i32 noundef 6, ptr noundef %72, ptr noundef %8)
  store i32 %73, ptr %10, align 4, !tbaa !19
  %74 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef @.str.46, ptr noundef @.str.215, ptr noundef null)
  %75 = icmp eq i32 %74, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  br i1 %75, label %76, label %77

76:                                               ; preds = %64
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1251

77:                                               ; preds = %64
  br label %78

78:                                               ; preds = %77
  br label %79

79:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #5
  store ptr null, ptr %12, align 8, !tbaa !5
  %80 = load ptr, ptr %12, align 8, !tbaa !5
  %81 = icmp ne ptr %80, null
  br i1 %81, label %82, label %93

82:                                               ; preds = %79
  %83 = load ptr, ptr %12, align 8, !tbaa !5
  %84 = getelementptr inbounds %struct.stbds_array_header, ptr %83, i64 -1
  %85 = getelementptr inbounds %struct.stbds_array_header, ptr %84, i32 0, i32 0
  %86 = load i64, ptr %85, align 8, !tbaa !20
  %87 = add i64 %86, 1
  %88 = load ptr, ptr %12, align 8, !tbaa !5
  %89 = getelementptr inbounds %struct.stbds_array_header, ptr %88, i64 -1
  %90 = getelementptr inbounds %struct.stbds_array_header, ptr %89, i32 0, i32 1
  %91 = load i64, ptr %90, align 8, !tbaa !22
  %92 = icmp ugt i64 %87, %91
  br i1 %92, label %93, label %96

93:                                               ; preds = %82, %79
  %94 = load ptr, ptr %12, align 8, !tbaa !5
  %95 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %94, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %95, ptr %12, align 8, !tbaa !5
  br label %97

96:                                               ; preds = %82
  br label %97

97:                                               ; preds = %96, %93
  %98 = phi i32 [ 0, %93 ], [ 0, %96 ]
  %99 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 0
  %100 = load ptr, ptr %99, align 16, !tbaa !5
  %101 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %100, i32 0, i32 1
  %102 = load ptr, ptr %101, align 8, !tbaa !10
  %103 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %102, i32 0, i32 4
  %104 = load ptr, ptr %103, align 8, !tbaa !23
  %105 = getelementptr inbounds i64, ptr %104, i64 0
  %106 = load i64, ptr %105, align 8, !tbaa !25
  %107 = load ptr, ptr %12, align 8, !tbaa !5
  %108 = load ptr, ptr %12, align 8, !tbaa !5
  %109 = getelementptr inbounds %struct.stbds_array_header, ptr %108, i64 -1
  %110 = getelementptr inbounds %struct.stbds_array_header, ptr %109, i32 0, i32 0
  %111 = load i64, ptr %110, align 8, !tbaa !20
  %112 = add i64 %111, 1
  store i64 %112, ptr %110, align 8, !tbaa !20
  %113 = getelementptr inbounds i64, ptr %107, i64 %111
  store i64 %106, ptr %113, align 8, !tbaa !25
  %114 = load ptr, ptr %12, align 8, !tbaa !5
  %115 = icmp ne ptr %114, null
  br i1 %115, label %116, label %127

116:                                              ; preds = %97
  %117 = load ptr, ptr %12, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.stbds_array_header, ptr %117, i64 -1
  %119 = getelementptr inbounds %struct.stbds_array_header, ptr %118, i32 0, i32 0
  %120 = load i64, ptr %119, align 8, !tbaa !20
  %121 = add i64 %120, 1
  %122 = load ptr, ptr %12, align 8, !tbaa !5
  %123 = getelementptr inbounds %struct.stbds_array_header, ptr %122, i64 -1
  %124 = getelementptr inbounds %struct.stbds_array_header, ptr %123, i32 0, i32 1
  %125 = load i64, ptr %124, align 8, !tbaa !22
  %126 = icmp ugt i64 %121, %125
  br i1 %126, label %127, label %130

127:                                              ; preds = %116, %97
  %128 = load ptr, ptr %12, align 8, !tbaa !5
  %129 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %128, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %129, ptr %12, align 8, !tbaa !5
  br label %131

130:                                              ; preds = %116
  br label %131

131:                                              ; preds = %130, %127
  %132 = phi i32 [ 0, %127 ], [ 0, %130 ]
  %133 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 1
  %134 = load ptr, ptr %133, align 8, !tbaa !5
  %135 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %134, i32 0, i32 1
  %136 = load ptr, ptr %135, align 8, !tbaa !10
  %137 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %136, i32 0, i32 4
  %138 = load ptr, ptr %137, align 8, !tbaa !23
  %139 = getelementptr inbounds i64, ptr %138, i64 0
  %140 = load i64, ptr %139, align 8, !tbaa !25
  %141 = load ptr, ptr %12, align 8, !tbaa !5
  %142 = load ptr, ptr %12, align 8, !tbaa !5
  %143 = getelementptr inbounds %struct.stbds_array_header, ptr %142, i64 -1
  %144 = getelementptr inbounds %struct.stbds_array_header, ptr %143, i32 0, i32 0
  %145 = load i64, ptr %144, align 8, !tbaa !20
  %146 = add i64 %145, 1
  store i64 %146, ptr %144, align 8, !tbaa !20
  %147 = getelementptr inbounds i64, ptr %141, i64 %145
  store i64 %140, ptr %147, align 8, !tbaa !25
  %148 = load ptr, ptr %12, align 8, !tbaa !5
  %149 = icmp ne ptr %148, null
  br i1 %149, label %150, label %161

150:                                              ; preds = %131
  %151 = load ptr, ptr %12, align 8, !tbaa !5
  %152 = getelementptr inbounds %struct.stbds_array_header, ptr %151, i64 -1
  %153 = getelementptr inbounds %struct.stbds_array_header, ptr %152, i32 0, i32 0
  %154 = load i64, ptr %153, align 8, !tbaa !20
  %155 = add i64 %154, 1
  %156 = load ptr, ptr %12, align 8, !tbaa !5
  %157 = getelementptr inbounds %struct.stbds_array_header, ptr %156, i64 -1
  %158 = getelementptr inbounds %struct.stbds_array_header, ptr %157, i32 0, i32 1
  %159 = load i64, ptr %158, align 8, !tbaa !22
  %160 = icmp ugt i64 %155, %159
  br i1 %160, label %161, label %164

161:                                              ; preds = %150, %131
  %162 = load ptr, ptr %12, align 8, !tbaa !5
  %163 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %162, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %163, ptr %12, align 8, !tbaa !5
  br label %165

164:                                              ; preds = %150
  br label %165

165:                                              ; preds = %164, %161
  %166 = phi i32 [ 0, %161 ], [ 0, %164 ]
  %167 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 1
  %168 = load ptr, ptr %167, align 8, !tbaa !5
  %169 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %168, i32 0, i32 1
  %170 = load ptr, ptr %169, align 8, !tbaa !10
  %171 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %170, i32 0, i32 4
  %172 = load ptr, ptr %171, align 8, !tbaa !23
  %173 = getelementptr inbounds i64, ptr %172, i64 1
  %174 = load i64, ptr %173, align 8, !tbaa !25
  %175 = load ptr, ptr %12, align 8, !tbaa !5
  %176 = load ptr, ptr %12, align 8, !tbaa !5
  %177 = getelementptr inbounds %struct.stbds_array_header, ptr %176, i64 -1
  %178 = getelementptr inbounds %struct.stbds_array_header, ptr %177, i32 0, i32 0
  %179 = load i64, ptr %178, align 8, !tbaa !20
  %180 = add i64 %179, 1
  store i64 %180, ptr %178, align 8, !tbaa !20
  %181 = getelementptr inbounds i64, ptr %175, i64 %179
  store i64 %174, ptr %181, align 8, !tbaa !25
  %182 = load ptr, ptr %12, align 8, !tbaa !5
  %183 = icmp ne ptr %182, null
  br i1 %183, label %184, label %195

184:                                              ; preds = %165
  %185 = load ptr, ptr %12, align 8, !tbaa !5
  %186 = getelementptr inbounds %struct.stbds_array_header, ptr %185, i64 -1
  %187 = getelementptr inbounds %struct.stbds_array_header, ptr %186, i32 0, i32 0
  %188 = load i64, ptr %187, align 8, !tbaa !20
  %189 = add i64 %188, 1
  %190 = load ptr, ptr %12, align 8, !tbaa !5
  %191 = getelementptr inbounds %struct.stbds_array_header, ptr %190, i64 -1
  %192 = getelementptr inbounds %struct.stbds_array_header, ptr %191, i32 0, i32 1
  %193 = load i64, ptr %192, align 8, !tbaa !22
  %194 = icmp ugt i64 %189, %193
  br i1 %194, label %195, label %198

195:                                              ; preds = %184, %165
  %196 = load ptr, ptr %12, align 8, !tbaa !5
  %197 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %196, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %197, ptr %12, align 8, !tbaa !5
  br label %199

198:                                              ; preds = %184
  br label %199

199:                                              ; preds = %198, %195
  %200 = phi i32 [ 0, %195 ], [ 0, %198 ]
  %201 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 2
  %202 = load ptr, ptr %201, align 16, !tbaa !5
  %203 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %202, i32 0, i32 1
  %204 = load ptr, ptr %203, align 8, !tbaa !10
  %205 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %204, i32 0, i32 4
  %206 = load ptr, ptr %205, align 8, !tbaa !23
  %207 = getelementptr inbounds i64, ptr %206, i64 0
  %208 = load i64, ptr %207, align 8, !tbaa !25
  %209 = load ptr, ptr %12, align 8, !tbaa !5
  %210 = load ptr, ptr %12, align 8, !tbaa !5
  %211 = getelementptr inbounds %struct.stbds_array_header, ptr %210, i64 -1
  %212 = getelementptr inbounds %struct.stbds_array_header, ptr %211, i32 0, i32 0
  %213 = load i64, ptr %212, align 8, !tbaa !20
  %214 = add i64 %213, 1
  store i64 %214, ptr %212, align 8, !tbaa !20
  %215 = getelementptr inbounds i64, ptr %209, i64 %213
  store i64 %208, ptr %215, align 8, !tbaa !25
  %216 = load ptr, ptr %12, align 8, !tbaa !5
  %217 = icmp ne ptr %216, null
  br i1 %217, label %218, label %229

218:                                              ; preds = %199
  %219 = load ptr, ptr %12, align 8, !tbaa !5
  %220 = getelementptr inbounds %struct.stbds_array_header, ptr %219, i64 -1
  %221 = getelementptr inbounds %struct.stbds_array_header, ptr %220, i32 0, i32 0
  %222 = load i64, ptr %221, align 8, !tbaa !20
  %223 = add i64 %222, 1
  %224 = load ptr, ptr %12, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.stbds_array_header, ptr %224, i64 -1
  %226 = getelementptr inbounds %struct.stbds_array_header, ptr %225, i32 0, i32 1
  %227 = load i64, ptr %226, align 8, !tbaa !22
  %228 = icmp ugt i64 %223, %227
  br i1 %228, label %229, label %232

229:                                              ; preds = %218, %199
  %230 = load ptr, ptr %12, align 8, !tbaa !5
  %231 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %230, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %231, ptr %12, align 8, !tbaa !5
  br label %233

232:                                              ; preds = %218
  br label %233

233:                                              ; preds = %232, %229
  %234 = phi i32 [ 0, %229 ], [ 0, %232 ]
  %235 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 2
  %236 = load ptr, ptr %235, align 16, !tbaa !5
  %237 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %236, i32 0, i32 1
  %238 = load ptr, ptr %237, align 8, !tbaa !10
  %239 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %238, i32 0, i32 4
  %240 = load ptr, ptr %239, align 8, !tbaa !23
  %241 = getelementptr inbounds i64, ptr %240, i64 1
  %242 = load i64, ptr %241, align 8, !tbaa !25
  %243 = load ptr, ptr %12, align 8, !tbaa !5
  %244 = load ptr, ptr %12, align 8, !tbaa !5
  %245 = getelementptr inbounds %struct.stbds_array_header, ptr %244, i64 -1
  %246 = getelementptr inbounds %struct.stbds_array_header, ptr %245, i32 0, i32 0
  %247 = load i64, ptr %246, align 8, !tbaa !20
  %248 = add i64 %247, 1
  store i64 %248, ptr %246, align 8, !tbaa !20
  %249 = getelementptr inbounds i64, ptr %243, i64 %247
  store i64 %242, ptr %249, align 8, !tbaa !25
  %250 = load ptr, ptr %12, align 8, !tbaa !5
  %251 = icmp ne ptr %250, null
  br i1 %251, label %252, label %263

252:                                              ; preds = %233
  %253 = load ptr, ptr %12, align 8, !tbaa !5
  %254 = getelementptr inbounds %struct.stbds_array_header, ptr %253, i64 -1
  %255 = getelementptr inbounds %struct.stbds_array_header, ptr %254, i32 0, i32 0
  %256 = load i64, ptr %255, align 8, !tbaa !20
  %257 = add i64 %256, 1
  %258 = load ptr, ptr %12, align 8, !tbaa !5
  %259 = getelementptr inbounds %struct.stbds_array_header, ptr %258, i64 -1
  %260 = getelementptr inbounds %struct.stbds_array_header, ptr %259, i32 0, i32 1
  %261 = load i64, ptr %260, align 8, !tbaa !22
  %262 = icmp ugt i64 %257, %261
  br i1 %262, label %263, label %266

263:                                              ; preds = %252, %233
  %264 = load ptr, ptr %12, align 8, !tbaa !5
  %265 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %264, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %265, ptr %12, align 8, !tbaa !5
  br label %267

266:                                              ; preds = %252
  br label %267

267:                                              ; preds = %266, %263
  %268 = phi i32 [ 0, %263 ], [ 0, %266 ]
  %269 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 2
  %270 = load ptr, ptr %269, align 16, !tbaa !5
  %271 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %270, i32 0, i32 1
  %272 = load ptr, ptr %271, align 8, !tbaa !10
  %273 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %272, i32 0, i32 4
  %274 = load ptr, ptr %273, align 8, !tbaa !23
  %275 = getelementptr inbounds i64, ptr %274, i64 2
  %276 = load i64, ptr %275, align 8, !tbaa !25
  %277 = load ptr, ptr %12, align 8, !tbaa !5
  %278 = load ptr, ptr %12, align 8, !tbaa !5
  %279 = getelementptr inbounds %struct.stbds_array_header, ptr %278, i64 -1
  %280 = getelementptr inbounds %struct.stbds_array_header, ptr %279, i32 0, i32 0
  %281 = load i64, ptr %280, align 8, !tbaa !20
  %282 = add i64 %281, 1
  store i64 %282, ptr %280, align 8, !tbaa !20
  %283 = getelementptr inbounds i64, ptr %277, i64 %281
  store i64 %276, ptr %283, align 8, !tbaa !25
  %284 = load ptr, ptr %12, align 8, !tbaa !5
  %285 = icmp ne ptr %284, null
  br i1 %285, label %286, label %297

286:                                              ; preds = %267
  %287 = load ptr, ptr %12, align 8, !tbaa !5
  %288 = getelementptr inbounds %struct.stbds_array_header, ptr %287, i64 -1
  %289 = getelementptr inbounds %struct.stbds_array_header, ptr %288, i32 0, i32 0
  %290 = load i64, ptr %289, align 8, !tbaa !20
  %291 = add i64 %290, 1
  %292 = load ptr, ptr %12, align 8, !tbaa !5
  %293 = getelementptr inbounds %struct.stbds_array_header, ptr %292, i64 -1
  %294 = getelementptr inbounds %struct.stbds_array_header, ptr %293, i32 0, i32 1
  %295 = load i64, ptr %294, align 8, !tbaa !22
  %296 = icmp ugt i64 %291, %295
  br i1 %296, label %297, label %300

297:                                              ; preds = %286, %267
  %298 = load ptr, ptr %12, align 8, !tbaa !5
  %299 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %298, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %299, ptr %12, align 8, !tbaa !5
  br label %301

300:                                              ; preds = %286
  br label %301

301:                                              ; preds = %300, %297
  %302 = phi i32 [ 0, %297 ], [ 0, %300 ]
  %303 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 2
  %304 = load ptr, ptr %303, align 16, !tbaa !5
  %305 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %304, i32 0, i32 1
  %306 = load ptr, ptr %305, align 8, !tbaa !10
  %307 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %306, i32 0, i32 4
  %308 = load ptr, ptr %307, align 8, !tbaa !23
  %309 = getelementptr inbounds i64, ptr %308, i64 3
  %310 = load i64, ptr %309, align 8, !tbaa !25
  %311 = load ptr, ptr %12, align 8, !tbaa !5
  %312 = load ptr, ptr %12, align 8, !tbaa !5
  %313 = getelementptr inbounds %struct.stbds_array_header, ptr %312, i64 -1
  %314 = getelementptr inbounds %struct.stbds_array_header, ptr %313, i32 0, i32 0
  %315 = load i64, ptr %314, align 8, !tbaa !20
  %316 = add i64 %315, 1
  store i64 %316, ptr %314, align 8, !tbaa !20
  %317 = getelementptr inbounds i64, ptr %311, i64 %315
  store i64 %310, ptr %317, align 8, !tbaa !25
  %318 = load ptr, ptr %12, align 8, !tbaa !5
  %319 = icmp ne ptr %318, null
  br i1 %319, label %320, label %331

320:                                              ; preds = %301
  %321 = load ptr, ptr %12, align 8, !tbaa !5
  %322 = getelementptr inbounds %struct.stbds_array_header, ptr %321, i64 -1
  %323 = getelementptr inbounds %struct.stbds_array_header, ptr %322, i32 0, i32 0
  %324 = load i64, ptr %323, align 8, !tbaa !20
  %325 = add i64 %324, 1
  %326 = load ptr, ptr %12, align 8, !tbaa !5
  %327 = getelementptr inbounds %struct.stbds_array_header, ptr %326, i64 -1
  %328 = getelementptr inbounds %struct.stbds_array_header, ptr %327, i32 0, i32 1
  %329 = load i64, ptr %328, align 8, !tbaa !22
  %330 = icmp ugt i64 %325, %329
  br i1 %330, label %331, label %334

331:                                              ; preds = %320, %301
  %332 = load ptr, ptr %12, align 8, !tbaa !5
  %333 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %332, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %333, ptr %12, align 8, !tbaa !5
  br label %335

334:                                              ; preds = %320
  br label %335

335:                                              ; preds = %334, %331
  %336 = phi i32 [ 0, %331 ], [ 0, %334 ]
  %337 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 3
  %338 = load ptr, ptr %337, align 8, !tbaa !5
  %339 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %338, i32 0, i32 1
  %340 = load ptr, ptr %339, align 8, !tbaa !10
  %341 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %340, i32 0, i32 4
  %342 = load ptr, ptr %341, align 8, !tbaa !23
  %343 = getelementptr inbounds i64, ptr %342, i64 0
  %344 = load i64, ptr %343, align 8, !tbaa !25
  %345 = load ptr, ptr %12, align 8, !tbaa !5
  %346 = load ptr, ptr %12, align 8, !tbaa !5
  %347 = getelementptr inbounds %struct.stbds_array_header, ptr %346, i64 -1
  %348 = getelementptr inbounds %struct.stbds_array_header, ptr %347, i32 0, i32 0
  %349 = load i64, ptr %348, align 8, !tbaa !20
  %350 = add i64 %349, 1
  store i64 %350, ptr %348, align 8, !tbaa !20
  %351 = getelementptr inbounds i64, ptr %345, i64 %349
  store i64 %344, ptr %351, align 8, !tbaa !25
  %352 = load ptr, ptr %12, align 8, !tbaa !5
  %353 = icmp ne ptr %352, null
  br i1 %353, label %354, label %365

354:                                              ; preds = %335
  %355 = load ptr, ptr %12, align 8, !tbaa !5
  %356 = getelementptr inbounds %struct.stbds_array_header, ptr %355, i64 -1
  %357 = getelementptr inbounds %struct.stbds_array_header, ptr %356, i32 0, i32 0
  %358 = load i64, ptr %357, align 8, !tbaa !20
  %359 = add i64 %358, 1
  %360 = load ptr, ptr %12, align 8, !tbaa !5
  %361 = getelementptr inbounds %struct.stbds_array_header, ptr %360, i64 -1
  %362 = getelementptr inbounds %struct.stbds_array_header, ptr %361, i32 0, i32 1
  %363 = load i64, ptr %362, align 8, !tbaa !22
  %364 = icmp ugt i64 %359, %363
  br i1 %364, label %365, label %368

365:                                              ; preds = %354, %335
  %366 = load ptr, ptr %12, align 8, !tbaa !5
  %367 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %366, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %367, ptr %12, align 8, !tbaa !5
  br label %369

368:                                              ; preds = %354
  br label %369

369:                                              ; preds = %368, %365
  %370 = phi i32 [ 0, %365 ], [ 0, %368 ]
  %371 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 3
  %372 = load ptr, ptr %371, align 8, !tbaa !5
  %373 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %372, i32 0, i32 1
  %374 = load ptr, ptr %373, align 8, !tbaa !10
  %375 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %374, i32 0, i32 4
  %376 = load ptr, ptr %375, align 8, !tbaa !23
  %377 = getelementptr inbounds i64, ptr %376, i64 1
  %378 = load i64, ptr %377, align 8, !tbaa !25
  %379 = load ptr, ptr %12, align 8, !tbaa !5
  %380 = load ptr, ptr %12, align 8, !tbaa !5
  %381 = getelementptr inbounds %struct.stbds_array_header, ptr %380, i64 -1
  %382 = getelementptr inbounds %struct.stbds_array_header, ptr %381, i32 0, i32 0
  %383 = load i64, ptr %382, align 8, !tbaa !20
  %384 = add i64 %383, 1
  store i64 %384, ptr %382, align 8, !tbaa !20
  %385 = getelementptr inbounds i64, ptr %379, i64 %383
  store i64 %378, ptr %385, align 8, !tbaa !25
  %386 = load ptr, ptr %12, align 8, !tbaa !5
  %387 = icmp ne ptr %386, null
  br i1 %387, label %388, label %399

388:                                              ; preds = %369
  %389 = load ptr, ptr %12, align 8, !tbaa !5
  %390 = getelementptr inbounds %struct.stbds_array_header, ptr %389, i64 -1
  %391 = getelementptr inbounds %struct.stbds_array_header, ptr %390, i32 0, i32 0
  %392 = load i64, ptr %391, align 8, !tbaa !20
  %393 = add i64 %392, 1
  %394 = load ptr, ptr %12, align 8, !tbaa !5
  %395 = getelementptr inbounds %struct.stbds_array_header, ptr %394, i64 -1
  %396 = getelementptr inbounds %struct.stbds_array_header, ptr %395, i32 0, i32 1
  %397 = load i64, ptr %396, align 8, !tbaa !22
  %398 = icmp ugt i64 %393, %397
  br i1 %398, label %399, label %402

399:                                              ; preds = %388, %369
  %400 = load ptr, ptr %12, align 8, !tbaa !5
  %401 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %400, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %401, ptr %12, align 8, !tbaa !5
  br label %403

402:                                              ; preds = %388
  br label %403

403:                                              ; preds = %402, %399
  %404 = phi i32 [ 0, %399 ], [ 0, %402 ]
  %405 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 3
  %406 = load ptr, ptr %405, align 8, !tbaa !5
  %407 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %406, i32 0, i32 1
  %408 = load ptr, ptr %407, align 8, !tbaa !10
  %409 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %408, i32 0, i32 4
  %410 = load ptr, ptr %409, align 8, !tbaa !23
  %411 = getelementptr inbounds i64, ptr %410, i64 2
  %412 = load i64, ptr %411, align 8, !tbaa !25
  %413 = load ptr, ptr %12, align 8, !tbaa !5
  %414 = load ptr, ptr %12, align 8, !tbaa !5
  %415 = getelementptr inbounds %struct.stbds_array_header, ptr %414, i64 -1
  %416 = getelementptr inbounds %struct.stbds_array_header, ptr %415, i32 0, i32 0
  %417 = load i64, ptr %416, align 8, !tbaa !20
  %418 = add i64 %417, 1
  store i64 %418, ptr %416, align 8, !tbaa !20
  %419 = getelementptr inbounds i64, ptr %413, i64 %417
  store i64 %412, ptr %419, align 8, !tbaa !25
  %420 = load ptr, ptr %12, align 8, !tbaa !5
  %421 = icmp ne ptr %420, null
  br i1 %421, label %422, label %433

422:                                              ; preds = %403
  %423 = load ptr, ptr %12, align 8, !tbaa !5
  %424 = getelementptr inbounds %struct.stbds_array_header, ptr %423, i64 -1
  %425 = getelementptr inbounds %struct.stbds_array_header, ptr %424, i32 0, i32 0
  %426 = load i64, ptr %425, align 8, !tbaa !20
  %427 = add i64 %426, 1
  %428 = load ptr, ptr %12, align 8, !tbaa !5
  %429 = getelementptr inbounds %struct.stbds_array_header, ptr %428, i64 -1
  %430 = getelementptr inbounds %struct.stbds_array_header, ptr %429, i32 0, i32 1
  %431 = load i64, ptr %430, align 8, !tbaa !22
  %432 = icmp ugt i64 %427, %431
  br i1 %432, label %433, label %436

433:                                              ; preds = %422, %403
  %434 = load ptr, ptr %12, align 8, !tbaa !5
  %435 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %434, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %435, ptr %12, align 8, !tbaa !5
  br label %437

436:                                              ; preds = %422
  br label %437

437:                                              ; preds = %436, %433
  %438 = phi i32 [ 0, %433 ], [ 0, %436 ]
  %439 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 4
  %440 = load ptr, ptr %439, align 16, !tbaa !5
  %441 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %440, i32 0, i32 1
  %442 = load ptr, ptr %441, align 8, !tbaa !10
  %443 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %442, i32 0, i32 4
  %444 = load ptr, ptr %443, align 8, !tbaa !23
  %445 = getelementptr inbounds i64, ptr %444, i64 0
  %446 = load i64, ptr %445, align 8, !tbaa !25
  %447 = load ptr, ptr %12, align 8, !tbaa !5
  %448 = load ptr, ptr %12, align 8, !tbaa !5
  %449 = getelementptr inbounds %struct.stbds_array_header, ptr %448, i64 -1
  %450 = getelementptr inbounds %struct.stbds_array_header, ptr %449, i32 0, i32 0
  %451 = load i64, ptr %450, align 8, !tbaa !20
  %452 = add i64 %451, 1
  store i64 %452, ptr %450, align 8, !tbaa !20
  %453 = getelementptr inbounds i64, ptr %447, i64 %451
  store i64 %446, ptr %453, align 8, !tbaa !25
  %454 = load ptr, ptr %12, align 8, !tbaa !5
  %455 = icmp ne ptr %454, null
  br i1 %455, label %456, label %467

456:                                              ; preds = %437
  %457 = load ptr, ptr %12, align 8, !tbaa !5
  %458 = getelementptr inbounds %struct.stbds_array_header, ptr %457, i64 -1
  %459 = getelementptr inbounds %struct.stbds_array_header, ptr %458, i32 0, i32 0
  %460 = load i64, ptr %459, align 8, !tbaa !20
  %461 = add i64 %460, 1
  %462 = load ptr, ptr %12, align 8, !tbaa !5
  %463 = getelementptr inbounds %struct.stbds_array_header, ptr %462, i64 -1
  %464 = getelementptr inbounds %struct.stbds_array_header, ptr %463, i32 0, i32 1
  %465 = load i64, ptr %464, align 8, !tbaa !22
  %466 = icmp ugt i64 %461, %465
  br i1 %466, label %467, label %470

467:                                              ; preds = %456, %437
  %468 = load ptr, ptr %12, align 8, !tbaa !5
  %469 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %468, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %469, ptr %12, align 8, !tbaa !5
  br label %471

470:                                              ; preds = %456
  br label %471

471:                                              ; preds = %470, %467
  %472 = phi i32 [ 0, %467 ], [ 0, %470 ]
  %473 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 4
  %474 = load ptr, ptr %473, align 16, !tbaa !5
  %475 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %474, i32 0, i32 1
  %476 = load ptr, ptr %475, align 8, !tbaa !10
  %477 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %476, i32 0, i32 4
  %478 = load ptr, ptr %477, align 8, !tbaa !23
  %479 = getelementptr inbounds i64, ptr %478, i64 1
  %480 = load i64, ptr %479, align 8, !tbaa !25
  %481 = load ptr, ptr %12, align 8, !tbaa !5
  %482 = load ptr, ptr %12, align 8, !tbaa !5
  %483 = getelementptr inbounds %struct.stbds_array_header, ptr %482, i64 -1
  %484 = getelementptr inbounds %struct.stbds_array_header, ptr %483, i32 0, i32 0
  %485 = load i64, ptr %484, align 8, !tbaa !20
  %486 = add i64 %485, 1
  store i64 %486, ptr %484, align 8, !tbaa !20
  %487 = getelementptr inbounds i64, ptr %481, i64 %485
  store i64 %480, ptr %487, align 8, !tbaa !25
  %488 = load ptr, ptr %12, align 8, !tbaa !5
  %489 = icmp ne ptr %488, null
  br i1 %489, label %490, label %501

490:                                              ; preds = %471
  %491 = load ptr, ptr %12, align 8, !tbaa !5
  %492 = getelementptr inbounds %struct.stbds_array_header, ptr %491, i64 -1
  %493 = getelementptr inbounds %struct.stbds_array_header, ptr %492, i32 0, i32 0
  %494 = load i64, ptr %493, align 8, !tbaa !20
  %495 = add i64 %494, 1
  %496 = load ptr, ptr %12, align 8, !tbaa !5
  %497 = getelementptr inbounds %struct.stbds_array_header, ptr %496, i64 -1
  %498 = getelementptr inbounds %struct.stbds_array_header, ptr %497, i32 0, i32 1
  %499 = load i64, ptr %498, align 8, !tbaa !22
  %500 = icmp ugt i64 %495, %499
  br i1 %500, label %501, label %504

501:                                              ; preds = %490, %471
  %502 = load ptr, ptr %12, align 8, !tbaa !5
  %503 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %502, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %503, ptr %12, align 8, !tbaa !5
  br label %505

504:                                              ; preds = %490
  br label %505

505:                                              ; preds = %504, %501
  %506 = phi i32 [ 0, %501 ], [ 0, %504 ]
  %507 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 4
  %508 = load ptr, ptr %507, align 16, !tbaa !5
  %509 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %508, i32 0, i32 1
  %510 = load ptr, ptr %509, align 8, !tbaa !10
  %511 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %510, i32 0, i32 4
  %512 = load ptr, ptr %511, align 8, !tbaa !23
  %513 = getelementptr inbounds i64, ptr %512, i64 2
  %514 = load i64, ptr %513, align 8, !tbaa !25
  %515 = load ptr, ptr %12, align 8, !tbaa !5
  %516 = load ptr, ptr %12, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.stbds_array_header, ptr %516, i64 -1
  %518 = getelementptr inbounds %struct.stbds_array_header, ptr %517, i32 0, i32 0
  %519 = load i64, ptr %518, align 8, !tbaa !20
  %520 = add i64 %519, 1
  store i64 %520, ptr %518, align 8, !tbaa !20
  %521 = getelementptr inbounds i64, ptr %515, i64 %519
  store i64 %514, ptr %521, align 8, !tbaa !25
  %522 = load ptr, ptr %12, align 8, !tbaa !5
  %523 = icmp ne ptr %522, null
  br i1 %523, label %524, label %535

524:                                              ; preds = %505
  %525 = load ptr, ptr %12, align 8, !tbaa !5
  %526 = getelementptr inbounds %struct.stbds_array_header, ptr %525, i64 -1
  %527 = getelementptr inbounds %struct.stbds_array_header, ptr %526, i32 0, i32 0
  %528 = load i64, ptr %527, align 8, !tbaa !20
  %529 = add i64 %528, 1
  %530 = load ptr, ptr %12, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.stbds_array_header, ptr %530, i64 -1
  %532 = getelementptr inbounds %struct.stbds_array_header, ptr %531, i32 0, i32 1
  %533 = load i64, ptr %532, align 8, !tbaa !22
  %534 = icmp ugt i64 %529, %533
  br i1 %534, label %535, label %538

535:                                              ; preds = %524, %505
  %536 = load ptr, ptr %12, align 8, !tbaa !5
  %537 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %536, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %537, ptr %12, align 8, !tbaa !5
  br label %539

538:                                              ; preds = %524
  br label %539

539:                                              ; preds = %538, %535
  %540 = phi i32 [ 0, %535 ], [ 0, %538 ]
  %541 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 4
  %542 = load ptr, ptr %541, align 16, !tbaa !5
  %543 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %542, i32 0, i32 1
  %544 = load ptr, ptr %543, align 8, !tbaa !10
  %545 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %544, i32 0, i32 4
  %546 = load ptr, ptr %545, align 8, !tbaa !23
  %547 = getelementptr inbounds i64, ptr %546, i64 3
  %548 = load i64, ptr %547, align 8, !tbaa !25
  %549 = load ptr, ptr %12, align 8, !tbaa !5
  %550 = load ptr, ptr %12, align 8, !tbaa !5
  %551 = getelementptr inbounds %struct.stbds_array_header, ptr %550, i64 -1
  %552 = getelementptr inbounds %struct.stbds_array_header, ptr %551, i32 0, i32 0
  %553 = load i64, ptr %552, align 8, !tbaa !20
  %554 = add i64 %553, 1
  store i64 %554, ptr %552, align 8, !tbaa !20
  %555 = getelementptr inbounds i64, ptr %549, i64 %553
  store i64 %548, ptr %555, align 8, !tbaa !25
  %556 = load ptr, ptr %12, align 8, !tbaa !5
  %557 = icmp ne ptr %556, null
  br i1 %557, label %558, label %569

558:                                              ; preds = %539
  %559 = load ptr, ptr %12, align 8, !tbaa !5
  %560 = getelementptr inbounds %struct.stbds_array_header, ptr %559, i64 -1
  %561 = getelementptr inbounds %struct.stbds_array_header, ptr %560, i32 0, i32 0
  %562 = load i64, ptr %561, align 8, !tbaa !20
  %563 = add i64 %562, 1
  %564 = load ptr, ptr %12, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.stbds_array_header, ptr %564, i64 -1
  %566 = getelementptr inbounds %struct.stbds_array_header, ptr %565, i32 0, i32 1
  %567 = load i64, ptr %566, align 8, !tbaa !22
  %568 = icmp ugt i64 %563, %567
  br i1 %568, label %569, label %572

569:                                              ; preds = %558, %539
  %570 = load ptr, ptr %12, align 8, !tbaa !5
  %571 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %570, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %571, ptr %12, align 8, !tbaa !5
  br label %573

572:                                              ; preds = %558
  br label %573

573:                                              ; preds = %572, %569
  %574 = phi i32 [ 0, %569 ], [ 0, %572 ]
  %575 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 4
  %576 = load ptr, ptr %575, align 16, !tbaa !5
  %577 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %576, i32 0, i32 1
  %578 = load ptr, ptr %577, align 8, !tbaa !10
  %579 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %578, i32 0, i32 4
  %580 = load ptr, ptr %579, align 8, !tbaa !23
  %581 = getelementptr inbounds i64, ptr %580, i64 4
  %582 = load i64, ptr %581, align 8, !tbaa !25
  %583 = load ptr, ptr %12, align 8, !tbaa !5
  %584 = load ptr, ptr %12, align 8, !tbaa !5
  %585 = getelementptr inbounds %struct.stbds_array_header, ptr %584, i64 -1
  %586 = getelementptr inbounds %struct.stbds_array_header, ptr %585, i32 0, i32 0
  %587 = load i64, ptr %586, align 8, !tbaa !20
  %588 = add i64 %587, 1
  store i64 %588, ptr %586, align 8, !tbaa !20
  %589 = getelementptr inbounds i64, ptr %583, i64 %587
  store i64 %582, ptr %589, align 8, !tbaa !25
  %590 = load ptr, ptr %12, align 8, !tbaa !5
  %591 = icmp ne ptr %590, null
  br i1 %591, label %592, label %603

592:                                              ; preds = %573
  %593 = load ptr, ptr %12, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.stbds_array_header, ptr %593, i64 -1
  %595 = getelementptr inbounds %struct.stbds_array_header, ptr %594, i32 0, i32 0
  %596 = load i64, ptr %595, align 8, !tbaa !20
  %597 = add i64 %596, 1
  %598 = load ptr, ptr %12, align 8, !tbaa !5
  %599 = getelementptr inbounds %struct.stbds_array_header, ptr %598, i64 -1
  %600 = getelementptr inbounds %struct.stbds_array_header, ptr %599, i32 0, i32 1
  %601 = load i64, ptr %600, align 8, !tbaa !22
  %602 = icmp ugt i64 %597, %601
  br i1 %602, label %603, label %606

603:                                              ; preds = %592, %573
  %604 = load ptr, ptr %12, align 8, !tbaa !5
  %605 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %604, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %605, ptr %12, align 8, !tbaa !5
  br label %607

606:                                              ; preds = %592
  br label %607

607:                                              ; preds = %606, %603
  %608 = phi i32 [ 0, %603 ], [ 0, %606 ]
  %609 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 5
  %610 = load ptr, ptr %609, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %610, i32 0, i32 1
  %612 = load ptr, ptr %611, align 8, !tbaa !10
  %613 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %612, i32 0, i32 4
  %614 = load ptr, ptr %613, align 8, !tbaa !23
  %615 = getelementptr inbounds i64, ptr %614, i64 0
  %616 = load i64, ptr %615, align 8, !tbaa !25
  %617 = load ptr, ptr %12, align 8, !tbaa !5
  %618 = load ptr, ptr %12, align 8, !tbaa !5
  %619 = getelementptr inbounds %struct.stbds_array_header, ptr %618, i64 -1
  %620 = getelementptr inbounds %struct.stbds_array_header, ptr %619, i32 0, i32 0
  %621 = load i64, ptr %620, align 8, !tbaa !20
  %622 = add i64 %621, 1
  store i64 %622, ptr %620, align 8, !tbaa !20
  %623 = getelementptr inbounds i64, ptr %617, i64 %621
  store i64 %616, ptr %623, align 8, !tbaa !25
  %624 = load ptr, ptr %12, align 8, !tbaa !5
  %625 = icmp ne ptr %624, null
  br i1 %625, label %626, label %637

626:                                              ; preds = %607
  %627 = load ptr, ptr %12, align 8, !tbaa !5
  %628 = getelementptr inbounds %struct.stbds_array_header, ptr %627, i64 -1
  %629 = getelementptr inbounds %struct.stbds_array_header, ptr %628, i32 0, i32 0
  %630 = load i64, ptr %629, align 8, !tbaa !20
  %631 = add i64 %630, 1
  %632 = load ptr, ptr %12, align 8, !tbaa !5
  %633 = getelementptr inbounds %struct.stbds_array_header, ptr %632, i64 -1
  %634 = getelementptr inbounds %struct.stbds_array_header, ptr %633, i32 0, i32 1
  %635 = load i64, ptr %634, align 8, !tbaa !22
  %636 = icmp ugt i64 %631, %635
  br i1 %636, label %637, label %640

637:                                              ; preds = %626, %607
  %638 = load ptr, ptr %12, align 8, !tbaa !5
  %639 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef %638, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  store ptr %639, ptr %12, align 8, !tbaa !5
  br label %641

640:                                              ; preds = %626
  br label %641

641:                                              ; preds = %640, %637
  %642 = phi i32 [ 0, %637 ], [ 0, %640 ]
  %643 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 5
  %644 = load ptr, ptr %643, align 8, !tbaa !5
  %645 = getelementptr inbounds %struct.Longtail_StoredBlock, ptr %644, i32 0, i32 1
  %646 = load ptr, ptr %645, align 8, !tbaa !10
  %647 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %646, i32 0, i32 4
  %648 = load ptr, ptr %647, align 8, !tbaa !23
  %649 = getelementptr inbounds i64, ptr %648, i64 1
  %650 = load i64, ptr %649, align 8, !tbaa !25
  %651 = load ptr, ptr %12, align 8, !tbaa !5
  %652 = load ptr, ptr %12, align 8, !tbaa !5
  %653 = getelementptr inbounds %struct.stbds_array_header, ptr %652, i64 -1
  %654 = getelementptr inbounds %struct.stbds_array_header, ptr %653, i32 0, i32 0
  %655 = load i64, ptr %654, align 8, !tbaa !20
  %656 = add i64 %655, 1
  store i64 %656, ptr %654, align 8, !tbaa !20
  %657 = getelementptr inbounds i64, ptr %651, i64 %655
  store i64 %650, ptr %657, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #5
  br label %658

658:                                              ; preds = %641
  %659 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %660 = getelementptr inbounds %struct.jc_test_fixture, ptr %659, i32 0, i32 11
  %661 = load i32, ptr %660, align 8
  %662 = and i32 %661, -16776961
  %663 = or i32 %662, 295168
  store i32 %663, ptr %660, align 8
  %664 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %665 = getelementptr inbounds %struct.jc_test_fixture, ptr %664, i32 0, i32 4
  store ptr @.str.3, ptr %665, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #5
  store i32 0, ptr %14, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #5
  %666 = load ptr, ptr %8, align 8, !tbaa !5
  %667 = load ptr, ptr %12, align 8, !tbaa !5
  %668 = icmp ne ptr %667, null
  br i1 %668, label %669, label %674

669:                                              ; preds = %658
  %670 = load ptr, ptr %12, align 8, !tbaa !5
  %671 = getelementptr inbounds %struct.stbds_array_header, ptr %670, i64 -1
  %672 = getelementptr inbounds %struct.stbds_array_header, ptr %671, i32 0, i32 0
  %673 = load i64, ptr %672, align 8, !tbaa !20
  br label %675

674:                                              ; preds = %658
  br label %675

675:                                              ; preds = %674, %669
  %676 = phi i64 [ %673, %669 ], [ 0, %674 ]
  %677 = trunc i64 %676 to i32
  %678 = load ptr, ptr %12, align 8, !tbaa !5
  %679 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %666, i32 noundef %677, ptr noundef %678, i32 noundef 0, ptr noundef %13)
  store i32 %679, ptr %15, align 4, !tbaa !19
  %680 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef @.str.46, ptr noundef @.str.216, ptr noundef null)
  %681 = icmp eq i32 %680, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #5
  br i1 %681, label %682, label %683

682:                                              ; preds = %675
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

683:                                              ; preds = %675
  br label %684

684:                                              ; preds = %683
  br label %685

685:                                              ; preds = %684
  br label %686

686:                                              ; preds = %685
  %687 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %688 = getelementptr inbounds %struct.jc_test_fixture, ptr %687, i32 0, i32 11
  %689 = load i32, ptr %688, align 8
  %690 = and i32 %689, -16776961
  %691 = or i32 %690, 295424
  store i32 %691, ptr %688, align 8
  %692 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %693 = getelementptr inbounds %struct.jc_test_fixture, ptr %692, i32 0, i32 4
  store ptr @.str.3, ptr %693, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #5
  store i32 6, ptr %16, align 4, !tbaa !19
  %694 = load ptr, ptr %13, align 8, !tbaa !5
  %695 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %694, i32 0, i32 2
  %696 = load ptr, ptr %695, align 8, !tbaa !26
  %697 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %696, ptr noundef @.str.217, ptr noundef @.str.218)
  %698 = icmp eq i32 %697, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #5
  br i1 %698, label %699, label %700

699:                                              ; preds = %686
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

700:                                              ; preds = %686
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701
  br label %703

703:                                              ; preds = %702
  %704 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %705 = getelementptr inbounds %struct.jc_test_fixture, ptr %704, i32 0, i32 11
  %706 = load i32, ptr %705, align 8
  %707 = and i32 %706, -16776961
  %708 = or i32 %707, 295680
  store i32 %708, ptr %705, align 8
  %709 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %710 = getelementptr inbounds %struct.jc_test_fixture, ptr %709, i32 0, i32 4
  store ptr @.str.3, ptr %710, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %711 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 4
  %712 = load ptr, ptr %711, align 16, !tbaa !5
  %713 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %712, i32 0, i32 0
  %714 = load ptr, ptr %713, align 8, !tbaa !28
  %715 = load ptr, ptr %13, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %715, i32 0, i32 4
  %717 = load ptr, ptr %716, align 8, !tbaa !29
  %718 = getelementptr inbounds i64, ptr %717, i64 0
  %719 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %714, ptr noundef nonnull align 8 dereferenceable(8) %718, ptr noundef @.str.219, ptr noundef @.str.220)
  %720 = icmp eq i32 %719, 0
  br i1 %720, label %721, label %722

721:                                              ; preds = %703
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

722:                                              ; preds = %703
  br label %723

723:                                              ; preds = %722
  br label %724

724:                                              ; preds = %723
  br label %725

725:                                              ; preds = %724
  %726 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %727 = getelementptr inbounds %struct.jc_test_fixture, ptr %726, i32 0, i32 11
  %728 = load i32, ptr %727, align 8
  %729 = and i32 %728, -16776961
  %730 = or i32 %729, 295936
  store i32 %730, ptr %727, align 8
  %731 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %732 = getelementptr inbounds %struct.jc_test_fixture, ptr %731, i32 0, i32 4
  store ptr @.str.3, ptr %732, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %733 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 2
  %734 = load ptr, ptr %733, align 16, !tbaa !5
  %735 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %734, i32 0, i32 0
  %736 = load ptr, ptr %735, align 8, !tbaa !28
  %737 = load ptr, ptr %13, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %737, i32 0, i32 4
  %739 = load ptr, ptr %738, align 8, !tbaa !29
  %740 = getelementptr inbounds i64, ptr %739, i64 1
  %741 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %736, ptr noundef nonnull align 8 dereferenceable(8) %740, ptr noundef @.str.221, ptr noundef @.str.222)
  %742 = icmp eq i32 %741, 0
  br i1 %742, label %743, label %744

743:                                              ; preds = %725
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

744:                                              ; preds = %725
  br label %745

745:                                              ; preds = %744
  br label %746

746:                                              ; preds = %745
  br label %747

747:                                              ; preds = %746
  %748 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %749 = getelementptr inbounds %struct.jc_test_fixture, ptr %748, i32 0, i32 11
  %750 = load i32, ptr %749, align 8
  %751 = and i32 %750, -16776961
  %752 = or i32 %751, 296192
  store i32 %752, ptr %749, align 8
  %753 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %754 = getelementptr inbounds %struct.jc_test_fixture, ptr %753, i32 0, i32 4
  store ptr @.str.3, ptr %754, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %755 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 3
  %756 = load ptr, ptr %755, align 8, !tbaa !5
  %757 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %756, i32 0, i32 0
  %758 = load ptr, ptr %757, align 8, !tbaa !28
  %759 = load ptr, ptr %13, align 8, !tbaa !5
  %760 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %759, i32 0, i32 4
  %761 = load ptr, ptr %760, align 8, !tbaa !29
  %762 = getelementptr inbounds i64, ptr %761, i64 2
  %763 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %758, ptr noundef nonnull align 8 dereferenceable(8) %762, ptr noundef @.str.223, ptr noundef @.str.224)
  %764 = icmp eq i32 %763, 0
  br i1 %764, label %765, label %766

765:                                              ; preds = %747
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

766:                                              ; preds = %747
  br label %767

767:                                              ; preds = %766
  br label %768

768:                                              ; preds = %767
  br label %769

769:                                              ; preds = %768
  %770 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %771 = getelementptr inbounds %struct.jc_test_fixture, ptr %770, i32 0, i32 11
  %772 = load i32, ptr %771, align 8
  %773 = and i32 %772, -16776961
  %774 = or i32 %773, 296448
  store i32 %774, ptr %771, align 8
  %775 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %776 = getelementptr inbounds %struct.jc_test_fixture, ptr %775, i32 0, i32 4
  store ptr @.str.3, ptr %776, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %777 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 1
  %778 = load ptr, ptr %777, align 8, !tbaa !5
  %779 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %778, i32 0, i32 0
  %780 = load ptr, ptr %779, align 8, !tbaa !28
  %781 = load ptr, ptr %13, align 8, !tbaa !5
  %782 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %781, i32 0, i32 4
  %783 = load ptr, ptr %782, align 8, !tbaa !29
  %784 = getelementptr inbounds i64, ptr %783, i64 3
  %785 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %780, ptr noundef nonnull align 8 dereferenceable(8) %784, ptr noundef @.str.225, ptr noundef @.str.226)
  %786 = icmp eq i32 %785, 0
  br i1 %786, label %787, label %788

787:                                              ; preds = %769
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

788:                                              ; preds = %769
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  br label %791

791:                                              ; preds = %790
  %792 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %793 = getelementptr inbounds %struct.jc_test_fixture, ptr %792, i32 0, i32 11
  %794 = load i32, ptr %793, align 8
  %795 = and i32 %794, -16776961
  %796 = or i32 %795, 296704
  store i32 %796, ptr %793, align 8
  %797 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %798 = getelementptr inbounds %struct.jc_test_fixture, ptr %797, i32 0, i32 4
  store ptr @.str.3, ptr %798, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %799 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 5
  %800 = load ptr, ptr %799, align 8, !tbaa !5
  %801 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %800, i32 0, i32 0
  %802 = load ptr, ptr %801, align 8, !tbaa !28
  %803 = load ptr, ptr %13, align 8, !tbaa !5
  %804 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %803, i32 0, i32 4
  %805 = load ptr, ptr %804, align 8, !tbaa !29
  %806 = getelementptr inbounds i64, ptr %805, i64 4
  %807 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %802, ptr noundef nonnull align 8 dereferenceable(8) %806, ptr noundef @.str.227, ptr noundef @.str.228)
  %808 = icmp eq i32 %807, 0
  br i1 %808, label %809, label %810

809:                                              ; preds = %791
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

810:                                              ; preds = %791
  br label %811

811:                                              ; preds = %810
  br label %812

812:                                              ; preds = %811
  br label %813

813:                                              ; preds = %812
  %814 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %815 = getelementptr inbounds %struct.jc_test_fixture, ptr %814, i32 0, i32 11
  %816 = load i32, ptr %815, align 8
  %817 = and i32 %816, -16776961
  %818 = or i32 %817, 296960
  store i32 %818, ptr %815, align 8
  %819 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %820 = getelementptr inbounds %struct.jc_test_fixture, ptr %819, i32 0, i32 4
  store ptr @.str.3, ptr %820, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %821 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 0
  %822 = load ptr, ptr %821, align 16, !tbaa !5
  %823 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %822, i32 0, i32 0
  %824 = load ptr, ptr %823, align 8, !tbaa !28
  %825 = load ptr, ptr %13, align 8, !tbaa !5
  %826 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %825, i32 0, i32 4
  %827 = load ptr, ptr %826, align 8, !tbaa !29
  %828 = getelementptr inbounds i64, ptr %827, i64 5
  %829 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %824, ptr noundef nonnull align 8 dereferenceable(8) %828, ptr noundef @.str.229, ptr noundef @.str.230)
  %830 = icmp eq i32 %829, 0
  br i1 %830, label %831, label %832

831:                                              ; preds = %813
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1250

832:                                              ; preds = %813
  br label %833

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %833
  %835 = load ptr, ptr %13, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %835)
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #5
  br label %836

836:                                              ; preds = %834
  %837 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %838 = getelementptr inbounds %struct.jc_test_fixture, ptr %837, i32 0, i32 11
  %839 = load i32, ptr %838, align 8
  %840 = and i32 %839, -16776961
  %841 = or i32 %840, 299264
  store i32 %841, ptr %838, align 8
  %842 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %843 = getelementptr inbounds %struct.jc_test_fixture, ptr %842, i32 0, i32 4
  store ptr @.str.3, ptr %843, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #5
  store i32 0, ptr %18, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #5
  %844 = load ptr, ptr %8, align 8, !tbaa !5
  %845 = load ptr, ptr %12, align 8, !tbaa !5
  %846 = icmp ne ptr %845, null
  br i1 %846, label %847, label %852

847:                                              ; preds = %836
  %848 = load ptr, ptr %12, align 8, !tbaa !5
  %849 = getelementptr inbounds %struct.stbds_array_header, ptr %848, i64 -1
  %850 = getelementptr inbounds %struct.stbds_array_header, ptr %849, i32 0, i32 0
  %851 = load i64, ptr %850, align 8, !tbaa !20
  br label %853

852:                                              ; preds = %836
  br label %853

853:                                              ; preds = %852, %847
  %854 = phi i64 [ %851, %847 ], [ 0, %852 ]
  %855 = trunc i64 %854 to i32
  %856 = load ptr, ptr %12, align 8, !tbaa !5
  %857 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %844, i32 noundef %855, ptr noundef %856, i32 noundef 100, ptr noundef %17)
  store i32 %857, ptr %19, align 4, !tbaa !19
  %858 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef @.str.46, ptr noundef @.str.231, ptr noundef null)
  %859 = icmp eq i32 %858, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #5
  br i1 %859, label %860, label %861

860:                                              ; preds = %853
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1249

861:                                              ; preds = %853
  br label %862

862:                                              ; preds = %861
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  %865 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %866 = getelementptr inbounds %struct.jc_test_fixture, ptr %865, i32 0, i32 11
  %867 = load i32, ptr %866, align 8
  %868 = and i32 %867, -16776961
  %869 = or i32 %868, 299520
  store i32 %869, ptr %866, align 8
  %870 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %871 = getelementptr inbounds %struct.jc_test_fixture, ptr %870, i32 0, i32 4
  store ptr @.str.3, ptr %871, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #5
  store i32 1, ptr %20, align 4, !tbaa !19
  %872 = load ptr, ptr %17, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %872, i32 0, i32 2
  %874 = load ptr, ptr %873, align 8, !tbaa !26
  %875 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(4) %874, ptr noundef @.str.232, ptr noundef @.str.233)
  %876 = icmp eq i32 %875, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #5
  br i1 %876, label %877, label %878

877:                                              ; preds = %864
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1249

878:                                              ; preds = %864
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879
  br label %881

881:                                              ; preds = %880
  %882 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %883 = getelementptr inbounds %struct.jc_test_fixture, ptr %882, i32 0, i32 11
  %884 = load i32, ptr %883, align 8
  %885 = and i32 %884, -16776961
  %886 = or i32 %885, 299776
  store i32 %886, ptr %883, align 8
  %887 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %888 = getelementptr inbounds %struct.jc_test_fixture, ptr %887, i32 0, i32 4
  store ptr @.str.3, ptr %888, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %889 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 4
  %890 = load ptr, ptr %889, align 16, !tbaa !5
  %891 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %890, i32 0, i32 0
  %892 = load ptr, ptr %891, align 8, !tbaa !28
  %893 = load ptr, ptr %17, align 8, !tbaa !5
  %894 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %893, i32 0, i32 4
  %895 = load ptr, ptr %894, align 8, !tbaa !29
  %896 = getelementptr inbounds i64, ptr %895, i64 0
  %897 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %892, ptr noundef nonnull align 8 dereferenceable(8) %896, ptr noundef @.str.219, ptr noundef @.str.234)
  %898 = icmp eq i32 %897, 0
  br i1 %898, label %899, label %900

899:                                              ; preds = %881
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1249

900:                                              ; preds = %881
  br label %901

901:                                              ; preds = %900
  br label %902

902:                                              ; preds = %901
  %903 = load ptr, ptr %17, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %903)
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #5
  br label %904

904:                                              ; preds = %902
  %905 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %906 = getelementptr inbounds %struct.jc_test_fixture, ptr %905, i32 0, i32 11
  %907 = load i32, ptr %906, align 8
  %908 = and i32 %907, -16776961
  %909 = or i32 %908, 302080
  store i32 %909, ptr %906, align 8
  %910 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %911 = getelementptr inbounds %struct.jc_test_fixture, ptr %910, i32 0, i32 4
  store ptr @.str.3, ptr %911, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  store i32 0, ptr %22, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #5
  %912 = load ptr, ptr %8, align 8, !tbaa !5
  %913 = load ptr, ptr %12, align 8, !tbaa !5
  %914 = icmp ne ptr %913, null
  br i1 %914, label %915, label %920

915:                                              ; preds = %904
  %916 = load ptr, ptr %12, align 8, !tbaa !5
  %917 = getelementptr inbounds %struct.stbds_array_header, ptr %916, i64 -1
  %918 = getelementptr inbounds %struct.stbds_array_header, ptr %917, i32 0, i32 0
  %919 = load i64, ptr %918, align 8, !tbaa !20
  br label %921

920:                                              ; preds = %904
  br label %921

921:                                              ; preds = %920, %915
  %922 = phi i64 [ %919, %915 ], [ 0, %920 ]
  %923 = trunc i64 %922 to i32
  %924 = load ptr, ptr %12, align 8, !tbaa !5
  %925 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %912, i32 noundef %923, ptr noundef %924, i32 noundef 50, ptr noundef %21)
  store i32 %925, ptr %23, align 4, !tbaa !19
  %926 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef @.str.46, ptr noundef @.str.235, ptr noundef null)
  %927 = icmp eq i32 %926, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  br i1 %927, label %928, label %929

928:                                              ; preds = %921
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1248

929:                                              ; preds = %921
  br label %930

930:                                              ; preds = %929
  br label %931

931:                                              ; preds = %930
  br label %932

932:                                              ; preds = %931
  %933 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %934 = getelementptr inbounds %struct.jc_test_fixture, ptr %933, i32 0, i32 11
  %935 = load i32, ptr %934, align 8
  %936 = and i32 %935, -16776961
  %937 = or i32 %936, 302336
  store i32 %937, ptr %934, align 8
  %938 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %939 = getelementptr inbounds %struct.jc_test_fixture, ptr %938, i32 0, i32 4
  store ptr @.str.3, ptr %939, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #5
  store i32 3, ptr %24, align 4, !tbaa !19
  %940 = load ptr, ptr %21, align 8, !tbaa !5
  %941 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %940, i32 0, i32 2
  %942 = load ptr, ptr %941, align 8, !tbaa !26
  %943 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %942, ptr noundef @.str.192, ptr noundef @.str.236)
  %944 = icmp eq i32 %943, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #5
  br i1 %944, label %945, label %946

945:                                              ; preds = %932
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1248

946:                                              ; preds = %932
  br label %947

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947
  br label %949

949:                                              ; preds = %948
  %950 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %951 = getelementptr inbounds %struct.jc_test_fixture, ptr %950, i32 0, i32 11
  %952 = load i32, ptr %951, align 8
  %953 = and i32 %952, -16776961
  %954 = or i32 %953, 302592
  store i32 %954, ptr %951, align 8
  %955 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %956 = getelementptr inbounds %struct.jc_test_fixture, ptr %955, i32 0, i32 4
  store ptr @.str.3, ptr %956, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %957 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 4
  %958 = load ptr, ptr %957, align 16, !tbaa !5
  %959 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %958, i32 0, i32 0
  %960 = load ptr, ptr %959, align 8, !tbaa !28
  %961 = load ptr, ptr %21, align 8, !tbaa !5
  %962 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %961, i32 0, i32 4
  %963 = load ptr, ptr %962, align 8, !tbaa !29
  %964 = getelementptr inbounds i64, ptr %963, i64 0
  %965 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %960, ptr noundef nonnull align 8 dereferenceable(8) %964, ptr noundef @.str.219, ptr noundef @.str.237)
  %966 = icmp eq i32 %965, 0
  br i1 %966, label %967, label %968

967:                                              ; preds = %949
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1248

968:                                              ; preds = %949
  br label %969

969:                                              ; preds = %968
  br label %970

970:                                              ; preds = %969
  br label %971

971:                                              ; preds = %970
  %972 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %973 = getelementptr inbounds %struct.jc_test_fixture, ptr %972, i32 0, i32 11
  %974 = load i32, ptr %973, align 8
  %975 = and i32 %974, -16776961
  %976 = or i32 %975, 302848
  store i32 %976, ptr %973, align 8
  %977 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %978 = getelementptr inbounds %struct.jc_test_fixture, ptr %977, i32 0, i32 4
  store ptr @.str.3, ptr %978, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %979 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 2
  %980 = load ptr, ptr %979, align 16, !tbaa !5
  %981 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %980, i32 0, i32 0
  %982 = load ptr, ptr %981, align 8, !tbaa !28
  %983 = load ptr, ptr %21, align 8, !tbaa !5
  %984 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %983, i32 0, i32 4
  %985 = load ptr, ptr %984, align 8, !tbaa !29
  %986 = getelementptr inbounds i64, ptr %985, i64 1
  %987 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %982, ptr noundef nonnull align 8 dereferenceable(8) %986, ptr noundef @.str.221, ptr noundef @.str.238)
  %988 = icmp eq i32 %987, 0
  br i1 %988, label %989, label %990

989:                                              ; preds = %971
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1248

990:                                              ; preds = %971
  br label %991

991:                                              ; preds = %990
  br label %992

992:                                              ; preds = %991
  br label %993

993:                                              ; preds = %992
  %994 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %995 = getelementptr inbounds %struct.jc_test_fixture, ptr %994, i32 0, i32 11
  %996 = load i32, ptr %995, align 8
  %997 = and i32 %996, -16776961
  %998 = or i32 %997, 303104
  store i32 %998, ptr %995, align 8
  %999 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1000 = getelementptr inbounds %struct.jc_test_fixture, ptr %999, i32 0, i32 4
  store ptr @.str.3, ptr %1000, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1001 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 3
  %1002 = load ptr, ptr %1001, align 8, !tbaa !5
  %1003 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1002, i32 0, i32 0
  %1004 = load ptr, ptr %1003, align 8, !tbaa !28
  %1005 = load ptr, ptr %21, align 8, !tbaa !5
  %1006 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1005, i32 0, i32 4
  %1007 = load ptr, ptr %1006, align 8, !tbaa !29
  %1008 = getelementptr inbounds i64, ptr %1007, i64 2
  %1009 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1004, ptr noundef nonnull align 8 dereferenceable(8) %1008, ptr noundef @.str.223, ptr noundef @.str.239)
  %1010 = icmp eq i32 %1009, 0
  br i1 %1010, label %1011, label %1012

1011:                                             ; preds = %993
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1248

1012:                                             ; preds = %993
  br label %1013

1013:                                             ; preds = %1012
  br label %1014

1014:                                             ; preds = %1013
  %1015 = load ptr, ptr %21, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %1015)
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #5
  br label %1016

1016:                                             ; preds = %1014
  %1017 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1018 = getelementptr inbounds %struct.jc_test_fixture, ptr %1017, i32 0, i32 11
  %1019 = load i32, ptr %1018, align 8
  %1020 = and i32 %1019, -16776961
  %1021 = or i32 %1020, 305408
  store i32 %1021, ptr %1018, align 8
  %1022 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1023 = getelementptr inbounds %struct.jc_test_fixture, ptr %1022, i32 0, i32 4
  store ptr @.str.3, ptr %1023, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  store i32 0, ptr %26, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #5
  %1024 = load ptr, ptr %8, align 8, !tbaa !5
  %1025 = load ptr, ptr %12, align 8, !tbaa !5
  %1026 = icmp ne ptr %1025, null
  br i1 %1026, label %1027, label %1032

1027:                                             ; preds = %1016
  %1028 = load ptr, ptr %12, align 8, !tbaa !5
  %1029 = getelementptr inbounds %struct.stbds_array_header, ptr %1028, i64 -1
  %1030 = getelementptr inbounds %struct.stbds_array_header, ptr %1029, i32 0, i32 0
  %1031 = load i64, ptr %1030, align 8, !tbaa !20
  br label %1033

1032:                                             ; preds = %1016
  br label %1033

1033:                                             ; preds = %1032, %1027
  %1034 = phi i64 [ %1031, %1027 ], [ 0, %1032 ]
  %1035 = trunc i64 %1034 to i32
  %1036 = load ptr, ptr %12, align 8, !tbaa !5
  %1037 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %1024, i32 noundef %1035, ptr noundef %1036, i32 noundef 40, ptr noundef %25)
  store i32 %1037, ptr %27, align 4, !tbaa !19
  %1038 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef @.str.46, ptr noundef @.str.240, ptr noundef null)
  %1039 = icmp eq i32 %1038, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  br i1 %1039, label %1040, label %1041

1040:                                             ; preds = %1033
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1041:                                             ; preds = %1033
  br label %1042

1042:                                             ; preds = %1041
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

1044:                                             ; preds = %1043
  %1045 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1046 = getelementptr inbounds %struct.jc_test_fixture, ptr %1045, i32 0, i32 11
  %1047 = load i32, ptr %1046, align 8
  %1048 = and i32 %1047, -16776961
  %1049 = or i32 %1048, 305664
  store i32 %1049, ptr %1046, align 8
  %1050 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1051 = getelementptr inbounds %struct.jc_test_fixture, ptr %1050, i32 0, i32 4
  store ptr @.str.3, ptr %1051, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  store i32 5, ptr %28, align 4, !tbaa !19
  %1052 = load ptr, ptr %25, align 8, !tbaa !5
  %1053 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1052, i32 0, i32 2
  %1054 = load ptr, ptr %1053, align 8, !tbaa !26
  %1055 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %1054, ptr noundef @.str.191, ptr noundef @.str.241)
  %1056 = icmp eq i32 %1055, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  br i1 %1056, label %1057, label %1058

1057:                                             ; preds = %1044
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1058:                                             ; preds = %1044
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

1060:                                             ; preds = %1059
  br label %1061

1061:                                             ; preds = %1060
  %1062 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1063 = getelementptr inbounds %struct.jc_test_fixture, ptr %1062, i32 0, i32 11
  %1064 = load i32, ptr %1063, align 8
  %1065 = and i32 %1064, -16776961
  %1066 = or i32 %1065, 305920
  store i32 %1066, ptr %1063, align 8
  %1067 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1068 = getelementptr inbounds %struct.jc_test_fixture, ptr %1067, i32 0, i32 4
  store ptr @.str.3, ptr %1068, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1069 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 4
  %1070 = load ptr, ptr %1069, align 16, !tbaa !5
  %1071 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1070, i32 0, i32 0
  %1072 = load ptr, ptr %1071, align 8, !tbaa !28
  %1073 = load ptr, ptr %25, align 8, !tbaa !5
  %1074 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1073, i32 0, i32 4
  %1075 = load ptr, ptr %1074, align 8, !tbaa !29
  %1076 = getelementptr inbounds i64, ptr %1075, i64 0
  %1077 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1072, ptr noundef nonnull align 8 dereferenceable(8) %1076, ptr noundef @.str.219, ptr noundef @.str.242)
  %1078 = icmp eq i32 %1077, 0
  br i1 %1078, label %1079, label %1080

1079:                                             ; preds = %1061
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1080:                                             ; preds = %1061
  br label %1081

1081:                                             ; preds = %1080
  br label %1082

1082:                                             ; preds = %1081
  br label %1083

1083:                                             ; preds = %1082
  %1084 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1085 = getelementptr inbounds %struct.jc_test_fixture, ptr %1084, i32 0, i32 11
  %1086 = load i32, ptr %1085, align 8
  %1087 = and i32 %1086, -16776961
  %1088 = or i32 %1087, 306176
  store i32 %1088, ptr %1085, align 8
  %1089 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1090 = getelementptr inbounds %struct.jc_test_fixture, ptr %1089, i32 0, i32 4
  store ptr @.str.3, ptr %1090, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1091 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 2
  %1092 = load ptr, ptr %1091, align 16, !tbaa !5
  %1093 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1092, i32 0, i32 0
  %1094 = load ptr, ptr %1093, align 8, !tbaa !28
  %1095 = load ptr, ptr %25, align 8, !tbaa !5
  %1096 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1095, i32 0, i32 4
  %1097 = load ptr, ptr %1096, align 8, !tbaa !29
  %1098 = getelementptr inbounds i64, ptr %1097, i64 1
  %1099 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1094, ptr noundef nonnull align 8 dereferenceable(8) %1098, ptr noundef @.str.221, ptr noundef @.str.243)
  %1100 = icmp eq i32 %1099, 0
  br i1 %1100, label %1101, label %1102

1101:                                             ; preds = %1083
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1102:                                             ; preds = %1083
  br label %1103

1103:                                             ; preds = %1102
  br label %1104

1104:                                             ; preds = %1103
  br label %1105

1105:                                             ; preds = %1104
  %1106 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1107 = getelementptr inbounds %struct.jc_test_fixture, ptr %1106, i32 0, i32 11
  %1108 = load i32, ptr %1107, align 8
  %1109 = and i32 %1108, -16776961
  %1110 = or i32 %1109, 306432
  store i32 %1110, ptr %1107, align 8
  %1111 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1112 = getelementptr inbounds %struct.jc_test_fixture, ptr %1111, i32 0, i32 4
  store ptr @.str.3, ptr %1112, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1113 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 3
  %1114 = load ptr, ptr %1113, align 8, !tbaa !5
  %1115 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1114, i32 0, i32 0
  %1116 = load ptr, ptr %1115, align 8, !tbaa !28
  %1117 = load ptr, ptr %25, align 8, !tbaa !5
  %1118 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1117, i32 0, i32 4
  %1119 = load ptr, ptr %1118, align 8, !tbaa !29
  %1120 = getelementptr inbounds i64, ptr %1119, i64 2
  %1121 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1116, ptr noundef nonnull align 8 dereferenceable(8) %1120, ptr noundef @.str.223, ptr noundef @.str.244)
  %1122 = icmp eq i32 %1121, 0
  br i1 %1122, label %1123, label %1124

1123:                                             ; preds = %1105
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1124:                                             ; preds = %1105
  br label %1125

1125:                                             ; preds = %1124
  br label %1126

1126:                                             ; preds = %1125
  br label %1127

1127:                                             ; preds = %1126
  %1128 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1129 = getelementptr inbounds %struct.jc_test_fixture, ptr %1128, i32 0, i32 11
  %1130 = load i32, ptr %1129, align 8
  %1131 = and i32 %1130, -16776961
  %1132 = or i32 %1131, 306688
  store i32 %1132, ptr %1129, align 8
  %1133 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1134 = getelementptr inbounds %struct.jc_test_fixture, ptr %1133, i32 0, i32 4
  store ptr @.str.3, ptr %1134, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1135 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 1
  %1136 = load ptr, ptr %1135, align 8, !tbaa !5
  %1137 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1136, i32 0, i32 0
  %1138 = load ptr, ptr %1137, align 8, !tbaa !28
  %1139 = load ptr, ptr %25, align 8, !tbaa !5
  %1140 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1139, i32 0, i32 4
  %1141 = load ptr, ptr %1140, align 8, !tbaa !29
  %1142 = getelementptr inbounds i64, ptr %1141, i64 3
  %1143 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1138, ptr noundef nonnull align 8 dereferenceable(8) %1142, ptr noundef @.str.225, ptr noundef @.str.245)
  %1144 = icmp eq i32 %1143, 0
  br i1 %1144, label %1145, label %1146

1145:                                             ; preds = %1127
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1146:                                             ; preds = %1127
  br label %1147

1147:                                             ; preds = %1146
  br label %1148

1148:                                             ; preds = %1147
  br label %1149

1149:                                             ; preds = %1148
  %1150 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1151 = getelementptr inbounds %struct.jc_test_fixture, ptr %1150, i32 0, i32 11
  %1152 = load i32, ptr %1151, align 8
  %1153 = and i32 %1152, -16776961
  %1154 = or i32 %1153, 306944
  store i32 %1154, ptr %1151, align 8
  %1155 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1156 = getelementptr inbounds %struct.jc_test_fixture, ptr %1155, i32 0, i32 4
  store ptr @.str.3, ptr %1156, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  %1157 = getelementptr inbounds [6 x ptr], ptr %6, i64 0, i64 5
  %1158 = load ptr, ptr %1157, align 8, !tbaa !5
  %1159 = getelementptr inbounds %struct.Longtail_BlockIndex, ptr %1158, i32 0, i32 0
  %1160 = load ptr, ptr %1159, align 8, !tbaa !28
  %1161 = load ptr, ptr %25, align 8, !tbaa !5
  %1162 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1161, i32 0, i32 4
  %1163 = load ptr, ptr %1162, align 8, !tbaa !29
  %1164 = getelementptr inbounds i64, ptr %1163, i64 4
  %1165 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %1160, ptr noundef nonnull align 8 dereferenceable(8) %1164, ptr noundef @.str.227, ptr noundef @.str.246)
  %1166 = icmp eq i32 %1165, 0
  br i1 %1166, label %1167, label %1168

1167:                                             ; preds = %1149
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1247

1168:                                             ; preds = %1149
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

1170:                                             ; preds = %1169
  %1171 = load ptr, ptr %25, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %1171)
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  br label %1172

1172:                                             ; preds = %1170
  %1173 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1174 = getelementptr inbounds %struct.jc_test_fixture, ptr %1173, i32 0, i32 11
  %1175 = load i32, ptr %1174, align 8
  %1176 = and i32 %1175, -16776961
  %1177 = or i32 %1176, 309248
  store i32 %1177, ptr %1174, align 8
  %1178 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1179 = getelementptr inbounds %struct.jc_test_fixture, ptr %1178, i32 0, i32 4
  store ptr @.str.3, ptr %1179, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  store i32 0, ptr %30, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #5
  %1180 = load ptr, ptr %8, align 8, !tbaa !5
  %1181 = load ptr, ptr %12, align 8, !tbaa !5
  %1182 = icmp ne ptr %1181, null
  br i1 %1182, label %1183, label %1188

1183:                                             ; preds = %1172
  %1184 = load ptr, ptr %12, align 8, !tbaa !5
  %1185 = getelementptr inbounds %struct.stbds_array_header, ptr %1184, i64 -1
  %1186 = getelementptr inbounds %struct.stbds_array_header, ptr %1185, i32 0, i32 0
  %1187 = load i64, ptr %1186, align 8, !tbaa !20
  br label %1189

1188:                                             ; preds = %1172
  br label %1189

1189:                                             ; preds = %1188, %1183
  %1190 = phi i64 [ %1187, %1183 ], [ 0, %1188 ]
  %1191 = trunc i64 %1190 to i32
  %1192 = load ptr, ptr %12, align 8, !tbaa !5
  %1193 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %1180, i32 noundef %1191, ptr noundef %1192, i32 noundef 101, ptr noundef %29)
  store i32 %1193, ptr %31, align 4, !tbaa !19
  %1194 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef @.str.46, ptr noundef @.str.247, ptr noundef null)
  %1195 = icmp eq i32 %1194, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  br i1 %1195, label %1196, label %1197

1196:                                             ; preds = %1189
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1246

1197:                                             ; preds = %1189
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

1199:                                             ; preds = %1198
  br label %1200

1200:                                             ; preds = %1199
  %1201 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1202 = getelementptr inbounds %struct.jc_test_fixture, ptr %1201, i32 0, i32 11
  %1203 = load i32, ptr %1202, align 8
  %1204 = and i32 %1203, -16776961
  %1205 = or i32 %1204, 309504
  store i32 %1205, ptr %1202, align 8
  %1206 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %1207 = getelementptr inbounds %struct.jc_test_fixture, ptr %1206, i32 0, i32 4
  store ptr @.str.3, ptr %1207, align 8, !tbaa !15
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #5
  store i32 0, ptr %32, align 4, !tbaa !19
  %1208 = load ptr, ptr %29, align 8, !tbaa !5
  %1209 = getelementptr inbounds %struct.Longtail_StoreIndex, ptr %1208, i32 0, i32 2
  %1210 = load ptr, ptr %1209, align 8, !tbaa !26
  %1211 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIijEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %1210, ptr noundef @.str.46, ptr noundef @.str.248, ptr noundef null)
  %1212 = icmp eq i32 %1211, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  br i1 %1212, label %1213, label %1214

1213:                                             ; preds = %1200
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  store i32 1, ptr %11, align 4
  br label %1246

1214:                                             ; preds = %1200
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

1216:                                             ; preds = %1215
  %1217 = load ptr, ptr %29, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %1217)
  %1218 = load ptr, ptr %12, align 8, !tbaa !5
  %1219 = icmp ne ptr %1218, null
  br i1 %1219, label %1220, label %1223

1220:                                             ; preds = %1216
  %1221 = load ptr, ptr %12, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.stbds_array_header, ptr %1221, i64 -1
  call void @free(ptr noundef %1222) #5
  br label %1224

1223:                                             ; preds = %1216
  br label %1224

1224:                                             ; preds = %1223, %1220
  store ptr null, ptr %12, align 8, !tbaa !5
  %1225 = load ptr, ptr %8, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %1225)
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #5
  store i8 0, ptr %33, align 1, !tbaa !9
  br label %1226

1226:                                             ; preds = %1236, %1224
  %1227 = load i8, ptr %33, align 1, !tbaa !9
  %1228 = zext i8 %1227 to i32
  %1229 = icmp slt i32 %1228, 6
  br i1 %1229, label %1231, label %1230

1230:                                             ; preds = %1226
  store i32 57, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #5
  br label %1239

1231:                                             ; preds = %1226
  %1232 = load i8, ptr %33, align 1, !tbaa !9
  %1233 = zext i8 %1232 to i64
  %1234 = getelementptr inbounds [6 x ptr], ptr %5, i64 0, i64 %1233
  %1235 = load ptr, ptr %1234, align 8, !tbaa !5
  call void @Longtail_Free(ptr noundef %1235)
  br label %1236

1236:                                             ; preds = %1231
  %1237 = load i8, ptr %33, align 1, !tbaa !9
  %1238 = add i8 %1237, 1
  store i8 %1238, ptr %33, align 1, !tbaa !9
  br label %1226, !llvm.loop !30

1239:                                             ; preds = %1230
  %1240 = load ptr, ptr %3, align 8, !tbaa !5
  %1241 = icmp ne ptr %1240, null
  br i1 %1241, label %1242, label %1245

1242:                                             ; preds = %1239
  %1243 = load ptr, ptr %3, align 8, !tbaa !5
  %1244 = getelementptr inbounds %struct.Longtail_HashAPI, ptr %1243, i32 0, i32 0
  call void @Longtail_DisposeAPI(ptr noundef %1244)
  br label %1245

1245:                                             ; preds = %1242, %1239
  store i32 0, ptr %11, align 4
  br label %1246

1246:                                             ; preds = %1245, %1213, %1196
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  br label %1247

1247:                                             ; preds = %1246, %1167, %1145, %1123, %1101, %1079, %1057, %1040
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #5
  br label %1248

1248:                                             ; preds = %1247, %1011, %989, %967, %945, %928
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #5
  br label %1249

1249:                                             ; preds = %1248, %899, %877, %860
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #5
  br label %1250

1250:                                             ; preds = %1249, %831, %809, %787, %765, %743, %721, %699, %682
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #5
  br label %1251

1251:                                             ; preds = %1250, %76
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 48, ptr %6) #5
  call void @llvm.lifetime.end.p0(i64 48, ptr %5) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %4) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #5
  %1252 = load i32, ptr %11, align 4
  switch i32 %1252, label %1254 [
    i32 0, label %1253
    i32 1, label %1253
  ]

1253:                                             ; preds = %1251, %1251
  ret void

1254:                                             ; preds = %1251
  unreachable
}

; Function Attrs: mustprogress uwtable
declare hidden noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef, i8 noundef zeroext, i32 noundef, i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare hidden noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef, i64 noundef, i64 noundef, i64 noundef) #3

declare i32 @Longtail_GetExistingStoreIndex(ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) #2

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress 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 = { "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 = { mustprogress 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 #4 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = !{!11, !6, i64 8}
!11 = !{!"_ZTS20Longtail_StoredBlock", !6, i64 0, !6, i64 8, !6, i64 16, !12, i64 24}
!12 = !{!"int", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = !{!16, !6, i64 32}
!16 = !{!"_ZTS15jc_test_fixture", !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !17, i64 64, !12, i64 88, !12, i64 91, !12, i64 91, !12, i64 91, !12, i64 91, !12, i64 92, !12, i64 96, !12, i64 97, !12, i64 99, !12, i64 100}
!17 = !{!"_ZTS13jc_test_stats", !12, i64 0, !12, i64 4, !12, i64 6, !12, i64 8, !12, i64 12, !18, i64 16}
!18 = !{!"long", !7, i64 0}
!19 = !{!12, !12, i64 0}
!20 = !{!21, !18, i64 0}
!21 = !{!"_ZTS18stbds_array_header", !18, i64 0, !18, i64 8, !6, i64 16, !18, i64 24}
!22 = !{!21, !18, i64 8}
!23 = !{!24, !6, i64 32}
!24 = !{!"_ZTS19Longtail_BlockIndex", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40}
!25 = !{!18, !18, i64 0}
!26 = !{!27, !6, i64 16}
!27 = !{!"_ZTS19Longtail_StoreIndex", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72}
!28 = !{!24, !6, i64 0}
!29 = !{!27, !6, i64 32}
!30 = distinct !{!30, !14}


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

@.str.3 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [173 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [180 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [180 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [174 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [25 x i8], align 1

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef ptr @_ZL19jc_test_get_fixturev() local_unnamed_addr #1

declare void @_Z28jc_test_increment_assertionsv() local_unnamed_addr #2

declare void @_Z21jc_test_set_test_faili(i32 noundef) local_unnamed_addr #2

declare void @Longtail_Free(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

declare void @Longtail_DisposeAPI(ptr noundef) local_unnamed_addr #2

declare ptr @Longtail_CreateBlake3HashAPI() local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIijEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

declare i32 @Longtail_CreateStoreIndexFromBlocks(i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN49Longtail_Longtail_GetExistingStoreIndex__TestCase8TestBodyEv(ptr nocapture noundef nonnull readnone align 8 dereferenceable(8) %0) unnamed_addr #3 align 2 {
  %2 = alloca [6 x ptr], align 16
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = tail call ptr @Longtail_CreateBlake3HashAPI()
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2) #5
  %27 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 0, i32 noundef 5, i32 noundef 32)
  %28 = getelementptr inbounds i8, ptr %27, i64 8
  %29 = load ptr, ptr %28, align 8, !tbaa !5
  store ptr %29, ptr %2, align 16, !tbaa !11
  %30 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 6, i32 noundef 5, i32 noundef 32)
  %31 = getelementptr inbounds i8, ptr %30, i64 8
  %32 = load ptr, ptr %31, align 8, !tbaa !5
  %33 = getelementptr inbounds i8, ptr %2, i64 8
  store ptr %32, ptr %33, align 8, !tbaa !11
  %34 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 12, i32 noundef 5, i32 noundef 32)
  %35 = getelementptr inbounds i8, ptr %34, i64 8
  %36 = load ptr, ptr %35, align 8, !tbaa !5
  %37 = getelementptr inbounds i8, ptr %2, i64 16
  store ptr %36, ptr %37, align 16, !tbaa !11
  %38 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 18, i32 noundef 5, i32 noundef 32)
  %39 = getelementptr inbounds i8, ptr %38, i64 8
  %40 = load ptr, ptr %39, align 8, !tbaa !5
  %41 = getelementptr inbounds i8, ptr %2, i64 24
  store ptr %40, ptr %41, align 8, !tbaa !11
  %42 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 24, i32 noundef 5, i32 noundef 32)
  %43 = getelementptr inbounds i8, ptr %42, i64 8
  %44 = load ptr, ptr %43, align 8, !tbaa !5
  %45 = getelementptr inbounds i8, ptr %2, i64 32
  store ptr %44, ptr %45, align 16, !tbaa !11
  %46 = tail call noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef %26, i8 noundef zeroext 30, i32 noundef 5, i32 noundef 32)
  %47 = getelementptr inbounds i8, ptr %46, i64 8
  %48 = load ptr, ptr %47, align 8, !tbaa !5
  %49 = getelementptr inbounds i8, ptr %2, i64 40
  store ptr %48, ptr %49, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #5
  %50 = tail call noundef ptr @_ZL19jc_test_get_fixturev()
  %51 = getelementptr inbounds i8, ptr %50, i64 96
  %52 = load i32, ptr %51, align 8
  %53 = and i32 %52, -16776961
  %54 = or disjoint i32 %53, 286720
  store i32 %54, ptr %51, align 8
  %55 = tail call noundef ptr @_ZL19jc_test_get_fixturev()
  %56 = getelementptr inbounds i8, ptr %55, i64 32
  store ptr @.str.3, ptr %56, align 8, !tbaa !12
  tail call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #5
  store i32 0, ptr %4, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #5
  %57 = call i32 @Longtail_CreateStoreIndexFromBlocks(i32 noundef 6, ptr noundef nonnull %2, ptr noundef nonnull %3)
  store i32 %57, ptr %5, align 4, !tbaa !16
  %58 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.215, ptr noundef null)
  %59 = icmp eq i32 %58, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  br i1 %59, label %60, label %61

60:                                               ; preds = %1
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %708

61:                                               ; preds = %1
  %62 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef null, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %63 = load ptr, ptr %28, align 8, !tbaa !5
  %64 = getelementptr inbounds i8, ptr %63, i64 32
  %65 = load ptr, ptr %64, align 8, !tbaa !17
  %66 = load i64, ptr %65, align 8, !tbaa !19
  %67 = getelementptr inbounds i8, ptr %62, i64 -32
  %68 = load i64, ptr %67, align 8, !tbaa !20
  %69 = add i64 %68, 1
  store i64 %69, ptr %67, align 8, !tbaa !20
  %70 = getelementptr inbounds i64, ptr %62, i64 %68
  store i64 %66, ptr %70, align 8, !tbaa !19
  %71 = load i64, ptr %67, align 8, !tbaa !20
  %72 = add i64 %71, 1
  %73 = getelementptr inbounds i8, ptr %62, i64 -24
  %74 = load i64, ptr %73, align 8, !tbaa !22
  %75 = icmp ugt i64 %72, %74
  br i1 %75, label %76, label %78

76:                                               ; preds = %61
  %77 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %62, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.phi.trans.insert = getelementptr inbounds i8, ptr %77, i64 -32
  %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !20
  %.pre236 = add i64 %.pre, 1
  br label %78

78:                                               ; preds = %76, %61
  %.pre-phi = phi i64 [ %.pre236, %76 ], [ %72, %61 ]
  %79 = phi i64 [ %.pre, %76 ], [ %71, %61 ]
  %.1 = phi ptr [ %77, %76 ], [ %62, %61 ]
  %80 = load ptr, ptr %31, align 8, !tbaa !5
  %81 = getelementptr inbounds i8, ptr %80, i64 32
  %82 = load ptr, ptr %81, align 8, !tbaa !17
  %83 = load i64, ptr %82, align 8, !tbaa !19
  %84 = getelementptr inbounds i8, ptr %.1, i64 -32
  store i64 %.pre-phi, ptr %84, align 8, !tbaa !20
  %85 = getelementptr inbounds i64, ptr %.1, i64 %79
  store i64 %83, ptr %85, align 8, !tbaa !19
  %86 = load i64, ptr %84, align 8, !tbaa !20
  %87 = add i64 %86, 1
  %88 = getelementptr inbounds i8, ptr %.1, i64 -24
  %89 = load i64, ptr %88, align 8, !tbaa !22
  %90 = icmp ugt i64 %87, %89
  br i1 %90, label %91, label %93

91:                                               ; preds = %78
  %92 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.1, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre173 = load ptr, ptr %31, align 8, !tbaa !5
  %.phi.trans.insert174 = getelementptr inbounds i8, ptr %.pre173, i64 32
  %.pre175 = load ptr, ptr %.phi.trans.insert174, align 8, !tbaa !17
  %.phi.trans.insert176 = getelementptr inbounds i8, ptr %92, i64 -32
  %.pre177 = load i64, ptr %.phi.trans.insert176, align 8, !tbaa !20
  %.pre237 = add i64 %.pre177, 1
  br label %93

93:                                               ; preds = %91, %78
  %.pre-phi238 = phi i64 [ %.pre237, %91 ], [ %87, %78 ]
  %94 = phi i64 [ %.pre177, %91 ], [ %86, %78 ]
  %95 = phi ptr [ %.pre175, %91 ], [ %82, %78 ]
  %.2 = phi ptr [ %92, %91 ], [ %.1, %78 ]
  %96 = getelementptr inbounds i8, ptr %95, i64 8
  %97 = load i64, ptr %96, align 8, !tbaa !19
  %98 = getelementptr inbounds i8, ptr %.2, i64 -32
  store i64 %.pre-phi238, ptr %98, align 8, !tbaa !20
  %99 = getelementptr inbounds i64, ptr %.2, i64 %94
  store i64 %97, ptr %99, align 8, !tbaa !19
  %100 = load i64, ptr %98, align 8, !tbaa !20
  %101 = add i64 %100, 1
  %102 = getelementptr inbounds i8, ptr %.2, i64 -24
  %103 = load i64, ptr %102, align 8, !tbaa !22
  %104 = icmp ugt i64 %101, %103
  br i1 %104, label %105, label %107

105:                                              ; preds = %93
  %106 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.2, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.phi.trans.insert178 = getelementptr inbounds i8, ptr %106, i64 -32
  %.pre179 = load i64, ptr %.phi.trans.insert178, align 8, !tbaa !20
  %.pre239 = add i64 %.pre179, 1
  br label %107

107:                                              ; preds = %105, %93
  %.pre-phi240 = phi i64 [ %.pre239, %105 ], [ %101, %93 ]
  %108 = phi i64 [ %.pre179, %105 ], [ %100, %93 ]
  %.3 = phi ptr [ %106, %105 ], [ %.2, %93 ]
  %109 = load ptr, ptr %35, align 8, !tbaa !5
  %110 = getelementptr inbounds i8, ptr %109, i64 32
  %111 = load ptr, ptr %110, align 8, !tbaa !17
  %112 = load i64, ptr %111, align 8, !tbaa !19
  %113 = getelementptr inbounds i8, ptr %.3, i64 -32
  store i64 %.pre-phi240, ptr %113, align 8, !tbaa !20
  %114 = getelementptr inbounds i64, ptr %.3, i64 %108
  store i64 %112, ptr %114, align 8, !tbaa !19
  %115 = load i64, ptr %113, align 8, !tbaa !20
  %116 = add i64 %115, 1
  %117 = getelementptr inbounds i8, ptr %.3, i64 -24
  %118 = load i64, ptr %117, align 8, !tbaa !22
  %119 = icmp ugt i64 %116, %118
  br i1 %119, label %120, label %122

120:                                              ; preds = %107
  %121 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.3, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre180 = load ptr, ptr %35, align 8, !tbaa !5
  %.phi.trans.insert181 = getelementptr inbounds i8, ptr %.pre180, i64 32
  %.pre182 = load ptr, ptr %.phi.trans.insert181, align 8, !tbaa !17
  %.phi.trans.insert183 = getelementptr inbounds i8, ptr %121, i64 -32
  %.pre184 = load i64, ptr %.phi.trans.insert183, align 8, !tbaa !20
  %.pre241 = add i64 %.pre184, 1
  br label %122

122:                                              ; preds = %120, %107
  %.pre-phi242 = phi i64 [ %.pre241, %120 ], [ %116, %107 ]
  %123 = phi i64 [ %.pre184, %120 ], [ %115, %107 ]
  %124 = phi ptr [ %.pre182, %120 ], [ %111, %107 ]
  %.4 = phi ptr [ %121, %120 ], [ %.3, %107 ]
  %125 = getelementptr inbounds i8, ptr %124, i64 8
  %126 = load i64, ptr %125, align 8, !tbaa !19
  %127 = getelementptr inbounds i8, ptr %.4, i64 -32
  store i64 %.pre-phi242, ptr %127, align 8, !tbaa !20
  %128 = getelementptr inbounds i64, ptr %.4, i64 %123
  store i64 %126, ptr %128, align 8, !tbaa !19
  %129 = load i64, ptr %127, align 8, !tbaa !20
  %130 = add i64 %129, 1
  %131 = getelementptr inbounds i8, ptr %.4, i64 -24
  %132 = load i64, ptr %131, align 8, !tbaa !22
  %133 = icmp ugt i64 %130, %132
  br i1 %133, label %134, label %136

134:                                              ; preds = %122
  %135 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.4, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre185 = load ptr, ptr %35, align 8, !tbaa !5
  %.phi.trans.insert186 = getelementptr inbounds i8, ptr %.pre185, i64 32
  %.pre187 = load ptr, ptr %.phi.trans.insert186, align 8, !tbaa !17
  %.phi.trans.insert188 = getelementptr inbounds i8, ptr %135, i64 -32
  %.pre189 = load i64, ptr %.phi.trans.insert188, align 8, !tbaa !20
  %.pre243 = add i64 %.pre189, 1
  br label %136

136:                                              ; preds = %134, %122
  %.pre-phi244 = phi i64 [ %.pre243, %134 ], [ %130, %122 ]
  %137 = phi i64 [ %.pre189, %134 ], [ %129, %122 ]
  %138 = phi ptr [ %.pre187, %134 ], [ %124, %122 ]
  %.5 = phi ptr [ %135, %134 ], [ %.4, %122 ]
  %139 = getelementptr inbounds i8, ptr %138, i64 16
  %140 = load i64, ptr %139, align 8, !tbaa !19
  %141 = getelementptr inbounds i8, ptr %.5, i64 -32
  store i64 %.pre-phi244, ptr %141, align 8, !tbaa !20
  %142 = getelementptr inbounds i64, ptr %.5, i64 %137
  store i64 %140, ptr %142, align 8, !tbaa !19
  %143 = load i64, ptr %141, align 8, !tbaa !20
  %144 = add i64 %143, 1
  %145 = getelementptr inbounds i8, ptr %.5, i64 -24
  %146 = load i64, ptr %145, align 8, !tbaa !22
  %147 = icmp ugt i64 %144, %146
  br i1 %147, label %148, label %150

148:                                              ; preds = %136
  %149 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.5, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre190 = load ptr, ptr %35, align 8, !tbaa !5
  %.phi.trans.insert191 = getelementptr inbounds i8, ptr %.pre190, i64 32
  %.pre192 = load ptr, ptr %.phi.trans.insert191, align 8, !tbaa !17
  %.phi.trans.insert193 = getelementptr inbounds i8, ptr %149, i64 -32
  %.pre194 = load i64, ptr %.phi.trans.insert193, align 8, !tbaa !20
  %.pre245 = add i64 %.pre194, 1
  br label %150

150:                                              ; preds = %148, %136
  %.pre-phi246 = phi i64 [ %.pre245, %148 ], [ %144, %136 ]
  %151 = phi i64 [ %.pre194, %148 ], [ %143, %136 ]
  %152 = phi ptr [ %.pre192, %148 ], [ %138, %136 ]
  %.6 = phi ptr [ %149, %148 ], [ %.5, %136 ]
  %153 = getelementptr inbounds i8, ptr %152, i64 24
  %154 = load i64, ptr %153, align 8, !tbaa !19
  %155 = getelementptr inbounds i8, ptr %.6, i64 -32
  store i64 %.pre-phi246, ptr %155, align 8, !tbaa !20
  %156 = getelementptr inbounds i64, ptr %.6, i64 %151
  store i64 %154, ptr %156, align 8, !tbaa !19
  %157 = load i64, ptr %155, align 8, !tbaa !20
  %158 = add i64 %157, 1
  %159 = getelementptr inbounds i8, ptr %.6, i64 -24
  %160 = load i64, ptr %159, align 8, !tbaa !22
  %161 = icmp ugt i64 %158, %160
  br i1 %161, label %162, label %164

162:                                              ; preds = %150
  %163 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.6, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.phi.trans.insert195 = getelementptr inbounds i8, ptr %163, i64 -32
  %.pre196 = load i64, ptr %.phi.trans.insert195, align 8, !tbaa !20
  %.pre247 = add i64 %.pre196, 1
  br label %164

164:                                              ; preds = %162, %150
  %.pre-phi248 = phi i64 [ %.pre247, %162 ], [ %158, %150 ]
  %165 = phi i64 [ %.pre196, %162 ], [ %157, %150 ]
  %.7 = phi ptr [ %163, %162 ], [ %.6, %150 ]
  %166 = load ptr, ptr %39, align 8, !tbaa !5
  %167 = getelementptr inbounds i8, ptr %166, i64 32
  %168 = load ptr, ptr %167, align 8, !tbaa !17
  %169 = load i64, ptr %168, align 8, !tbaa !19
  %170 = getelementptr inbounds i8, ptr %.7, i64 -32
  store i64 %.pre-phi248, ptr %170, align 8, !tbaa !20
  %171 = getelementptr inbounds i64, ptr %.7, i64 %165
  store i64 %169, ptr %171, align 8, !tbaa !19
  %172 = load i64, ptr %170, align 8, !tbaa !20
  %173 = add i64 %172, 1
  %174 = getelementptr inbounds i8, ptr %.7, i64 -24
  %175 = load i64, ptr %174, align 8, !tbaa !22
  %176 = icmp ugt i64 %173, %175
  br i1 %176, label %177, label %179

177:                                              ; preds = %164
  %178 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.7, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre197 = load ptr, ptr %39, align 8, !tbaa !5
  %.phi.trans.insert198 = getelementptr inbounds i8, ptr %.pre197, i64 32
  %.pre199 = load ptr, ptr %.phi.trans.insert198, align 8, !tbaa !17
  %.phi.trans.insert200 = getelementptr inbounds i8, ptr %178, i64 -32
  %.pre201 = load i64, ptr %.phi.trans.insert200, align 8, !tbaa !20
  %.pre249 = add i64 %.pre201, 1
  br label %179

179:                                              ; preds = %177, %164
  %.pre-phi250 = phi i64 [ %.pre249, %177 ], [ %173, %164 ]
  %180 = phi i64 [ %.pre201, %177 ], [ %172, %164 ]
  %181 = phi ptr [ %.pre199, %177 ], [ %168, %164 ]
  %.8 = phi ptr [ %178, %177 ], [ %.7, %164 ]
  %182 = getelementptr inbounds i8, ptr %181, i64 8
  %183 = load i64, ptr %182, align 8, !tbaa !19
  %184 = getelementptr inbounds i8, ptr %.8, i64 -32
  store i64 %.pre-phi250, ptr %184, align 8, !tbaa !20
  %185 = getelementptr inbounds i64, ptr %.8, i64 %180
  store i64 %183, ptr %185, align 8, !tbaa !19
  %186 = load i64, ptr %184, align 8, !tbaa !20
  %187 = add i64 %186, 1
  %188 = getelementptr inbounds i8, ptr %.8, i64 -24
  %189 = load i64, ptr %188, align 8, !tbaa !22
  %190 = icmp ugt i64 %187, %189
  br i1 %190, label %191, label %193

191:                                              ; preds = %179
  %192 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.8, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre202 = load ptr, ptr %39, align 8, !tbaa !5
  %.phi.trans.insert203 = getelementptr inbounds i8, ptr %.pre202, i64 32
  %.pre204 = load ptr, ptr %.phi.trans.insert203, align 8, !tbaa !17
  %.phi.trans.insert205 = getelementptr inbounds i8, ptr %192, i64 -32
  %.pre206 = load i64, ptr %.phi.trans.insert205, align 8, !tbaa !20
  %.pre251 = add i64 %.pre206, 1
  br label %193

193:                                              ; preds = %191, %179
  %.pre-phi252 = phi i64 [ %.pre251, %191 ], [ %187, %179 ]
  %194 = phi i64 [ %.pre206, %191 ], [ %186, %179 ]
  %195 = phi ptr [ %.pre204, %191 ], [ %181, %179 ]
  %.9 = phi ptr [ %192, %191 ], [ %.8, %179 ]
  %196 = getelementptr inbounds i8, ptr %195, i64 16
  %197 = load i64, ptr %196, align 8, !tbaa !19
  %198 = getelementptr inbounds i8, ptr %.9, i64 -32
  store i64 %.pre-phi252, ptr %198, align 8, !tbaa !20
  %199 = getelementptr inbounds i64, ptr %.9, i64 %194
  store i64 %197, ptr %199, align 8, !tbaa !19
  %200 = load i64, ptr %198, align 8, !tbaa !20
  %201 = add i64 %200, 1
  %202 = getelementptr inbounds i8, ptr %.9, i64 -24
  %203 = load i64, ptr %202, align 8, !tbaa !22
  %204 = icmp ugt i64 %201, %203
  br i1 %204, label %205, label %207

205:                                              ; preds = %193
  %206 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.9, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.phi.trans.insert207 = getelementptr inbounds i8, ptr %206, i64 -32
  %.pre208 = load i64, ptr %.phi.trans.insert207, align 8, !tbaa !20
  %.pre253 = add i64 %.pre208, 1
  br label %207

207:                                              ; preds = %205, %193
  %.pre-phi254 = phi i64 [ %.pre253, %205 ], [ %201, %193 ]
  %208 = phi i64 [ %.pre208, %205 ], [ %200, %193 ]
  %.10 = phi ptr [ %206, %205 ], [ %.9, %193 ]
  %209 = load ptr, ptr %43, align 8, !tbaa !5
  %210 = getelementptr inbounds i8, ptr %209, i64 32
  %211 = load ptr, ptr %210, align 8, !tbaa !17
  %212 = load i64, ptr %211, align 8, !tbaa !19
  %213 = getelementptr inbounds i8, ptr %.10, i64 -32
  store i64 %.pre-phi254, ptr %213, align 8, !tbaa !20
  %214 = getelementptr inbounds i64, ptr %.10, i64 %208
  store i64 %212, ptr %214, align 8, !tbaa !19
  %215 = load i64, ptr %213, align 8, !tbaa !20
  %216 = add i64 %215, 1
  %217 = getelementptr inbounds i8, ptr %.10, i64 -24
  %218 = load i64, ptr %217, align 8, !tbaa !22
  %219 = icmp ugt i64 %216, %218
  br i1 %219, label %220, label %222

220:                                              ; preds = %207
  %221 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.10, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre209 = load ptr, ptr %43, align 8, !tbaa !5
  %.phi.trans.insert210 = getelementptr inbounds i8, ptr %.pre209, i64 32
  %.pre211 = load ptr, ptr %.phi.trans.insert210, align 8, !tbaa !17
  %.phi.trans.insert212 = getelementptr inbounds i8, ptr %221, i64 -32
  %.pre213 = load i64, ptr %.phi.trans.insert212, align 8, !tbaa !20
  %.pre255 = add i64 %.pre213, 1
  br label %222

222:                                              ; preds = %220, %207
  %.pre-phi256 = phi i64 [ %.pre255, %220 ], [ %216, %207 ]
  %223 = phi i64 [ %.pre213, %220 ], [ %215, %207 ]
  %224 = phi ptr [ %.pre211, %220 ], [ %211, %207 ]
  %.11 = phi ptr [ %221, %220 ], [ %.10, %207 ]
  %225 = getelementptr inbounds i8, ptr %224, i64 8
  %226 = load i64, ptr %225, align 8, !tbaa !19
  %227 = getelementptr inbounds i8, ptr %.11, i64 -32
  store i64 %.pre-phi256, ptr %227, align 8, !tbaa !20
  %228 = getelementptr inbounds i64, ptr %.11, i64 %223
  store i64 %226, ptr %228, align 8, !tbaa !19
  %229 = load i64, ptr %227, align 8, !tbaa !20
  %230 = add i64 %229, 1
  %231 = getelementptr inbounds i8, ptr %.11, i64 -24
  %232 = load i64, ptr %231, align 8, !tbaa !22
  %233 = icmp ugt i64 %230, %232
  br i1 %233, label %234, label %236

234:                                              ; preds = %222
  %235 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.11, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre214 = load ptr, ptr %43, align 8, !tbaa !5
  %.phi.trans.insert215 = getelementptr inbounds i8, ptr %.pre214, i64 32
  %.pre216 = load ptr, ptr %.phi.trans.insert215, align 8, !tbaa !17
  %.phi.trans.insert217 = getelementptr inbounds i8, ptr %235, i64 -32
  %.pre218 = load i64, ptr %.phi.trans.insert217, align 8, !tbaa !20
  %.pre257 = add i64 %.pre218, 1
  br label %236

236:                                              ; preds = %234, %222
  %.pre-phi258 = phi i64 [ %.pre257, %234 ], [ %230, %222 ]
  %237 = phi i64 [ %.pre218, %234 ], [ %229, %222 ]
  %238 = phi ptr [ %.pre216, %234 ], [ %224, %222 ]
  %.12 = phi ptr [ %235, %234 ], [ %.11, %222 ]
  %239 = getelementptr inbounds i8, ptr %238, i64 16
  %240 = load i64, ptr %239, align 8, !tbaa !19
  %241 = getelementptr inbounds i8, ptr %.12, i64 -32
  store i64 %.pre-phi258, ptr %241, align 8, !tbaa !20
  %242 = getelementptr inbounds i64, ptr %.12, i64 %237
  store i64 %240, ptr %242, align 8, !tbaa !19
  %243 = load i64, ptr %241, align 8, !tbaa !20
  %244 = add i64 %243, 1
  %245 = getelementptr inbounds i8, ptr %.12, i64 -24
  %246 = load i64, ptr %245, align 8, !tbaa !22
  %247 = icmp ugt i64 %244, %246
  br i1 %247, label %248, label %250

248:                                              ; preds = %236
  %249 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.12, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre219 = load ptr, ptr %43, align 8, !tbaa !5
  %.phi.trans.insert220 = getelementptr inbounds i8, ptr %.pre219, i64 32
  %.pre221 = load ptr, ptr %.phi.trans.insert220, align 8, !tbaa !17
  %.phi.trans.insert222 = getelementptr inbounds i8, ptr %249, i64 -32
  %.pre223 = load i64, ptr %.phi.trans.insert222, align 8, !tbaa !20
  %.pre259 = add i64 %.pre223, 1
  br label %250

250:                                              ; preds = %248, %236
  %.pre-phi260 = phi i64 [ %.pre259, %248 ], [ %244, %236 ]
  %251 = phi i64 [ %.pre223, %248 ], [ %243, %236 ]
  %252 = phi ptr [ %.pre221, %248 ], [ %238, %236 ]
  %.13 = phi ptr [ %249, %248 ], [ %.12, %236 ]
  %253 = getelementptr inbounds i8, ptr %252, i64 24
  %254 = load i64, ptr %253, align 8, !tbaa !19
  %255 = getelementptr inbounds i8, ptr %.13, i64 -32
  store i64 %.pre-phi260, ptr %255, align 8, !tbaa !20
  %256 = getelementptr inbounds i64, ptr %.13, i64 %251
  store i64 %254, ptr %256, align 8, !tbaa !19
  %257 = load i64, ptr %255, align 8, !tbaa !20
  %258 = add i64 %257, 1
  %259 = getelementptr inbounds i8, ptr %.13, i64 -24
  %260 = load i64, ptr %259, align 8, !tbaa !22
  %261 = icmp ugt i64 %258, %260
  br i1 %261, label %262, label %264

262:                                              ; preds = %250
  %263 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.13, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre224 = load ptr, ptr %43, align 8, !tbaa !5
  %.phi.trans.insert225 = getelementptr inbounds i8, ptr %.pre224, i64 32
  %.pre226 = load ptr, ptr %.phi.trans.insert225, align 8, !tbaa !17
  %.phi.trans.insert227 = getelementptr inbounds i8, ptr %263, i64 -32
  %.pre228 = load i64, ptr %.phi.trans.insert227, align 8, !tbaa !20
  %.pre261 = add i64 %.pre228, 1
  br label %264

264:                                              ; preds = %262, %250
  %.pre-phi262 = phi i64 [ %.pre261, %262 ], [ %258, %250 ]
  %265 = phi i64 [ %.pre228, %262 ], [ %257, %250 ]
  %266 = phi ptr [ %.pre226, %262 ], [ %252, %250 ]
  %.14 = phi ptr [ %263, %262 ], [ %.13, %250 ]
  %267 = getelementptr inbounds i8, ptr %266, i64 32
  %268 = load i64, ptr %267, align 8, !tbaa !19
  %269 = getelementptr inbounds i8, ptr %.14, i64 -32
  store i64 %.pre-phi262, ptr %269, align 8, !tbaa !20
  %270 = getelementptr inbounds i64, ptr %.14, i64 %265
  store i64 %268, ptr %270, align 8, !tbaa !19
  %271 = load i64, ptr %269, align 8, !tbaa !20
  %272 = add i64 %271, 1
  %273 = getelementptr inbounds i8, ptr %.14, i64 -24
  %274 = load i64, ptr %273, align 8, !tbaa !22
  %275 = icmp ugt i64 %272, %274
  br i1 %275, label %276, label %278

276:                                              ; preds = %264
  %277 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.14, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.phi.trans.insert229 = getelementptr inbounds i8, ptr %277, i64 -32
  %.pre230 = load i64, ptr %.phi.trans.insert229, align 8, !tbaa !20
  %.pre263 = add i64 %.pre230, 1
  br label %278

278:                                              ; preds = %276, %264
  %.pre-phi264 = phi i64 [ %.pre263, %276 ], [ %272, %264 ]
  %279 = phi i64 [ %.pre230, %276 ], [ %271, %264 ]
  %.15 = phi ptr [ %277, %276 ], [ %.14, %264 ]
  %280 = load ptr, ptr %47, align 8, !tbaa !5
  %281 = getelementptr inbounds i8, ptr %280, i64 32
  %282 = load ptr, ptr %281, align 8, !tbaa !17
  %283 = load i64, ptr %282, align 8, !tbaa !19
  %284 = getelementptr inbounds i8, ptr %.15, i64 -32
  store i64 %.pre-phi264, ptr %284, align 8, !tbaa !20
  %285 = getelementptr inbounds i64, ptr %.15, i64 %279
  store i64 %283, ptr %285, align 8, !tbaa !19
  %286 = load i64, ptr %284, align 8, !tbaa !20
  %287 = add i64 %286, 1
  %288 = getelementptr inbounds i8, ptr %.15, i64 -24
  %289 = load i64, ptr %288, align 8, !tbaa !22
  %290 = icmp ugt i64 %287, %289
  br i1 %290, label %291, label %293

291:                                              ; preds = %278
  %292 = call noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef nonnull %.15, i64 noundef 8, i64 noundef 1, i64 noundef 0)
  %.pre231 = load ptr, ptr %47, align 8, !tbaa !5
  %.phi.trans.insert232 = getelementptr inbounds i8, ptr %.pre231, i64 32
  %.pre233 = load ptr, ptr %.phi.trans.insert232, align 8, !tbaa !17
  %.phi.trans.insert234 = getelementptr inbounds i8, ptr %292, i64 -32
  %.pre235 = load i64, ptr %.phi.trans.insert234, align 8, !tbaa !20
  %.pre265 = add i64 %.pre235, 1
  br label %293

293:                                              ; preds = %278, %291
  %.pre-phi266 = phi i64 [ %287, %278 ], [ %.pre265, %291 ]
  %294 = phi i64 [ %286, %278 ], [ %.pre235, %291 ]
  %295 = phi ptr [ %282, %278 ], [ %.pre233, %291 ]
  %.16 = phi ptr [ %.15, %278 ], [ %292, %291 ]
  %296 = getelementptr inbounds i8, ptr %295, i64 8
  %297 = load i64, ptr %296, align 8, !tbaa !19
  %298 = getelementptr inbounds i8, ptr %.16, i64 -32
  store i64 %.pre-phi266, ptr %298, align 8, !tbaa !20
  %299 = getelementptr inbounds i64, ptr %.16, i64 %294
  store i64 %297, ptr %299, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #5
  %300 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %301 = getelementptr inbounds i8, ptr %300, i64 96
  %302 = load i32, ptr %301, align 8
  %303 = and i32 %302, -16776961
  %304 = or disjoint i32 %303, 295168
  store i32 %304, ptr %301, align 8
  %305 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %306 = getelementptr inbounds i8, ptr %305, i64 32
  store ptr @.str.3, ptr %306, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #5
  store i32 0, ptr %7, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #5
  %307 = load ptr, ptr %3, align 8, !tbaa !11
  %308 = load i64, ptr %298, align 8, !tbaa !20
  %309 = trunc i64 %308 to i32
  %310 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %307, i32 noundef %309, ptr noundef nonnull %.16, i32 noundef 0, ptr noundef nonnull %6)
  store i32 %310, ptr %8, align 4, !tbaa !16
  %311 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.216, ptr noundef null)
  %312 = icmp eq i32 %311, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #5
  br i1 %312, label %313, label %314

313:                                              ; preds = %293
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

314:                                              ; preds = %293
  %315 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %316 = getelementptr inbounds i8, ptr %315, i64 96
  %317 = load i32, ptr %316, align 8
  %318 = and i32 %317, -16776961
  %319 = or disjoint i32 %318, 295424
  store i32 %319, ptr %316, align 8
  %320 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %321 = getelementptr inbounds i8, ptr %320, i64 32
  store ptr @.str.3, ptr %321, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #5
  store i32 6, ptr %9, align 4, !tbaa !16
  %322 = load ptr, ptr %6, align 8, !tbaa !11
  %323 = getelementptr inbounds i8, ptr %322, i64 16
  %324 = load ptr, ptr %323, align 8, !tbaa !23
  %325 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %324, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.218)
  %326 = icmp eq i32 %325, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #5
  br i1 %326, label %327, label %328

327:                                              ; preds = %314
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

328:                                              ; preds = %314
  %329 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %330 = getelementptr inbounds i8, ptr %329, i64 96
  %331 = load i32, ptr %330, align 8
  %332 = and i32 %331, -16776961
  %333 = or disjoint i32 %332, 295680
  store i32 %333, ptr %330, align 8
  %334 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %335 = getelementptr inbounds i8, ptr %334, i64 32
  store ptr @.str.3, ptr %335, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %336 = load ptr, ptr %45, align 16, !tbaa !11
  %337 = load ptr, ptr %336, align 8, !tbaa !25
  %338 = load ptr, ptr %6, align 8, !tbaa !11
  %339 = getelementptr inbounds i8, ptr %338, i64 32
  %340 = load ptr, ptr %339, align 8, !tbaa !26
  %341 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.220)
  %342 = icmp eq i32 %341, 0
  br i1 %342, label %343, label %344

343:                                              ; preds = %328
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

344:                                              ; preds = %328
  %345 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %346 = getelementptr inbounds i8, ptr %345, i64 96
  %347 = load i32, ptr %346, align 8
  %348 = and i32 %347, -16776961
  %349 = or disjoint i32 %348, 295936
  store i32 %349, ptr %346, align 8
  %350 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %351 = getelementptr inbounds i8, ptr %350, i64 32
  store ptr @.str.3, ptr %351, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %352 = load ptr, ptr %37, align 16, !tbaa !11
  %353 = load ptr, ptr %352, align 8, !tbaa !25
  %354 = load ptr, ptr %6, align 8, !tbaa !11
  %355 = getelementptr inbounds i8, ptr %354, i64 32
  %356 = load ptr, ptr %355, align 8, !tbaa !26
  %357 = getelementptr inbounds i8, ptr %356, i64 8
  %358 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %353, ptr noundef nonnull align 8 dereferenceable(8) %357, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.222)
  %359 = icmp eq i32 %358, 0
  br i1 %359, label %360, label %361

360:                                              ; preds = %344
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

361:                                              ; preds = %344
  %362 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %363 = getelementptr inbounds i8, ptr %362, i64 96
  %364 = load i32, ptr %363, align 8
  %365 = and i32 %364, -16776961
  %366 = or disjoint i32 %365, 296192
  store i32 %366, ptr %363, align 8
  %367 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %368 = getelementptr inbounds i8, ptr %367, i64 32
  store ptr @.str.3, ptr %368, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %369 = load ptr, ptr %41, align 8, !tbaa !11
  %370 = load ptr, ptr %369, align 8, !tbaa !25
  %371 = load ptr, ptr %6, align 8, !tbaa !11
  %372 = getelementptr inbounds i8, ptr %371, i64 32
  %373 = load ptr, ptr %372, align 8, !tbaa !26
  %374 = getelementptr inbounds i8, ptr %373, i64 16
  %375 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %370, ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.224)
  %376 = icmp eq i32 %375, 0
  br i1 %376, label %377, label %378

377:                                              ; preds = %361
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

378:                                              ; preds = %361
  %379 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %380 = getelementptr inbounds i8, ptr %379, i64 96
  %381 = load i32, ptr %380, align 8
  %382 = and i32 %381, -16776961
  %383 = or disjoint i32 %382, 296448
  store i32 %383, ptr %380, align 8
  %384 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %385 = getelementptr inbounds i8, ptr %384, i64 32
  store ptr @.str.3, ptr %385, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %386 = load ptr, ptr %33, align 8, !tbaa !11
  %387 = load ptr, ptr %386, align 8, !tbaa !25
  %388 = load ptr, ptr %6, align 8, !tbaa !11
  %389 = getelementptr inbounds i8, ptr %388, i64 32
  %390 = load ptr, ptr %389, align 8, !tbaa !26
  %391 = getelementptr inbounds i8, ptr %390, i64 24
  %392 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %387, ptr noundef nonnull align 8 dereferenceable(8) %391, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.226)
  %393 = icmp eq i32 %392, 0
  br i1 %393, label %394, label %395

394:                                              ; preds = %378
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

395:                                              ; preds = %378
  %396 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %397 = getelementptr inbounds i8, ptr %396, i64 96
  %398 = load i32, ptr %397, align 8
  %399 = and i32 %398, -16776961
  %400 = or disjoint i32 %399, 296704
  store i32 %400, ptr %397, align 8
  %401 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %402 = getelementptr inbounds i8, ptr %401, i64 32
  store ptr @.str.3, ptr %402, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %403 = load ptr, ptr %49, align 8, !tbaa !11
  %404 = load ptr, ptr %403, align 8, !tbaa !25
  %405 = load ptr, ptr %6, align 8, !tbaa !11
  %406 = getelementptr inbounds i8, ptr %405, i64 32
  %407 = load ptr, ptr %406, align 8, !tbaa !26
  %408 = getelementptr inbounds i8, ptr %407, i64 32
  %409 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %404, ptr noundef nonnull align 8 dereferenceable(8) %408, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.228)
  %410 = icmp eq i32 %409, 0
  br i1 %410, label %411, label %412

411:                                              ; preds = %395
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

412:                                              ; preds = %395
  %413 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %414 = getelementptr inbounds i8, ptr %413, i64 96
  %415 = load i32, ptr %414, align 8
  %416 = and i32 %415, -16776961
  %417 = or disjoint i32 %416, 296960
  store i32 %417, ptr %414, align 8
  %418 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %419 = getelementptr inbounds i8, ptr %418, i64 32
  store ptr @.str.3, ptr %419, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %420 = load ptr, ptr %2, align 16, !tbaa !11
  %421 = load ptr, ptr %420, align 8, !tbaa !25
  %422 = load ptr, ptr %6, align 8, !tbaa !11
  %423 = getelementptr inbounds i8, ptr %422, i64 32
  %424 = load ptr, ptr %423, align 8, !tbaa !26
  %425 = getelementptr inbounds i8, ptr %424, i64 40
  %426 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %421, ptr noundef nonnull align 8 dereferenceable(8) %425, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.230)
  %427 = icmp eq i32 %426, 0
  br i1 %427, label %428, label %429

428:                                              ; preds = %412
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %707

429:                                              ; preds = %412
  %430 = load ptr, ptr %6, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %430)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #5
  %431 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %432 = getelementptr inbounds i8, ptr %431, i64 96
  %433 = load i32, ptr %432, align 8
  %434 = and i32 %433, -16776961
  %435 = or disjoint i32 %434, 299264
  store i32 %435, ptr %432, align 8
  %436 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %437 = getelementptr inbounds i8, ptr %436, i64 32
  store ptr @.str.3, ptr %437, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #5
  store i32 0, ptr %11, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #5
  %438 = load ptr, ptr %3, align 8, !tbaa !11
  %439 = load i64, ptr %298, align 8, !tbaa !20
  %440 = trunc i64 %439 to i32
  %441 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %438, i32 noundef %440, ptr noundef nonnull %.16, i32 noundef 100, ptr noundef nonnull %10)
  store i32 %441, ptr %12, align 4, !tbaa !16
  %442 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.231, ptr noundef null)
  %443 = icmp eq i32 %442, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #5
  br i1 %443, label %444, label %445

444:                                              ; preds = %429
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %706

445:                                              ; preds = %429
  %446 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %447 = getelementptr inbounds i8, ptr %446, i64 96
  %448 = load i32, ptr %447, align 8
  %449 = and i32 %448, -16776961
  %450 = or disjoint i32 %449, 299520
  store i32 %450, ptr %447, align 8
  %451 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %452 = getelementptr inbounds i8, ptr %451, i64 32
  store ptr @.str.3, ptr %452, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #5
  store i32 1, ptr %13, align 4, !tbaa !16
  %453 = load ptr, ptr %10, align 8, !tbaa !11
  %454 = getelementptr inbounds i8, ptr %453, i64 16
  %455 = load ptr, ptr %454, align 8, !tbaa !23
  %456 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %455, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.233)
  %457 = icmp eq i32 %456, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #5
  br i1 %457, label %458, label %459

458:                                              ; preds = %445
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %706

459:                                              ; preds = %445
  %460 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %461 = getelementptr inbounds i8, ptr %460, i64 96
  %462 = load i32, ptr %461, align 8
  %463 = and i32 %462, -16776961
  %464 = or disjoint i32 %463, 299776
  store i32 %464, ptr %461, align 8
  %465 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %466 = getelementptr inbounds i8, ptr %465, i64 32
  store ptr @.str.3, ptr %466, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %467 = load ptr, ptr %45, align 16, !tbaa !11
  %468 = load ptr, ptr %467, align 8, !tbaa !25
  %469 = load ptr, ptr %10, align 8, !tbaa !11
  %470 = getelementptr inbounds i8, ptr %469, i64 32
  %471 = load ptr, ptr %470, align 8, !tbaa !26
  %472 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %468, ptr noundef nonnull align 8 dereferenceable(8) %471, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.234)
  %473 = icmp eq i32 %472, 0
  br i1 %473, label %474, label %475

474:                                              ; preds = %459
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %706

475:                                              ; preds = %459
  %476 = load ptr, ptr %10, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %476)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #5
  %477 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %478 = getelementptr inbounds i8, ptr %477, i64 96
  %479 = load i32, ptr %478, align 8
  %480 = and i32 %479, -16776961
  %481 = or disjoint i32 %480, 302080
  store i32 %481, ptr %478, align 8
  %482 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %483 = getelementptr inbounds i8, ptr %482, i64 32
  store ptr @.str.3, ptr %483, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #5
  store i32 0, ptr %15, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #5
  %484 = load ptr, ptr %3, align 8, !tbaa !11
  %485 = load i64, ptr %298, align 8, !tbaa !20
  %486 = trunc i64 %485 to i32
  %487 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %484, i32 noundef %486, ptr noundef nonnull %.16, i32 noundef 50, ptr noundef nonnull %14)
  store i32 %487, ptr %16, align 4, !tbaa !16
  %488 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.235, ptr noundef null)
  %489 = icmp eq i32 %488, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #5
  br i1 %489, label %490, label %491

490:                                              ; preds = %475
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %705

491:                                              ; preds = %475
  %492 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %493 = getelementptr inbounds i8, ptr %492, i64 96
  %494 = load i32, ptr %493, align 8
  %495 = and i32 %494, -16776961
  %496 = or disjoint i32 %495, 302336
  store i32 %496, ptr %493, align 8
  %497 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %498 = getelementptr inbounds i8, ptr %497, i64 32
  store ptr @.str.3, ptr %498, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #5
  store i32 3, ptr %17, align 4, !tbaa !16
  %499 = load ptr, ptr %14, align 8, !tbaa !11
  %500 = getelementptr inbounds i8, ptr %499, i64 16
  %501 = load ptr, ptr %500, align 8, !tbaa !23
  %502 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %501, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.236)
  %503 = icmp eq i32 %502, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #5
  br i1 %503, label %504, label %505

504:                                              ; preds = %491
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %705

505:                                              ; preds = %491
  %506 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %507 = getelementptr inbounds i8, ptr %506, i64 96
  %508 = load i32, ptr %507, align 8
  %509 = and i32 %508, -16776961
  %510 = or disjoint i32 %509, 302592
  store i32 %510, ptr %507, align 8
  %511 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %512 = getelementptr inbounds i8, ptr %511, i64 32
  store ptr @.str.3, ptr %512, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %513 = load ptr, ptr %45, align 16, !tbaa !11
  %514 = load ptr, ptr %513, align 8, !tbaa !25
  %515 = load ptr, ptr %14, align 8, !tbaa !11
  %516 = getelementptr inbounds i8, ptr %515, i64 32
  %517 = load ptr, ptr %516, align 8, !tbaa !26
  %518 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef nonnull align 8 dereferenceable(8) %517, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.237)
  %519 = icmp eq i32 %518, 0
  br i1 %519, label %520, label %521

520:                                              ; preds = %505
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %705

521:                                              ; preds = %505
  %522 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %523 = getelementptr inbounds i8, ptr %522, i64 96
  %524 = load i32, ptr %523, align 8
  %525 = and i32 %524, -16776961
  %526 = or disjoint i32 %525, 302848
  store i32 %526, ptr %523, align 8
  %527 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %528 = getelementptr inbounds i8, ptr %527, i64 32
  store ptr @.str.3, ptr %528, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %529 = load ptr, ptr %37, align 16, !tbaa !11
  %530 = load ptr, ptr %529, align 8, !tbaa !25
  %531 = load ptr, ptr %14, align 8, !tbaa !11
  %532 = getelementptr inbounds i8, ptr %531, i64 32
  %533 = load ptr, ptr %532, align 8, !tbaa !26
  %534 = getelementptr inbounds i8, ptr %533, i64 8
  %535 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %530, ptr noundef nonnull align 8 dereferenceable(8) %534, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.238)
  %536 = icmp eq i32 %535, 0
  br i1 %536, label %537, label %538

537:                                              ; preds = %521
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %705

538:                                              ; preds = %521
  %539 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %540 = getelementptr inbounds i8, ptr %539, i64 96
  %541 = load i32, ptr %540, align 8
  %542 = and i32 %541, -16776961
  %543 = or disjoint i32 %542, 303104
  store i32 %543, ptr %540, align 8
  %544 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %545 = getelementptr inbounds i8, ptr %544, i64 32
  store ptr @.str.3, ptr %545, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %546 = load ptr, ptr %41, align 8, !tbaa !11
  %547 = load ptr, ptr %546, align 8, !tbaa !25
  %548 = load ptr, ptr %14, align 8, !tbaa !11
  %549 = getelementptr inbounds i8, ptr %548, i64 32
  %550 = load ptr, ptr %549, align 8, !tbaa !26
  %551 = getelementptr inbounds i8, ptr %550, i64 16
  %552 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %547, ptr noundef nonnull align 8 dereferenceable(8) %551, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.239)
  %553 = icmp eq i32 %552, 0
  br i1 %553, label %554, label %555

554:                                              ; preds = %538
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %705

555:                                              ; preds = %538
  %556 = load ptr, ptr %14, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %556)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #5
  %557 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %558 = getelementptr inbounds i8, ptr %557, i64 96
  %559 = load i32, ptr %558, align 8
  %560 = and i32 %559, -16776961
  %561 = or disjoint i32 %560, 305408
  store i32 %561, ptr %558, align 8
  %562 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %563 = getelementptr inbounds i8, ptr %562, i64 32
  store ptr @.str.3, ptr %563, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #5
  store i32 0, ptr %19, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #5
  %564 = load ptr, ptr %3, align 8, !tbaa !11
  %565 = load i64, ptr %298, align 8, !tbaa !20
  %566 = trunc i64 %565 to i32
  %567 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %564, i32 noundef %566, ptr noundef nonnull %.16, i32 noundef 40, ptr noundef nonnull %18)
  store i32 %567, ptr %20, align 4, !tbaa !16
  %568 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.240, ptr noundef null)
  %569 = icmp eq i32 %568, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #5
  br i1 %569, label %570, label %571

570:                                              ; preds = %555
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

571:                                              ; preds = %555
  %572 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %573 = getelementptr inbounds i8, ptr %572, i64 96
  %574 = load i32, ptr %573, align 8
  %575 = and i32 %574, -16776961
  %576 = or disjoint i32 %575, 305664
  store i32 %576, ptr %573, align 8
  %577 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %578 = getelementptr inbounds i8, ptr %577, i64 32
  store ptr @.str.3, ptr %578, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #5
  store i32 5, ptr %21, align 4, !tbaa !16
  %579 = load ptr, ptr %18, align 8, !tbaa !11
  %580 = getelementptr inbounds i8, ptr %579, i64 16
  %581 = load ptr, ptr %580, align 8, !tbaa !23
  %582 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareIijEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %581, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.241)
  %583 = icmp eq i32 %582, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #5
  br i1 %583, label %584, label %585

584:                                              ; preds = %571
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

585:                                              ; preds = %571
  %586 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %587 = getelementptr inbounds i8, ptr %586, i64 96
  %588 = load i32, ptr %587, align 8
  %589 = and i32 %588, -16776961
  %590 = or disjoint i32 %589, 305920
  store i32 %590, ptr %587, align 8
  %591 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %592 = getelementptr inbounds i8, ptr %591, i64 32
  store ptr @.str.3, ptr %592, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %593 = load ptr, ptr %45, align 16, !tbaa !11
  %594 = load ptr, ptr %593, align 8, !tbaa !25
  %595 = load ptr, ptr %18, align 8, !tbaa !11
  %596 = getelementptr inbounds i8, ptr %595, i64 32
  %597 = load ptr, ptr %596, align 8, !tbaa !26
  %598 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %594, ptr noundef nonnull align 8 dereferenceable(8) %597, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.242)
  %599 = icmp eq i32 %598, 0
  br i1 %599, label %600, label %601

600:                                              ; preds = %585
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

601:                                              ; preds = %585
  %602 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %603 = getelementptr inbounds i8, ptr %602, i64 96
  %604 = load i32, ptr %603, align 8
  %605 = and i32 %604, -16776961
  %606 = or disjoint i32 %605, 306176
  store i32 %606, ptr %603, align 8
  %607 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %608 = getelementptr inbounds i8, ptr %607, i64 32
  store ptr @.str.3, ptr %608, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %609 = load ptr, ptr %37, align 16, !tbaa !11
  %610 = load ptr, ptr %609, align 8, !tbaa !25
  %611 = load ptr, ptr %18, align 8, !tbaa !11
  %612 = getelementptr inbounds i8, ptr %611, i64 32
  %613 = load ptr, ptr %612, align 8, !tbaa !26
  %614 = getelementptr inbounds i8, ptr %613, i64 8
  %615 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %610, ptr noundef nonnull align 8 dereferenceable(8) %614, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.243)
  %616 = icmp eq i32 %615, 0
  br i1 %616, label %617, label %618

617:                                              ; preds = %601
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

618:                                              ; preds = %601
  %619 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %620 = getelementptr inbounds i8, ptr %619, i64 96
  %621 = load i32, ptr %620, align 8
  %622 = and i32 %621, -16776961
  %623 = or disjoint i32 %622, 306432
  store i32 %623, ptr %620, align 8
  %624 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %625 = getelementptr inbounds i8, ptr %624, i64 32
  store ptr @.str.3, ptr %625, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %626 = load ptr, ptr %41, align 8, !tbaa !11
  %627 = load ptr, ptr %626, align 8, !tbaa !25
  %628 = load ptr, ptr %18, align 8, !tbaa !11
  %629 = getelementptr inbounds i8, ptr %628, i64 32
  %630 = load ptr, ptr %629, align 8, !tbaa !26
  %631 = getelementptr inbounds i8, ptr %630, i64 16
  %632 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %627, ptr noundef nonnull align 8 dereferenceable(8) %631, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.244)
  %633 = icmp eq i32 %632, 0
  br i1 %633, label %634, label %635

634:                                              ; preds = %618
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

635:                                              ; preds = %618
  %636 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %637 = getelementptr inbounds i8, ptr %636, i64 96
  %638 = load i32, ptr %637, align 8
  %639 = and i32 %638, -16776961
  %640 = or disjoint i32 %639, 306688
  store i32 %640, ptr %637, align 8
  %641 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %642 = getelementptr inbounds i8, ptr %641, i64 32
  store ptr @.str.3, ptr %642, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %643 = load ptr, ptr %33, align 8, !tbaa !11
  %644 = load ptr, ptr %643, align 8, !tbaa !25
  %645 = load ptr, ptr %18, align 8, !tbaa !11
  %646 = getelementptr inbounds i8, ptr %645, i64 32
  %647 = load ptr, ptr %646, align 8, !tbaa !26
  %648 = getelementptr inbounds i8, ptr %647, i64 24
  %649 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %644, ptr noundef nonnull align 8 dereferenceable(8) %648, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.245)
  %650 = icmp eq i32 %649, 0
  br i1 %650, label %651, label %652

651:                                              ; preds = %635
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

652:                                              ; preds = %635
  %653 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %654 = getelementptr inbounds i8, ptr %653, i64 96
  %655 = load i32, ptr %654, align 8
  %656 = and i32 %655, -16776961
  %657 = or disjoint i32 %656, 306944
  store i32 %657, ptr %654, align 8
  %658 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %659 = getelementptr inbounds i8, ptr %658, i64 32
  store ptr @.str.3, ptr %659, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  %660 = load ptr, ptr %49, align 8, !tbaa !11
  %661 = load ptr, ptr %660, align 8, !tbaa !25
  %662 = load ptr, ptr %18, align 8, !tbaa !11
  %663 = getelementptr inbounds i8, ptr %662, i64 32
  %664 = load ptr, ptr %663, align 8, !tbaa !26
  %665 = getelementptr inbounds i8, ptr %664, i64 32
  %666 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb0EE7compareImmEEiRKT_RKT0_PKcS9_(ptr noundef nonnull align 8 dereferenceable(8) %661, ptr noundef nonnull align 8 dereferenceable(8) %665, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.246)
  %667 = icmp eq i32 %666, 0
  br i1 %667, label %668, label %669

668:                                              ; preds = %652
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %704

669:                                              ; preds = %652
  %670 = load ptr, ptr %18, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %670)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #5
  %671 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %672 = getelementptr inbounds i8, ptr %671, i64 96
  %673 = load i32, ptr %672, align 8
  %674 = and i32 %673, -16776961
  %675 = or disjoint i32 %674, 309248
  store i32 %675, ptr %672, align 8
  %676 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %677 = getelementptr inbounds i8, ptr %676, i64 32
  store ptr @.str.3, ptr %677, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #5
  store i32 0, ptr %23, align 4, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #5
  %678 = load ptr, ptr %3, align 8, !tbaa !11
  %679 = load i64, ptr %298, align 8, !tbaa !20
  %680 = trunc i64 %679 to i32
  %681 = call i32 @Longtail_GetExistingStoreIndex(ptr noundef %678, i32 noundef %680, ptr noundef nonnull %.16, i32 noundef 101, ptr noundef nonnull %22)
  store i32 %681, ptr %24, align 4, !tbaa !16
  %682 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIiiEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.247, ptr noundef null)
  %683 = icmp eq i32 %682, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #5
  br i1 %683, label %684, label %685

684:                                              ; preds = %669
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %703

685:                                              ; preds = %669
  %686 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %687 = getelementptr inbounds i8, ptr %686, i64 96
  %688 = load i32, ptr %687, align 8
  %689 = and i32 %688, -16776961
  %690 = or disjoint i32 %689, 309504
  store i32 %690, ptr %687, align 8
  %691 = call noundef ptr @_ZL19jc_test_get_fixturev()
  %692 = getelementptr inbounds i8, ptr %691, i64 32
  store ptr @.str.3, ptr %692, align 8, !tbaa !12
  call void @_Z28jc_test_increment_assertionsv()
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #5
  store i32 0, ptr %25, align 4, !tbaa !16
  %693 = load ptr, ptr %22, align 8, !tbaa !11
  %694 = getelementptr inbounds i8, ptr %693, i64 16
  %695 = load ptr, ptr %694, align 8, !tbaa !23
  %696 = call noundef i32 @_ZN21jc_test_cmp_eq_helperILb1EE7compareIijEEiRKT_RKT0_PKcS9_PN23jc_test_enable_argumentIXntsr18jc_test_is_pointerIS5_EE5valueEE4typeE(ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %695, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.248, ptr noundef null)
  %697 = icmp eq i32 %696, 0
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #5
  br i1 %697, label %698, label %699

698:                                              ; preds = %685
  call void @_Z21jc_test_set_test_faili(i32 noundef 1)
  br label %703

699:                                              ; preds = %685
  %700 = load ptr, ptr %22, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %700)
  call void @free(ptr noundef nonnull %298) #5
  %701 = load ptr, ptr %3, align 8, !tbaa !11
  call void @Longtail_Free(ptr noundef %701)
  call void @Longtail_Free(ptr noundef nonnull %27)
  call void @Longtail_Free(ptr noundef nonnull %30)
  call void @Longtail_Free(ptr noundef nonnull %34)
  call void @Longtail_Free(ptr noundef nonnull %38)
  call void @Longtail_Free(ptr noundef nonnull %42)
  call void @Longtail_Free(ptr noundef nonnull %46)
  %.not151 = icmp eq ptr %26, null
  br i1 %.not151, label %703, label %702

702:                                              ; preds = %699
  call void @Longtail_DisposeAPI(ptr noundef nonnull %26)
  br label %703

703:                                              ; preds = %699, %702, %698, %684
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #5
  br label %704

704:                                              ; preds = %703, %668, %651, %634, %617, %600, %584, %570
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #5
  br label %705

705:                                              ; preds = %704, %554, %537, %520, %504, %490
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #5
  br label %706

706:                                              ; preds = %705, %474, %458, %444
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #5
  br label %707

707:                                              ; preds = %706, %428, %411, %394, %377, %360, %343, %327, %313
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #5
  br label %708

708:                                              ; preds = %707, %60
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #5
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2) #5
  ret void
}

; Function Attrs: mustprogress uwtable
declare hidden noundef ptr @_ZL21TestCreateStoredBlockP16Longtail_HashAPIhjj(ptr noundef, i8 noundef zeroext, i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare hidden noundef ptr @_ZL22stbds_arrgrowf_wrapperImEPT_S1_mmm(ptr noundef, i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #3

declare i32 @Longtail_GetExistingStoreIndex(ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress 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 = { "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 = { mustprogress 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 #4 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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, !7, i64 8}
!6 = !{!"_ZTS20Longtail_StoredBlock", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!13, !7, i64 32}
!13 = !{!"_ZTS15jc_test_fixture", !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !7, i64 48, !7, i64 56, !14, i64 64, !10, i64 88, !10, i64 91, !10, i64 91, !10, i64 91, !10, i64 91, !10, i64 92, !10, i64 96, !10, i64 97, !10, i64 99, !10, i64 100}
!14 = !{!"_ZTS13jc_test_stats", !10, i64 0, !10, i64 4, !10, i64 6, !10, i64 8, !10, i64 12, !15, i64 16}
!15 = !{!"long", !8, i64 0}
!16 = !{!10, !10, i64 0}
!17 = !{!18, !7, i64 32}
!18 = !{!"_ZTS19Longtail_BlockIndex", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40}
!19 = !{!15, !15, i64 0}
!20 = !{!21, !15, i64 0}
!21 = !{!"_ZTS18stbds_array_header", !15, i64 0, !15, i64 8, !7, i64 16, !15, i64 24}
!22 = !{!21, !15, i64 8}
!23 = !{!24, !7, i64 16}
!24 = !{!"_ZTS19Longtail_StoreIndex", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !7, i64 48, !7, i64 56, !7, i64 64, !7, i64 72}
!25 = !{!18, !7, i64 0}
!26 = !{!24, !7, i64 32}


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