; LLVM IR from BlueBrain/CoreNeuron :: tests/unit/interleave_info/check_constructors.ll (ZN20interleave_info_test11test_methodEv)

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

%"class.coreneuron::InterleaveInfo" = type { i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"struct.boost::test_tools::tt_detail::ne_impl" = type { i8 }
%"class.boost::unit_test::lazy_ostream_impl.314" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"class.boost::test_tools::assertion_result" = type { %"class.boost::test_tools::assertion_result::readonly_property65", %"class.boost::shared_ptr.225" }
%"class.boost::test_tools::assertion_result::readonly_property65" = type { %"class.boost::unit_test::readonly_property.213" }
%"class.boost::unit_test::readonly_property.213" = type { %"class.boost::unit_test::class_property.98" }
%"class.boost::unit_test::class_property.98" = type { i8 }
%"class.boost::shared_ptr.225" = type { ptr, %"class.boost::detail::shared_count" }
%"class.boost::detail::shared_count" = type { ptr }
%"struct.boost::test_tools::tt_detail::equal_coll_impl" = type { i8 }
%"class.std::vector.315" = type { %"struct.std::_Vector_base.316" }
%"struct.std::_Vector_base.316" = type { %"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl" }
%"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl" = type { %"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.boost::test_tools::tt_detail::equal_impl_frwd" = type { i8 }

@_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE = external hidden global ptr, align 8
@.str.125 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.401 = external hidden unnamed_addr constant [104 x i8], align 1
@__const._ZN20interleave_info_test11test_methodEv.data1 = external hidden unnamed_addr constant [10 x i32], align 16
@__const._ZN20interleave_info_test11test_methodEv.data2 = external hidden unnamed_addr constant [9 x i64], align 16
@.str.402 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.403 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.404 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.405 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.406 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.407 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.408 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.409 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.416 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.418 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.422 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.423 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.425 = external hidden unnamed_addr constant [29 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv() #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, i64 noundef, ...) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef, ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN20interleave_info_test11test_methodEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i64, align 8
  %4 = alloca i64, align 8
  %5 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %6 = alloca [10 x i32], align 16
  %7 = alloca [9 x i64], align 16
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %11 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %12 = alloca %"struct.boost::test_tools::tt_detail::ne_impl", align 1
  %13 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %14 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %15 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %16 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %17 = alloca %"class.boost::test_tools::assertion_result", align 8
  %18 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %19 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %20 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %21 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %22 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %23 = alloca %"class.std::vector.315", align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca i64, align 8
  %27 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %28 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %29 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %30 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %31 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %32 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %33 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %34 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %35 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %36 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %37 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %38 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %39 = alloca %"class.boost::test_tools::assertion_result", align 8
  %40 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %41 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %42 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %43 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %44 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %45 = alloca %"class.boost::test_tools::assertion_result", align 8
  %46 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %47 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %48 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %49 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %50 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %51 = alloca %"class.boost::test_tools::assertion_result", align 8
  %52 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %53 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %54 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %55 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %56 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %57 = alloca %"class.boost::test_tools::assertion_result", align 8
  %58 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %59 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %60 = alloca %"class.boost::unit_test::basic_cstring", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %61 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #8
  store i64 4, ptr %3, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #8
  store i64 6, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 88, ptr %5) #8
  call void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %5) #8
  call void @llvm.lifetime.start.p0(i64 40, ptr %6) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %6, ptr align 16 @__const._ZN20interleave_info_test11test_methodEv.data1, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 72, ptr %7) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %7, ptr align 16 @__const._ZN20interleave_info_test11test_methodEv.data2, i64 72, i1 false)
  %62 = load i64, ptr %3, align 8, !tbaa !9
  %63 = trunc i64 %62 to i32
  %64 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 0
  store i32 %63, ptr %64, align 8, !tbaa !11
  %65 = load i64, ptr %4, align 8, !tbaa !9
  %66 = trunc i64 %65 to i32
  %67 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 1
  store i32 %66, ptr %67, align 4, !tbaa !14
  %68 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 2
  %69 = getelementptr inbounds [10 x i32], ptr %6, i64 0, i64 0
  %70 = load i64, ptr %3, align 8, !tbaa !9
  %71 = add i64 %70, 1
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef %69, i64 noundef %71)
          to label %72 unwind label %176

72:                                               ; preds = %1
  %73 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 3
  %74 = getelementptr inbounds [10 x i32], ptr %6, i64 0, i64 0
  %75 = getelementptr inbounds i32, ptr %74, i64 1
  %76 = load i64, ptr %4, align 8, !tbaa !9
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef %75, i64 noundef %76)
          to label %77 unwind label %176

77:                                               ; preds = %72
  %78 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 4
  %79 = getelementptr inbounds [10 x i32], ptr %6, i64 0, i64 0
  %80 = getelementptr inbounds i32, ptr %79, i64 1
  %81 = load i64, ptr %3, align 8, !tbaa !9
  %82 = add i64 %81, 1
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef %80, i64 noundef %82)
          to label %83 unwind label %176

83:                                               ; preds = %77
  %84 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 5
  %85 = getelementptr inbounds [10 x i32], ptr %6, i64 0, i64 0
  %86 = getelementptr inbounds i32, ptr %85, i64 1
  %87 = load i64, ptr %3, align 8, !tbaa !9
  %88 = add i64 %87, 1
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef %86, i64 noundef %88)
          to label %89 unwind label %176

89:                                               ; preds = %83
  br label %90

90:                                               ; preds = %105, %89
  %91 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef @.str.401, i64 noundef 103)
          to label %92 unwind label %176

92:                                               ; preds = %90
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %93 unwind label %176

93:                                               ; preds = %92
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef %10, i64 noundef 34, ptr noundef %11)
          to label %94 unwind label %176

94:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  %95 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %96 unwind label %180

96:                                               ; preds = %94
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %13, ptr noundef nonnull align 8 dereferenceable(9) %95, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %97 unwind label %180

97:                                               ; preds = %96
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef @.str.401, i64 noundef 103)
          to label %98 unwind label %184

98:                                               ; preds = %97
  %99 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 4
  %100 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 5
  %101 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_7ne_implEPiS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(ptr noundef nonnull align 8 dereferenceable(9) %13, ptr noundef %14, i64 noundef 34, i32 noundef 1, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef @.str.402, ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef @.str.403)
          to label %102 unwind label %184

102:                                              ; preds = %98
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  br label %103

103:                                              ; preds = %102
  %104 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %105 unwind label %176

105:                                              ; preds = %103
  br i1 %104, label %90, label %106, !llvm.loop !15

106:                                              ; preds = %105
  br label %107

107:                                              ; preds = %135, %106
  %108 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef @.str.401, i64 noundef 103)
          to label %109 unwind label %176

109:                                              ; preds = %107
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %110 unwind label %176

110:                                              ; preds = %109
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef %15, i64 noundef 38, ptr noundef %16)
          to label %111 unwind label %176

111:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #8
  %112 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 4
  %113 = load ptr, ptr %112, align 8, !tbaa !17
  %114 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 4
  %115 = load ptr, ptr %114, align 8, !tbaa !17
  %116 = load i64, ptr %3, align 8, !tbaa !9
  %117 = getelementptr inbounds i32, ptr %115, i64 %116
  %118 = getelementptr inbounds i32, ptr %117, i64 1
  %119 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 5
  %120 = load ptr, ptr %119, align 8, !tbaa !18
  %121 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 5
  %122 = load ptr, ptr %121, align 8, !tbaa !18
  %123 = load i64, ptr %3, align 8, !tbaa !9
  %124 = getelementptr inbounds i32, ptr %122, i64 %123
  %125 = getelementptr inbounds i32, ptr %124, i64 1
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind writable sret(%"class.boost::test_tools::assertion_result") align 8 %17, ptr noundef nonnull align 1 dereferenceable(1) %18, ptr noundef %113, ptr noundef %118, ptr noundef %120, ptr noundef %125)
          to label %126 unwind label %189

126:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #8
  %127 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %128 unwind label %193

128:                                              ; preds = %126
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %19, ptr noundef nonnull align 8 dereferenceable(9) %127, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %129 unwind label %193

129:                                              ; preds = %128
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef @.str.401, i64 noundef 103)
          to label %130 unwind label %197

130:                                              ; preds = %129
  %131 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(9) %19, ptr noundef %20, i64 noundef 38, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef @.str.402, ptr noundef @.str.404, ptr noundef @.str.403, ptr noundef @.str.405)
          to label %132 unwind label %197

132:                                              ; preds = %130
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %133

133:                                              ; preds = %132
  %134 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %135 unwind label %176

135:                                              ; preds = %133
  br i1 %134, label %107, label %136, !llvm.loop !19

136:                                              ; preds = %135
  %137 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 6
  %138 = getelementptr inbounds [10 x i32], ptr %6, i64 0, i64 0
  %139 = getelementptr inbounds i32, ptr %138, i64 4
  %140 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef %139, i64 noundef %140)
          to label %141 unwind label %176

141:                                              ; preds = %136
  %142 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 7
  %143 = getelementptr inbounds [9 x i64], ptr %7, i64 0, i64 0
  %144 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef %143, i64 noundef %144)
          to label %145 unwind label %176

145:                                              ; preds = %141
  %146 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 8
  %147 = getelementptr inbounds [9 x i64], ptr %7, i64 0, i64 0
  %148 = getelementptr inbounds i64, ptr %147, i64 1
  %149 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef %148, i64 noundef %149)
          to label %150 unwind label %176

150:                                              ; preds = %145
  %151 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 9
  %152 = getelementptr inbounds [9 x i64], ptr %7, i64 0, i64 0
  %153 = getelementptr inbounds i64, ptr %152, i64 2
  %154 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef %153, i64 noundef %154)
          to label %155 unwind label %176

155:                                              ; preds = %150
  %156 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 10
  %157 = getelementptr inbounds [9 x i64], ptr %7, i64 0, i64 0
  %158 = getelementptr inbounds i64, ptr %157, i64 3
  %159 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef %158, i64 noundef %159)
          to label %160 unwind label %176

160:                                              ; preds = %155
  %161 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 11
  %162 = getelementptr inbounds [9 x i64], ptr %7, i64 0, i64 0
  %163 = getelementptr inbounds i64, ptr %162, i64 4
  %164 = load i64, ptr %3, align 8, !tbaa !9
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %161, ptr noundef %163, i64 noundef %164)
          to label %165 unwind label %176

165:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 88, ptr %21) #8
  invoke void @_ZN10coreneuron14InterleaveInfoC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(88) %21, ptr noundef nonnull align 8 dereferenceable(88) %5)
          to label %166 unwind label %203

166:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 88, ptr %22) #8
  call void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %22) #8
  %167 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN10coreneuron14InterleaveInfoaSERKS0_(ptr noundef nonnull align 8 dereferenceable(88) %22, ptr noundef nonnull align 8 dereferenceable(88) %5)
          to label %168 unwind label %207

168:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #8
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  store ptr %21, ptr %24, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %169 unwind label %211

169:                                              ; preds = %168
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  store ptr %22, ptr %25, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %170 unwind label %215

170:                                              ; preds = %169
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  store i64 0, ptr %26, align 8, !tbaa !9
  br label %171

171:                                              ; preds = %398, %170
  %172 = load i64, ptr %26, align 8, !tbaa !9
  %173 = call noundef i64 @_ZNKSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %174 = icmp ult i64 %172, %173
  br i1 %174, label %219, label %175

175:                                              ; preds = %171
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %480

176:                                              ; preds = %160, %155, %150, %145, %141, %136, %133, %110, %109, %107, %103, %93, %92, %90, %83, %77, %72, %1
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %8, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %9, align 4
  br label %484

180:                                              ; preds = %96, %94
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %8, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %9, align 4
  br label %188

184:                                              ; preds = %98, %97
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %8, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %188

188:                                              ; preds = %184, %180
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  br label %484

189:                                              ; preds = %111
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %8, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %9, align 4
  br label %202

193:                                              ; preds = %128, %126
  %194 = landingpad { ptr, i32 }
          cleanup
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %8, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %9, align 4
  br label %201

197:                                              ; preds = %130, %129
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %8, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %201

201:                                              ; preds = %197, %193
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  br label %202

202:                                              ; preds = %201, %189
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  br label %484

203:                                              ; preds = %165
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %8, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %9, align 4
  br label %483

207:                                              ; preds = %166
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %8, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %9, align 4
  br label %482

211:                                              ; preds = %168
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %8, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %481

215:                                              ; preds = %169
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %8, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %481

219:                                              ; preds = %171
  br label %220

220:                                              ; preds = %238, %219
  %221 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef @.str.401, i64 noundef 103)
          to label %222 unwind label %401

222:                                              ; preds = %220
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %223 unwind label %401

223:                                              ; preds = %222
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %221, ptr noundef %27, i64 noundef 61, ptr noundef %28)
          to label %224 unwind label %401

224:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  %225 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %226 unwind label %405

226:                                              ; preds = %224
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %30, ptr noundef nonnull align 8 dereferenceable(9) %225, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %227 unwind label %405

227:                                              ; preds = %226
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef @.str.401, i64 noundef 103)
          to label %228 unwind label %409

228:                                              ; preds = %227
  %229 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 0
  %230 = load i64, ptr %26, align 8, !tbaa !9
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %230) #8
  %232 = load ptr, ptr %231, align 8, !tbaa !5
  %233 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %232, i32 0, i32 0
  %234 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %30, ptr noundef %31, i64 noundef 61, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %229, ptr noundef @.str.406, ptr noundef nonnull align 4 dereferenceable(4) %233, ptr noundef @.str.407)
          to label %235 unwind label %409

235:                                              ; preds = %228
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br label %236

236:                                              ; preds = %235
  %237 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %238 unwind label %401

238:                                              ; preds = %236
  br i1 %237, label %220, label %239, !llvm.loop !20

239:                                              ; preds = %238
  br label %240

240:                                              ; preds = %258, %239
  %241 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef @.str.401, i64 noundef 103)
          to label %242 unwind label %401

242:                                              ; preds = %240
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %243 unwind label %401

243:                                              ; preds = %242
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef %32, i64 noundef 62, ptr noundef %33)
          to label %244 unwind label %401

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  %245 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %246 unwind label %414

246:                                              ; preds = %244
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %35, ptr noundef nonnull align 8 dereferenceable(9) %245, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %247 unwind label %414

247:                                              ; preds = %246
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef @.str.401, i64 noundef 103)
          to label %248 unwind label %418

248:                                              ; preds = %247
  %249 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 1
  %250 = load i64, ptr %26, align 8, !tbaa !9
  %251 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %250) #8
  %252 = load ptr, ptr %251, align 8, !tbaa !5
  %253 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %252, i32 0, i32 1
  %254 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %35, ptr noundef %36, i64 noundef 62, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %249, ptr noundef @.str.408, ptr noundef nonnull align 4 dereferenceable(4) %253, ptr noundef @.str.409)
          to label %255 unwind label %418

255:                                              ; preds = %248
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br label %256

256:                                              ; preds = %255
  %257 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %258 unwind label %401

258:                                              ; preds = %256
  br i1 %257, label %240, label %259, !llvm.loop !21

259:                                              ; preds = %258
  br label %260

260:                                              ; preds = %294, %259
  %261 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef @.str.401, i64 noundef 103)
          to label %262 unwind label %401

262:                                              ; preds = %260
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %263 unwind label %401

263:                                              ; preds = %262
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %261, ptr noundef %37, i64 noundef 67, ptr noundef %38)
          to label %264 unwind label %401

264:                                              ; preds = %263
  call void @llvm.lifetime.start.p0(i64 24, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #8
  %265 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 2
  %266 = load ptr, ptr %265, align 8, !tbaa !22
  %267 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 2
  %268 = load ptr, ptr %267, align 8, !tbaa !22
  %269 = load i64, ptr %3, align 8, !tbaa !9
  %270 = getelementptr inbounds i32, ptr %268, i64 %269
  %271 = getelementptr inbounds i32, ptr %270, i64 1
  %272 = load i64, ptr %26, align 8, !tbaa !9
  %273 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %272) #8
  %274 = load ptr, ptr %273, align 8, !tbaa !5
  %275 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %274, i32 0, i32 2
  %276 = load ptr, ptr %275, align 8, !tbaa !22
  %277 = load i64, ptr %26, align 8, !tbaa !9
  %278 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %277) #8
  %279 = load ptr, ptr %278, align 8, !tbaa !5
  %280 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %279, i32 0, i32 2
  %281 = load ptr, ptr %280, align 8, !tbaa !22
  %282 = load i64, ptr %3, align 8, !tbaa !9
  %283 = getelementptr inbounds i32, ptr %281, i64 %282
  %284 = getelementptr inbounds i32, ptr %283, i64 1
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind writable sret(%"class.boost::test_tools::assertion_result") align 8 %39, ptr noundef nonnull align 1 dereferenceable(1) %40, ptr noundef %266, ptr noundef %271, ptr noundef %276, ptr noundef %284)
          to label %285 unwind label %423

285:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  %286 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %287 unwind label %427

287:                                              ; preds = %285
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %41, ptr noundef nonnull align 8 dereferenceable(9) %286, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %288 unwind label %427

288:                                              ; preds = %287
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %42, ptr noundef @.str.401, i64 noundef 103)
          to label %289 unwind label %431

289:                                              ; preds = %288
  %290 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(9) %41, ptr noundef %42, i64 noundef 67, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef @.str.410, ptr noundef @.str.411, ptr noundef @.str.412, ptr noundef @.str.413)
          to label %291 unwind label %431

291:                                              ; preds = %289
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  br label %292

292:                                              ; preds = %291
  %293 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %294 unwind label %401

294:                                              ; preds = %292
  br i1 %293, label %260, label %295, !llvm.loop !23

295:                                              ; preds = %294
  br label %296

296:                                              ; preds = %328, %295
  %297 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef @.str.401, i64 noundef 103)
          to label %298 unwind label %401

298:                                              ; preds = %296
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %299 unwind label %401

299:                                              ; preds = %298
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %297, ptr noundef %43, i64 noundef 72, ptr noundef %44)
          to label %300 unwind label %401

300:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #8
  %301 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 3
  %302 = load ptr, ptr %301, align 8, !tbaa !24
  %303 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 3
  %304 = load ptr, ptr %303, align 8, !tbaa !24
  %305 = load i64, ptr %4, align 8, !tbaa !9
  %306 = getelementptr inbounds i32, ptr %304, i64 %305
  %307 = load i64, ptr %26, align 8, !tbaa !9
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %307) #8
  %309 = load ptr, ptr %308, align 8, !tbaa !5
  %310 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %309, i32 0, i32 3
  %311 = load ptr, ptr %310, align 8, !tbaa !24
  %312 = load i64, ptr %26, align 8, !tbaa !9
  %313 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %312) #8
  %314 = load ptr, ptr %313, align 8, !tbaa !5
  %315 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %314, i32 0, i32 3
  %316 = load ptr, ptr %315, align 8, !tbaa !24
  %317 = load i64, ptr %4, align 8, !tbaa !9
  %318 = getelementptr inbounds i32, ptr %316, i64 %317
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind writable sret(%"class.boost::test_tools::assertion_result") align 8 %45, ptr noundef nonnull align 1 dereferenceable(1) %46, ptr noundef %302, ptr noundef %306, ptr noundef %311, ptr noundef %318)
          to label %319 unwind label %437

319:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  %320 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %321 unwind label %441

321:                                              ; preds = %319
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %47, ptr noundef nonnull align 8 dereferenceable(9) %320, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %322 unwind label %441

322:                                              ; preds = %321
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef @.str.401, i64 noundef 103)
          to label %323 unwind label %445

323:                                              ; preds = %322
  %324 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(9) %47, ptr noundef %48, i64 noundef 72, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef @.str.414, ptr noundef @.str.415, ptr noundef @.str.416, ptr noundef @.str.417)
          to label %325 unwind label %445

325:                                              ; preds = %323
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  br label %326

326:                                              ; preds = %325
  %327 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %328 unwind label %401

328:                                              ; preds = %326
  br i1 %327, label %296, label %329, !llvm.loop !25

329:                                              ; preds = %328
  br label %330

330:                                              ; preds = %362, %329
  %331 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef @.str.401, i64 noundef 103)
          to label %332 unwind label %401

332:                                              ; preds = %330
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %333 unwind label %401

333:                                              ; preds = %332
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %331, ptr noundef %49, i64 noundef 77, ptr noundef %50)
          to label %334 unwind label %401

334:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #8
  %335 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 6
  %336 = load ptr, ptr %335, align 8, !tbaa !26
  %337 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 6
  %338 = load ptr, ptr %337, align 8, !tbaa !26
  %339 = load i64, ptr %3, align 8, !tbaa !9
  %340 = getelementptr inbounds i32, ptr %338, i64 %339
  %341 = load i64, ptr %26, align 8, !tbaa !9
  %342 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %341) #8
  %343 = load ptr, ptr %342, align 8, !tbaa !5
  %344 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %343, i32 0, i32 6
  %345 = load ptr, ptr %344, align 8, !tbaa !26
  %346 = load i64, ptr %26, align 8, !tbaa !9
  %347 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %346) #8
  %348 = load ptr, ptr %347, align 8, !tbaa !5
  %349 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %348, i32 0, i32 6
  %350 = load ptr, ptr %349, align 8, !tbaa !26
  %351 = load i64, ptr %3, align 8, !tbaa !9
  %352 = getelementptr inbounds i32, ptr %350, i64 %351
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind writable sret(%"class.boost::test_tools::assertion_result") align 8 %51, ptr noundef nonnull align 1 dereferenceable(1) %52, ptr noundef %336, ptr noundef %340, ptr noundef %345, ptr noundef %352)
          to label %353 unwind label %451

353:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  %354 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %355 unwind label %455

355:                                              ; preds = %353
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %53, ptr noundef nonnull align 8 dereferenceable(9) %354, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %356 unwind label %455

356:                                              ; preds = %355
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef @.str.401, i64 noundef 103)
          to label %357 unwind label %459

357:                                              ; preds = %356
  %358 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(9) %53, ptr noundef %54, i64 noundef 77, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef @.str.418, ptr noundef @.str.419, ptr noundef @.str.420, ptr noundef @.str.421)
          to label %359 unwind label %459

359:                                              ; preds = %357
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  br label %360

360:                                              ; preds = %359
  %361 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %362 unwind label %401

362:                                              ; preds = %360
  br i1 %361, label %330, label %363, !llvm.loop !27

363:                                              ; preds = %362
  br label %364

364:                                              ; preds = %396, %363
  %365 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef @.str.401, i64 noundef 103)
          to label %366 unwind label %401

366:                                              ; preds = %364
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %367 unwind label %401

367:                                              ; preds = %366
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %365, ptr noundef %55, i64 noundef 82, ptr noundef %56)
          to label %368 unwind label %401

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #8
  %369 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 11
  %370 = load ptr, ptr %369, align 8, !tbaa !28
  %371 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %5, i32 0, i32 11
  %372 = load ptr, ptr %371, align 8, !tbaa !28
  %373 = load i64, ptr %3, align 8, !tbaa !9
  %374 = getelementptr inbounds i64, ptr %372, i64 %373
  %375 = load i64, ptr %26, align 8, !tbaa !9
  %376 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %375) #8
  %377 = load ptr, ptr %376, align 8, !tbaa !5
  %378 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %377, i32 0, i32 11
  %379 = load ptr, ptr %378, align 8, !tbaa !28
  %380 = load i64, ptr %26, align 8, !tbaa !9
  %381 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %380) #8
  %382 = load ptr, ptr %381, align 8, !tbaa !5
  %383 = getelementptr inbounds %"class.coreneuron::InterleaveInfo", ptr %382, i32 0, i32 11
  %384 = load ptr, ptr %383, align 8, !tbaa !28
  %385 = load i64, ptr %3, align 8, !tbaa !9
  %386 = getelementptr inbounds i64, ptr %384, i64 %385
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPmS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind writable sret(%"class.boost::test_tools::assertion_result") align 8 %57, ptr noundef nonnull align 1 dereferenceable(1) %58, ptr noundef %370, ptr noundef %374, ptr noundef %379, ptr noundef %386)
          to label %387 unwind label %465

387:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  %388 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %389 unwind label %469

389:                                              ; preds = %387
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %59, ptr noundef nonnull align 8 dereferenceable(9) %388, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %390 unwind label %469

390:                                              ; preds = %389
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef @.str.401, i64 noundef 103)
          to label %391 unwind label %473

391:                                              ; preds = %390
  %392 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(9) %59, ptr noundef %60, i64 noundef 82, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef @.str.422, ptr noundef @.str.423, ptr noundef @.str.424, ptr noundef @.str.425)
          to label %393 unwind label %473

393:                                              ; preds = %391
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  br label %394

394:                                              ; preds = %393
  %395 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %396 unwind label %401

396:                                              ; preds = %394
  br i1 %395, label %364, label %397, !llvm.loop !29

397:                                              ; preds = %396
  br label %398

398:                                              ; preds = %397
  %399 = load i64, ptr %26, align 8, !tbaa !9
  %400 = add i64 %399, 1
  store i64 %400, ptr %26, align 8, !tbaa !9
  br label %171, !llvm.loop !30

401:                                              ; preds = %394, %367, %366, %364, %360, %333, %332, %330, %326, %299, %298, %296, %292, %263, %262, %260, %256, %243, %242, %240, %236, %223, %222, %220
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %8, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %9, align 4
  br label %479

405:                                              ; preds = %226, %224
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %8, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %9, align 4
  br label %413

409:                                              ; preds = %228, %227
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %8, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %413

413:                                              ; preds = %409, %405
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br label %479

414:                                              ; preds = %246, %244
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %8, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %9, align 4
  br label %422

418:                                              ; preds = %248, %247
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %8, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %422

422:                                              ; preds = %418, %414
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br label %479

423:                                              ; preds = %264
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %8, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %9, align 4
  br label %436

427:                                              ; preds = %287, %285
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %8, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %9, align 4
  br label %435

431:                                              ; preds = %289, %288
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %8, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %435

435:                                              ; preds = %431, %427
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #8
  br label %436

436:                                              ; preds = %435, %423
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %39) #8
  br label %479

437:                                              ; preds = %300
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %8, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %9, align 4
  br label %450

441:                                              ; preds = %321, %319
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %8, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %9, align 4
  br label %449

445:                                              ; preds = %323, %322
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %8, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %449

449:                                              ; preds = %445, %441
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  br label %450

450:                                              ; preds = %449, %437
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #8
  br label %479

451:                                              ; preds = %334
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %8, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %9, align 4
  br label %464

455:                                              ; preds = %355, %353
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %8, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %9, align 4
  br label %463

459:                                              ; preds = %357, %356
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %8, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %463

463:                                              ; preds = %459, %455
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #8
  br label %464

464:                                              ; preds = %463, %451
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #8
  br label %479

465:                                              ; preds = %368
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %8, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %9, align 4
  br label %478

469:                                              ; preds = %389, %387
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %8, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %9, align 4
  br label %477

473:                                              ; preds = %391, %390
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %8, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %9, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  br label %477

477:                                              ; preds = %473, %469
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #8
  br label %478

478:                                              ; preds = %477, %465
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #8
  br label %479

479:                                              ; preds = %478, %464, %450, %436, %422, %413, %401
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %481

480:                                              ; preds = %175
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %22) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr %22) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %21) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 72, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr %6) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %5) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  ret void

481:                                              ; preds = %479, %215, %211
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #8
  br label %482

482:                                              ; preds = %481, %207
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %22) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr %22) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %21) #8
  br label %483

483:                                              ; preds = %482, %203
  call void @llvm.lifetime.end.p0(i64 88, ptr %21) #8
  br label %484

484:                                              ; preds = %483, %202, %188, %176
  call void @llvm.lifetime.end.p0(i64 72, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr %6) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %5) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #8
  br label %485

485:                                              ; preds = %484
  %486 = load ptr, ptr %8, align 8
  %487 = load i32, ptr %9, align 4
  %488 = insertvalue { ptr, i32 } poison, ptr %486, 0
  %489 = insertvalue { ptr, i32 } %488, i32 %487, 1
  resume { ptr, i32 } %489
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_7ne_implEPiS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv() #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::test_tools::assertion_result") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef, ptr noundef, ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef) #4

declare void @_ZN10coreneuron14InterleaveInfoC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(88), ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #6

declare noundef nonnull align 8 dereferenceable(88) ptr @_ZN10coreneuron14InterleaveInfoaSERKS0_(ptr noundef nonnull align 8 dereferenceable(88), ptr noundef nonnull align 8 dereferenceable(88)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPmS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::test_tools::assertion_result") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef, ptr noundef, ptr noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: nounwind
declare void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(9)) unnamed_addr #1 align 2

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

!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 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTSN10coreneuron14InterleaveInfoE", !13, i64 0, !13, i64 4, !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, !6, i64 80}
!13 = !{!"int", !7, i64 0}
!14 = !{!12, !13, i64 4}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = !{!12, !6, i64 24}
!18 = !{!12, !6, i64 32}
!19 = distinct !{!19, !16}
!20 = distinct !{!20, !16}
!21 = distinct !{!21, !16}
!22 = !{!12, !6, i64 8}
!23 = distinct !{!23, !16}
!24 = !{!12, !6, i64 16}
!25 = distinct !{!25, !16}
!26 = !{!12, !6, i64 40}
!27 = distinct !{!27, !16}
!28 = !{!12, !6, i64 80}
!29 = distinct !{!29, !16}
!30 = distinct !{!30, !16}


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

%"class.coreneuron::InterleaveInfo" = type { i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"class.boost::unit_test::lazy_ostream_impl.314" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"class.boost::test_tools::assertion_result" = type { %"class.boost::test_tools::assertion_result::readonly_property65", %"class.boost::shared_ptr.225" }
%"class.boost::test_tools::assertion_result::readonly_property65" = type { %"class.boost::unit_test::readonly_property.213" }
%"class.boost::unit_test::readonly_property.213" = type { %"class.boost::unit_test::class_property.98" }
%"class.boost::unit_test::class_property.98" = type { i8 }
%"class.boost::shared_ptr.225" = type { ptr, %"class.boost::detail::shared_count" }
%"class.boost::detail::shared_count" = type { ptr }
%"struct.boost::test_tools::tt_detail::equal_coll_impl" = type { i8 }
%"class.std::vector.315" = type { %"struct.std::_Vector_base.316" }
%"struct.std::_Vector_base.316" = type { %"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl" }
%"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl" = type { %"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<coreneuron::InterleaveInfo *, std::allocator<coreneuron::InterleaveInfo *>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE = external hidden local_unnamed_addr global ptr, align 8
@.str.125 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.401 = external hidden unnamed_addr constant [104 x i8], align 1
@__const._ZN20interleave_info_test11test_methodEv.data1 = external hidden unnamed_addr constant [10 x i32], align 16
@__const._ZN20interleave_info_test11test_methodEv.data2 = external hidden unnamed_addr constant [9 x i64], align 16
@.str.402 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.403 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.404 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.405 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.406 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.407 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.408 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.409 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.416 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.418 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.422 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.423 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.425 = external hidden unnamed_addr constant [29 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

declare i32 @__gxx_personality_v0(...)

; 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 nounwind uwtable
declare dso_local void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv() local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, i64 noundef, ...) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN20interleave_info_test11test_methodEv(ptr nocapture noundef nonnull readnone align 1 dereferenceable(1) %0) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %3 = alloca [10 x i32], align 16
  %4 = alloca [9 x i64], align 16
  %5 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %6 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %7 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %8 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %9 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %10 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %11 = alloca %"class.boost::test_tools::assertion_result", align 8
  %12 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %13 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %14 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %15 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %16 = alloca %"class.coreneuron::InterleaveInfo", align 8
  %17 = alloca %"class.std::vector.315", align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %21 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %22 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %23 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %24 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %25 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %26 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %27 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %28 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %29 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %30 = alloca %"class.boost::test_tools::assertion_result", align 8
  %31 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %32 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %33 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %34 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %35 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %36 = alloca %"class.boost::test_tools::assertion_result", align 8
  %37 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %38 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %39 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %40 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %41 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %42 = alloca %"class.boost::test_tools::assertion_result", align 8
  %43 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %44 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %45 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %46 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %47 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %48 = alloca %"class.boost::test_tools::assertion_result", align 8
  %49 = alloca %"struct.boost::test_tools::tt_detail::equal_coll_impl", align 1
  %50 = alloca %"class.boost::unit_test::lazy_ostream_impl.314", align 8
  %51 = alloca %"class.boost::unit_test::basic_cstring", align 8
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %2) #8
  call void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %2) #8
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %3, ptr noundef nonnull align 16 dereferenceable(40) @__const._ZN20interleave_info_test11test_methodEv.data1, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %4) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(72) %4, ptr noundef nonnull align 16 dereferenceable(72) @__const._ZN20interleave_info_test11test_methodEv.data2, i64 72, i1 false)
  store i32 4, ptr %2, align 8, !tbaa !5
  %52 = getelementptr inbounds i8, ptr %2, i64 4
  store i32 6, ptr %52, align 4, !tbaa !11
  %53 = getelementptr inbounds i8, ptr %2, i64 8
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull %3, i64 noundef 5)
          to label %54 unwind label %.loopexit.split-lp97.loopexit.split-lp

54:                                               ; preds = %1
  %55 = getelementptr inbounds i8, ptr %2, i64 16
  %56 = getelementptr inbounds i8, ptr %3, i64 4
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull %56, i64 noundef 6)
          to label %57 unwind label %.loopexit.split-lp97.loopexit.split-lp

57:                                               ; preds = %54
  %58 = getelementptr inbounds i8, ptr %2, i64 24
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull %56, i64 noundef 5)
          to label %59 unwind label %.loopexit.split-lp97.loopexit.split-lp

59:                                               ; preds = %57
  %60 = getelementptr inbounds i8, ptr %2, i64 32
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull %56, i64 noundef 5)
          to label %.preheader101 unwind label %.loopexit.split-lp97.loopexit.split-lp

.preheader101:                                    ; preds = %59, %66
  %61 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %6)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull %5, i64 noundef 34, ptr noundef nonnull %6)
          to label %62 unwind label %.loopexit.split-lp97.loopexit

62:                                               ; preds = %.preheader101
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #8
  %63 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %7, ptr noundef nonnull align 8 dereferenceable(9) %63, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %64 unwind label %104

64:                                               ; preds = %62
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull @.str.401, i64 noundef 103)
  %65 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_7ne_implEPiS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(ptr noundef nonnull align 8 dereferenceable(9) %7, ptr noundef nonnull %8, i64 noundef 34, i32 noundef 1, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull @.str.402, ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull @.str.403)
          to label %66 unwind label %106

66:                                               ; preds = %64
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  %67 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %67, label %.preheader101, label %.preheader95, !llvm.loop !13

.preheader95:                                     ; preds = %66, %78
  %68 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %10)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull %9, i64 noundef 38, ptr noundef nonnull %10)
          to label %69 unwind label %.loopexit96

69:                                               ; preds = %.preheader95
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #8
  %70 = load ptr, ptr %58, align 8, !tbaa !15
  %71 = getelementptr inbounds i8, ptr %70, i64 20
  %72 = load ptr, ptr %60, align 8, !tbaa !16
  %73 = getelementptr inbounds i8, ptr %72, i64 20
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::test_tools::assertion_result") align 8 %11, ptr noundef nonnull align 1 dereferenceable(1) %12, ptr noundef %70, ptr noundef nonnull %71, ptr noundef %72, ptr noundef nonnull %73)
          to label %74 unwind label %109

74:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #8
  %75 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %13, ptr noundef nonnull align 8 dereferenceable(9) %75, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %76 unwind label %111

76:                                               ; preds = %74
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull @.str.401, i64 noundef 103)
  %77 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(9) %13, ptr noundef nonnull %14, i64 noundef 38, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef nonnull @.str.402, ptr noundef nonnull @.str.404, ptr noundef nonnull @.str.403, ptr noundef nonnull @.str.405)
          to label %78 unwind label %113

78:                                               ; preds = %76
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  %79 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %79, label %.preheader95, label %80, !llvm.loop !17

80:                                               ; preds = %78
  %81 = getelementptr inbounds i8, ptr %2, i64 40
  %82 = getelementptr inbounds i8, ptr %3, i64 16
  invoke void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull %82, i64 noundef 4)
          to label %83 unwind label %.loopexit.split-lp97.loopexit.split-lp

83:                                               ; preds = %80
  %84 = getelementptr inbounds i8, ptr %2, i64 48
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull %4, i64 noundef 4)
          to label %85 unwind label %.loopexit.split-lp97.loopexit.split-lp

85:                                               ; preds = %83
  %86 = getelementptr inbounds i8, ptr %2, i64 56
  %87 = getelementptr inbounds i8, ptr %4, i64 8
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull %87, i64 noundef 4)
          to label %88 unwind label %.loopexit.split-lp97.loopexit.split-lp

88:                                               ; preds = %85
  %89 = getelementptr inbounds i8, ptr %2, i64 64
  %90 = getelementptr inbounds i8, ptr %4, i64 16
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull %90, i64 noundef 4)
          to label %91 unwind label %.loopexit.split-lp97.loopexit.split-lp

91:                                               ; preds = %88
  %92 = getelementptr inbounds i8, ptr %2, i64 72
  %93 = getelementptr inbounds i8, ptr %4, i64 24
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull %93, i64 noundef 4)
          to label %94 unwind label %.loopexit.split-lp97.loopexit.split-lp

94:                                               ; preds = %91
  %95 = getelementptr inbounds i8, ptr %2, i64 80
  %96 = getelementptr inbounds i8, ptr %4, i64 32
  invoke void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull %96, i64 noundef 4)
          to label %97 unwind label %.loopexit.split-lp97.loopexit.split-lp

97:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %15) #8
  invoke void @_ZN10coreneuron14InterleaveInfoC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(88) %15, ptr noundef nonnull align 8 dereferenceable(88) %2)
          to label %98 unwind label %117

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %16) #8
  call void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %16) #8
  %99 = invoke noundef nonnull align 8 dereferenceable(88) ptr @_ZN10coreneuron14InterleaveInfoaSERKS0_(ptr noundef nonnull align 8 dereferenceable(88) %16, ptr noundef nonnull align 8 dereferenceable(88) %2)
          to label %100 unwind label %119

100:                                              ; preds = %98
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  store ptr %15, ptr %18, align 8, !tbaa !12
  invoke void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %101 unwind label %121

101:                                              ; preds = %100
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  store ptr %16, ptr %19, align 8, !tbaa !12
  invoke void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %102 unwind label %123

102:                                              ; preds = %101
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  %103 = call noundef i64 @_ZNKSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %.not = icmp eq i64 %103, 0
  br i1 %.not, label %._crit_edge, label %.preheader94

.preheader94:                                     ; preds = %102, %221
  %.0105 = phi i64 [ %222, %221 ], [ 0, %102 ]
  br label %125

._crit_edge:                                      ; preds = %221, %102
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %16) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %15) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %2) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %2) #8
  ret void

.loopexit96:                                      ; preds = %.preheader95
  %lpad.loopexit98 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp97

.loopexit.split-lp97.loopexit:                    ; preds = %.preheader101
  %lpad.loopexit102 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp97

.loopexit.split-lp97.loopexit.split-lp:           ; preds = %94, %91, %88, %85, %83, %80, %59, %57, %54, %1
  %lpad.loopexit.split-lp103 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp97

104:                                              ; preds = %62
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %108

106:                                              ; preds = %64
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  br label %108

108:                                              ; preds = %106, %104
  %.pn = phi { ptr, i32 } [ %107, %106 ], [ %105, %104 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  br label %.loopexit.split-lp97

109:                                              ; preds = %69
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %116

111:                                              ; preds = %74
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %76
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %115

115:                                              ; preds = %113, %111
  %.pn56 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  br label %116

116:                                              ; preds = %115, %109
  %.pn56.pn = phi { ptr, i32 } [ %.pn56, %115 ], [ %110, %109 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  br label %.loopexit.split-lp97

117:                                              ; preds = %97
  %118 = landingpad { ptr, i32 }
          cleanup
  br label %268

119:                                              ; preds = %98
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %267

121:                                              ; preds = %100
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  br label %.loopexit.split-lp

123:                                              ; preds = %101
  %124 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  br label %.loopexit.split-lp

125:                                              ; preds = %.preheader94, %133
  %126 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull %20, i64 noundef 61, ptr noundef nonnull %21)
          to label %127 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

127:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  %128 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %22, ptr noundef nonnull align 8 dereferenceable(9) %128, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %129 unwind label %225

129:                                              ; preds = %127
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef nonnull @.str.401, i64 noundef 103)
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %131 = load ptr, ptr %130, align 8, !tbaa !12
  %132 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %22, ptr noundef nonnull %23, i64 noundef 61, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull @.str.406, ptr noundef nonnull align 4 dereferenceable(4) %131, ptr noundef nonnull @.str.407)
          to label %133 unwind label %227

133:                                              ; preds = %129
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  %134 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %134, label %125, label %.preheader91, !llvm.loop !18

.preheader91:                                     ; preds = %133, %143
  %135 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %135, ptr noundef nonnull %24, i64 noundef 62, ptr noundef nonnull %25)
          to label %136 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

136:                                              ; preds = %.preheader91
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  %137 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %26, ptr noundef nonnull align 8 dereferenceable(9) %137, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %138 unwind label %230

138:                                              ; preds = %136
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull @.str.401, i64 noundef 103)
  %139 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %140 = load ptr, ptr %139, align 8, !tbaa !12
  %141 = getelementptr inbounds i8, ptr %140, i64 4
  %142 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %26, ptr noundef nonnull %27, i64 noundef 62, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull @.str.408, ptr noundef nonnull align 4 dereferenceable(4) %141, ptr noundef nonnull @.str.409)
          to label %143 unwind label %232

143:                                              ; preds = %138
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  %144 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %144, label %.preheader91, label %.preheader87, !llvm.loop !19

.preheader87:                                     ; preds = %143, %162
  %145 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull %28, i64 noundef 67, ptr noundef nonnull %29)
          to label %146 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

146:                                              ; preds = %.preheader87
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #8
  %147 = load ptr, ptr %53, align 8, !tbaa !20
  %148 = getelementptr inbounds i8, ptr %147, i64 20
  %149 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %150 = load ptr, ptr %149, align 8, !tbaa !12
  %151 = getelementptr inbounds i8, ptr %150, i64 8
  %152 = load ptr, ptr %151, align 8, !tbaa !20
  %153 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %154 = load ptr, ptr %153, align 8, !tbaa !12
  %155 = getelementptr inbounds i8, ptr %154, i64 8
  %156 = load ptr, ptr %155, align 8, !tbaa !20
  %157 = getelementptr inbounds i8, ptr %156, i64 20
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::test_tools::assertion_result") align 8 %30, ptr noundef nonnull align 1 dereferenceable(1) %31, ptr noundef %147, ptr noundef nonnull %148, ptr noundef %152, ptr noundef nonnull %157)
          to label %158 unwind label %235

158:                                              ; preds = %146
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  %159 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %32, ptr noundef nonnull align 8 dereferenceable(9) %159, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %160 unwind label %237

160:                                              ; preds = %158
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull @.str.401, i64 noundef 103)
  %161 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(9) %32, ptr noundef nonnull %33, i64 noundef 67, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef nonnull @.str.410, ptr noundef nonnull @.str.411, ptr noundef nonnull @.str.412, ptr noundef nonnull @.str.413)
          to label %162 unwind label %239

162:                                              ; preds = %160
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  %163 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %163, label %.preheader87, label %.preheader84, !llvm.loop !21

.preheader84:                                     ; preds = %162, %181
  %164 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull %34, i64 noundef 72, ptr noundef nonnull %35)
          to label %165 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

165:                                              ; preds = %.preheader84
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #8
  %166 = load ptr, ptr %55, align 8, !tbaa !22
  %167 = getelementptr inbounds i8, ptr %166, i64 24
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %169 = load ptr, ptr %168, align 8, !tbaa !12
  %170 = getelementptr inbounds i8, ptr %169, i64 16
  %171 = load ptr, ptr %170, align 8, !tbaa !22
  %172 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %173 = load ptr, ptr %172, align 8, !tbaa !12
  %174 = getelementptr inbounds i8, ptr %173, i64 16
  %175 = load ptr, ptr %174, align 8, !tbaa !22
  %176 = getelementptr inbounds i8, ptr %175, i64 24
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::test_tools::assertion_result") align 8 %36, ptr noundef nonnull align 1 dereferenceable(1) %37, ptr noundef %166, ptr noundef nonnull %167, ptr noundef %171, ptr noundef nonnull %176)
          to label %177 unwind label %243

177:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #8
  %178 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %38, ptr noundef nonnull align 8 dereferenceable(9) %178, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %179 unwind label %245

179:                                              ; preds = %177
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull @.str.401, i64 noundef 103)
  %180 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(9) %38, ptr noundef nonnull %39, i64 noundef 72, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef nonnull @.str.414, ptr noundef nonnull @.str.415, ptr noundef nonnull @.str.416, ptr noundef nonnull @.str.417)
          to label %181 unwind label %247

181:                                              ; preds = %179
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  %182 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %182, label %.preheader84, label %.preheader80, !llvm.loop !23

.preheader80:                                     ; preds = %181, %200
  %183 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %183, ptr noundef nonnull %40, i64 noundef 77, ptr noundef nonnull %41)
          to label %184 unwind label %.loopexit.split-lp.loopexit

184:                                              ; preds = %.preheader80
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #8
  %185 = load ptr, ptr %81, align 8, !tbaa !24
  %186 = getelementptr inbounds i8, ptr %185, i64 16
  %187 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %188 = load ptr, ptr %187, align 8, !tbaa !12
  %189 = getelementptr inbounds i8, ptr %188, i64 40
  %190 = load ptr, ptr %189, align 8, !tbaa !24
  %191 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %192 = load ptr, ptr %191, align 8, !tbaa !12
  %193 = getelementptr inbounds i8, ptr %192, i64 40
  %194 = load ptr, ptr %193, align 8, !tbaa !24
  %195 = getelementptr inbounds i8, ptr %194, i64 16
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::test_tools::assertion_result") align 8 %42, ptr noundef nonnull align 1 dereferenceable(1) %43, ptr noundef %185, ptr noundef nonnull %186, ptr noundef %190, ptr noundef nonnull %195)
          to label %196 unwind label %251

196:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #8
  %197 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %44, ptr noundef nonnull align 8 dereferenceable(9) %197, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %198 unwind label %253

198:                                              ; preds = %196
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef nonnull @.str.401, i64 noundef 103)
  %199 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(9) %44, ptr noundef nonnull %45, i64 noundef 77, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef nonnull @.str.418, ptr noundef nonnull @.str.419, ptr noundef nonnull @.str.420, ptr noundef nonnull @.str.421)
          to label %200 unwind label %255

200:                                              ; preds = %198
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  %201 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %201, label %.preheader80, label %.preheader, !llvm.loop !25

.preheader:                                       ; preds = %200, %219
  %202 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !12
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull @.str.401, i64 noundef 103)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %47)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull %46, i64 noundef 82, ptr noundef nonnull %47)
          to label %203 unwind label %.loopexit

203:                                              ; preds = %.preheader
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #8
  %204 = load ptr, ptr %95, align 8, !tbaa !26
  %205 = getelementptr inbounds i8, ptr %204, i64 32
  %206 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %207 = load ptr, ptr %206, align 8, !tbaa !12
  %208 = getelementptr inbounds i8, ptr %207, i64 80
  %209 = load ptr, ptr %208, align 8, !tbaa !26
  %210 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %.0105) #8
  %211 = load ptr, ptr %210, align 8, !tbaa !12
  %212 = getelementptr inbounds i8, ptr %211, i64 80
  %213 = load ptr, ptr %212, align 8, !tbaa !26
  %214 = getelementptr inbounds i8, ptr %213, i64 32
  invoke void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPmS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::test_tools::assertion_result") align 8 %48, ptr noundef nonnull align 1 dereferenceable(1) %49, ptr noundef %204, ptr noundef nonnull %205, ptr noundef %209, ptr noundef nonnull %214)
          to label %215 unwind label %259

215:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  %216 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  invoke void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8 %50, ptr noundef nonnull align 8 dereferenceable(9) %216, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %217 unwind label %261

217:                                              ; preds = %215
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef nonnull @.str.401, i64 noundef 103)
  %218 = invoke noundef zeroext i1 (ptr, ptr, ptr, i64, i32, i32, i64, ...) @_ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeEmz(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(9) %50, ptr noundef nonnull %51, i64 noundef 82, i32 noundef 1, i32 noundef 13, i64 noundef 4, ptr noundef nonnull @.str.422, ptr noundef nonnull @.str.423, ptr noundef nonnull @.str.424, ptr noundef nonnull @.str.425)
          to label %219 unwind label %263

219:                                              ; preds = %217
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  %220 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %220, label %.preheader, label %221, !llvm.loop !27

221:                                              ; preds = %219
  %222 = add nuw i64 %.0105, 1
  %223 = call noundef i64 @_ZNKSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %224 = icmp ult i64 %222, %223
  br i1 %224, label %.preheader94, label %._crit_edge, !llvm.loop !28

.loopexit:                                        ; preds = %.preheader
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit:                      ; preds = %.preheader80
  %lpad.loopexit81 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit:    ; preds = %.preheader84
  %lpad.loopexit85 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader87
  %lpad.loopexit88 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader91
  %lpad.loopexit92 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %125
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

225:                                              ; preds = %127
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %229

227:                                              ; preds = %129
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %229

229:                                              ; preds = %227, %225
  %.pn59 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %.loopexit.split-lp

230:                                              ; preds = %136
  %231 = landingpad { ptr, i32 }
          cleanup
  br label %234

232:                                              ; preds = %138
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %234

234:                                              ; preds = %232, %230
  %.pn61 = phi { ptr, i32 } [ %233, %232 ], [ %231, %230 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  br label %.loopexit.split-lp

235:                                              ; preds = %146
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %242

237:                                              ; preds = %158
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %241

239:                                              ; preds = %160
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %241

241:                                              ; preds = %239, %237
  %.pn63 = phi { ptr, i32 } [ %240, %239 ], [ %238, %237 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  br label %242

242:                                              ; preds = %241, %235
  %.pn63.pn = phi { ptr, i32 } [ %.pn63, %241 ], [ %236, %235 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %.loopexit.split-lp

243:                                              ; preds = %165
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %250

245:                                              ; preds = %177
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %249

247:                                              ; preds = %179
  %248 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %249

249:                                              ; preds = %247, %245
  %.pn66 = phi { ptr, i32 } [ %248, %247 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %250

250:                                              ; preds = %249, %243
  %.pn66.pn = phi { ptr, i32 } [ %.pn66, %249 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %.loopexit.split-lp

251:                                              ; preds = %184
  %252 = landingpad { ptr, i32 }
          cleanup
  br label %258

253:                                              ; preds = %196
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %257

255:                                              ; preds = %198
  %256 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %257

257:                                              ; preds = %255, %253
  %.pn69 = phi { ptr, i32 } [ %256, %255 ], [ %254, %253 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  br label %258

258:                                              ; preds = %257, %251
  %.pn69.pn = phi { ptr, i32 } [ %.pn69, %257 ], [ %252, %251 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %.loopexit.split-lp

259:                                              ; preds = %203
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %266

261:                                              ; preds = %215
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %265

263:                                              ; preds = %217
  %264 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %265

265:                                              ; preds = %263, %261
  %.pn72 = phi { ptr, i32 } [ %264, %263 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %266

266:                                              ; preds = %265, %259
  %.pn72.pn = phi { ptr, i32 } [ %.pn72, %265 ], [ %260, %259 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  br label %.loopexit.split-lp

.loopexit.split-lp:                               ; preds = %.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit, %229, %234, %242, %250, %258, %266, %123, %121
  %.pn72.pn.pn.pn = phi { ptr, i32 } [ %124, %123 ], [ %122, %121 ], [ %.pn72.pn, %266 ], [ %.pn69.pn, %258 ], [ %.pn66.pn, %250 ], [ %.pn63.pn, %242 ], [ %.pn61, %234 ], [ %.pn59, %229 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit81, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit85, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit88, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit92, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ]
  call void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  br label %267

267:                                              ; preds = %.loopexit.split-lp, %119
  %.pn72.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn72.pn.pn.pn, %.loopexit.split-lp ], [ %120, %119 ]
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %16) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %16) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %15) #8
  br label %268

268:                                              ; preds = %267, %117
  %.pn72.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn72.pn.pn.pn.pn, %267 ], [ %118, %117 ]
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %15) #8
  br label %.loopexit.split-lp97

.loopexit.split-lp97:                             ; preds = %.loopexit96, %.loopexit.split-lp97.loopexit.split-lp, %.loopexit.split-lp97.loopexit, %268, %116, %108
  %.pn72.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn72.pn.pn.pn.pn.pn, %268 ], [ %.pn56.pn, %116 ], [ %.pn, %108 ], [ %lpad.loopexit98, %.loopexit96 ], [ %lpad.loopexit102, %.loopexit.split-lp97.loopexit ], [ %lpad.loopexit.split-lp103, %.loopexit.split-lp97.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #8
  call void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %2) #8
  call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn72.pn.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN10coreneuron14InterleaveInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10coreneuron16copy_align_arrayIiEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_7ne_implEPiS4_EEbT_RKNS_9unit_test12lazy_ostreamENS6_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSB_RKT1_SI_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5boost9unit_testlsIA1_cEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS5_EERKS4_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::unit_test::lazy_ostream_impl.314") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv() local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPiS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::test_tools::assertion_result") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10coreneuron10copy_arrayImEEvRPT_S2_m(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, i64 noundef) local_unnamed_addr #4

declare void @_ZN10coreneuron14InterleaveInfoC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(88), ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #6

declare noundef nonnull align 8 dereferenceable(88) ptr @_ZN10coreneuron14InterleaveInfoaSERKS0_(ptr noundef nonnull align 8 dereferenceable(88), ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEiiEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef, i64 noundef, i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools9tt_detail15equal_coll_implclIPmS4_EENS0_16assertion_resultET_S6_T0_S7_(ptr dead_on_unwind noalias writable sret(%"class.boost::test_tools::assertion_result") align 8, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorIPN10coreneuron14InterleaveInfoESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: nounwind
declare void @_ZN10coreneuron14InterleaveInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(88)) unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(9)) unnamed_addr #1 align 2

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

!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 0}
!6 = !{!"_ZTSN10coreneuron14InterleaveInfoE", !7, i64 0, !7, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!6, !7, i64 4}
!12 = !{!10, !10, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = !{!6, !10, i64 24}
!16 = !{!6, !10, i64 32}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = !{!6, !10, i64 8}
!21 = distinct !{!21, !14}
!22 = !{!6, !10, i64 16}
!23 = distinct !{!23, !14}
!24 = !{!6, !10, i64 40}
!25 = distinct !{!25, !14}
!26 = !{!6, !10, i64 80}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass