; LLVM IR from BlueBrain/CoreNeuron :: tests/unit/cmdline_interface (test_cmdline_interface)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.coreneuron::corenrn_parameters" = type { %"struct.coreneuron::corenrn_parameters_data", %"class.std::unique_ptr" }
%"struct.coreneuron::corenrn_parameters_data" = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, double, double, double, double, double, double, double, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.315" }
%"struct.std::_Head_base.315" = type { ptr }
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"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 }
%"class.boost::unit_test::lazy_ostream_impl.316" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"struct.boost::test_tools::tt_detail::equal_impl_frwd" = type { i8 }
%"class.boost::unit_test::lazy_ostream_impl.317" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }

@_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.400 = external hidden unnamed_addr constant [110 x i8], align 1
@__const._ZN17cmdline_interface11test_methodEv.argv = external hidden unnamed_addr constant [35 x ptr], align 16
@.str.433 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.434 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [55 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; 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: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) unnamed_addr #4 align 2

; 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 @_ZN17cmdline_interface11test_methodEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca [35 x ptr], align 16
  %4 = alloca i32, align 4
  %5 = alloca %"struct.coreneuron::corenrn_parameters", align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %9 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %10 = alloca %"class.boost::test_tools::assertion_result", align 8
  %11 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %12 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %13 = alloca %"class.boost::unit_test::basic_cstring", 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::test_tools::assertion_result", align 8
  %17 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %18 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %19 = alloca %"class.boost::unit_test::basic_cstring", 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::test_tools::assertion_result", align 8
  %23 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::basic_cstring", align 8
  %27 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %28 = alloca %"class.boost::test_tools::assertion_result", align 8
  %29 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %30 = alloca %"class.boost::unit_test::basic_cstring", 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 %"class.boost::test_tools::assertion_result", align 8
  %35 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %40 = alloca %"class.boost::test_tools::assertion_result", align 8
  %41 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %46 = alloca %"class.boost::test_tools::assertion_result", align 8
  %47 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %52 = alloca %"class.boost::test_tools::assertion_result", align 8
  %53 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %58 = alloca %"class.boost::test_tools::assertion_result", align 8
  %59 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %60 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %61 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %62 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %63 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %64 = alloca %"class.boost::test_tools::assertion_result", align 8
  %65 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %66 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %67 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %68 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %69 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %70 = alloca %"class.boost::test_tools::assertion_result", align 8
  %71 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %72 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %73 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %74 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %75 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %76 = alloca %"class.boost::test_tools::assertion_result", align 8
  %77 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %78 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %79 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %80 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %81 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %82 = alloca %"class.boost::test_tools::assertion_result", align 8
  %83 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %84 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %85 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %86 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %87 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %88 = alloca %"class.boost::test_tools::assertion_result", align 8
  %89 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %90 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %91 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %92 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %93 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %94 = alloca %"class.boost::test_tools::assertion_result", align 8
  %95 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %96 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %97 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %98 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %99 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %100 = alloca %"class.boost::test_tools::assertion_result", align 8
  %101 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %102 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %103 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %104 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %105 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %106 = alloca %"class.boost::test_tools::assertion_result", align 8
  %107 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %108 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %109 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %110 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %111 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %112 = alloca %"class.boost::test_tools::assertion_result", align 8
  %113 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %114 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %115 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %116 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %117 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %118 = alloca %"class.boost::test_tools::assertion_result", align 8
  %119 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %120 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %121 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %122 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %123 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %124 = alloca %"class.boost::test_tools::assertion_result", align 8
  %125 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %126 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %127 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %128 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %129 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %130 = alloca %"struct.boost::test_tools::tt_detail::equal_impl_frwd", align 1
  %131 = alloca %"class.boost::unit_test::lazy_ostream_impl.317", align 8
  %132 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %133 = alloca %"struct.coreneuron::corenrn_parameters", align 8
  %134 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %135 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %136 = alloca %"class.boost::test_tools::assertion_result", align 8
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %139 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %140 = alloca %"class.boost::unit_test::basic_cstring", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %141 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 280, ptr %3) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %3, ptr align 16 @__const._ZN17cmdline_interface11test_methodEv.argv, i64 280, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #8
  store i32 35, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 416, ptr %5) #8
  call void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %142 = getelementptr inbounds [35 x ptr], ptr %3, i64 0, i64 0
  invoke void @_ZN10coreneuron18corenrn_parameters5parseEiPPc(ptr noundef nonnull align 8 dereferenceable(416) %5, i32 noundef 35, ptr noundef %142)
          to label %143 unwind label %592

143:                                              ; preds = %1
  br label %144

144:                                              ; preds = %162, %143
  %145 = 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) %8, ptr noundef @.str.400, i64 noundef 109)
          to label %146 unwind label %592

146:                                              ; preds = %144
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9)
          to label %147 unwind label %592

147:                                              ; preds = %146
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef %8, i64 noundef 83, ptr noundef %9)
          to label %148 unwind label %592

148:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #8
  %149 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 9
  %150 = load i32, ptr %149, align 4, !tbaa !11
  %151 = icmp eq i32 %150, -1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %10, i1 noundef zeroext %151)
          to label %152 unwind label %596

152:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #8
  %153 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %154 unwind label %600

154:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef @.str.433, i64 noundef 29)
          to label %155 unwind label %604

155:                                              ; preds = %154
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %11, ptr noundef nonnull align 8 dereferenceable(9) %153, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %156 unwind label %604

156:                                              ; preds = %155
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef @.str.400, i64 noundef 109)
          to label %157 unwind label %608

157:                                              ; preds = %156
  %158 = 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) %10, ptr noundef nonnull align 8 dereferenceable(9) %11, ptr noundef %13, i64 noundef 83, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %159 unwind label %608

159:                                              ; preds = %157
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  br label %160

160:                                              ; preds = %159
  %161 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %162 unwind label %592

162:                                              ; preds = %160
  br i1 %161, label %144, label %163, !llvm.loop !19

163:                                              ; preds = %162
  br label %164

164:                                              ; preds = %182, %163
  %165 = 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) %14, ptr noundef @.str.400, i64 noundef 109)
          to label %166 unwind label %592

166:                                              ; preds = %164
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15)
          to label %167 unwind label %592

167:                                              ; preds = %166
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef %14, i64 noundef 85, ptr noundef %15)
          to label %168 unwind label %592

168:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #8
  %169 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 0
  %170 = load i32, ptr %169, align 8, !tbaa !21
  %171 = icmp eq i32 %170, 100
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %16, i1 noundef zeroext %171)
          to label %172 unwind label %615

172:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #8
  %173 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %174 unwind label %619

174:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %18, ptr noundef @.str.434, i64 noundef 34)
          to label %175 unwind label %623

175:                                              ; preds = %174
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %17, ptr noundef nonnull align 8 dereferenceable(9) %173, ptr noundef nonnull align 8 dereferenceable(16) %18)
          to label %176 unwind label %623

176:                                              ; preds = %175
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %19, ptr noundef @.str.400, i64 noundef 109)
          to label %177 unwind label %627

177:                                              ; preds = %176
  %178 = 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) %16, ptr noundef nonnull align 8 dereferenceable(9) %17, ptr noundef %19, i64 noundef 85, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %179 unwind label %627

179:                                              ; preds = %177
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  br label %180

180:                                              ; preds = %179
  %181 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %182 unwind label %592

182:                                              ; preds = %180
  br i1 %181, label %164, label %183, !llvm.loop !22

183:                                              ; preds = %182
  br label %184

184:                                              ; preds = %204, %183
  %185 = 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) %20, ptr noundef @.str.400, i64 noundef 109)
          to label %186 unwind label %592

186:                                              ; preds = %184
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21)
          to label %187 unwind label %592

187:                                              ; preds = %186
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef %20, i64 noundef 87, ptr noundef %21)
          to label %188 unwind label %592

188:                                              ; preds = %187
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #8
  %189 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 13
  %190 = load i8, ptr %189, align 1, !tbaa !23, !range !24, !noundef !25
  %191 = trunc i8 %190 to i1
  %192 = zext i1 %191 to i32
  %193 = icmp eq i32 %192, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %22, i1 noundef zeroext %193)
          to label %194 unwind label %634

194:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #8
  %195 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %196 unwind label %638

196:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef @.str.435, i64 noundef 36)
          to label %197 unwind label %642

197:                                              ; preds = %196
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %23, ptr noundef nonnull align 8 dereferenceable(9) %195, ptr noundef nonnull align 8 dereferenceable(16) %24)
          to label %198 unwind label %642

198:                                              ; preds = %197
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef @.str.400, i64 noundef 109)
          to label %199 unwind label %646

199:                                              ; preds = %198
  %200 = 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) %22, ptr noundef nonnull align 8 dereferenceable(9) %23, ptr noundef %25, i64 noundef 87, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %201 unwind label %646

201:                                              ; preds = %199
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %202

202:                                              ; preds = %201
  %203 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %204 unwind label %592

204:                                              ; preds = %202
  br i1 %203, label %184, label %205, !llvm.loop !26

205:                                              ; preds = %204
  br label %206

206:                                              ; preds = %224, %205
  %207 = 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) %26, ptr noundef @.str.400, i64 noundef 109)
          to label %208 unwind label %592

208:                                              ; preds = %206
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %209 unwind label %592

209:                                              ; preds = %208
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef %26, i64 noundef 89, ptr noundef %27)
          to label %210 unwind label %592

210:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #8
  %211 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 21
  %212 = load double, ptr %211, align 8, !tbaa !27
  %213 = fcmp oeq double %212, 2.000000e-02
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %28, i1 noundef zeroext %213)
          to label %214 unwind label %653

214:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #8
  %215 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %216 unwind label %657

216:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef @.str.436, i64 noundef 29)
          to label %217 unwind label %661

217:                                              ; preds = %216
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %29, ptr noundef nonnull align 8 dereferenceable(9) %215, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %218 unwind label %661

218:                                              ; preds = %217
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %31, ptr noundef @.str.400, i64 noundef 109)
          to label %219 unwind label %665

219:                                              ; preds = %218
  %220 = 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) %28, ptr noundef nonnull align 8 dereferenceable(9) %29, ptr noundef %31, i64 noundef 89, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %221 unwind label %665

221:                                              ; preds = %219
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #8
  br label %222

222:                                              ; preds = %221
  %223 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %224 unwind label %592

224:                                              ; preds = %222
  br i1 %223, label %206, label %225, !llvm.loop !28

225:                                              ; preds = %224
  br label %226

226:                                              ; preds = %244, %225
  %227 = 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.400, i64 noundef 109)
          to label %228 unwind label %592

228:                                              ; preds = %226
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %229 unwind label %592

229:                                              ; preds = %228
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef %32, i64 noundef 91, ptr noundef %33)
          to label %230 unwind label %592

230:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  %231 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 20
  %232 = load double, ptr %231, align 8, !tbaa !29
  %233 = fcmp oeq double %232, 1.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %34, i1 noundef zeroext %233)
          to label %234 unwind label %672

234:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  %235 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %236 unwind label %676

236:                                              ; preds = %234
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef @.str.437, i64 noundef 31)
          to label %237 unwind label %680

237:                                              ; preds = %236
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %35, ptr noundef nonnull align 8 dereferenceable(9) %235, ptr noundef nonnull align 8 dereferenceable(16) %36)
          to label %238 unwind label %680

238:                                              ; preds = %237
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef @.str.400, i64 noundef 109)
          to label %239 unwind label %684

239:                                              ; preds = %238
  %240 = 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) %34, ptr noundef nonnull align 8 dereferenceable(9) %35, ptr noundef %37, i64 noundef 91, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %241 unwind label %684

241:                                              ; preds = %239
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  br label %242

242:                                              ; preds = %241
  %243 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %244 unwind label %592

244:                                              ; preds = %242
  br i1 %243, label %226, label %245, !llvm.loop !30

245:                                              ; preds = %244
  br label %246

246:                                              ; preds = %264, %245
  %247 = 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) %38, ptr noundef @.str.400, i64 noundef 109)
          to label %248 unwind label %592

248:                                              ; preds = %246
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %249 unwind label %592

249:                                              ; preds = %248
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %247, ptr noundef %38, i64 noundef 93, ptr noundef %39)
          to label %250 unwind label %592

250:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #8
  %251 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 1
  %252 = load i32, ptr %251, align 4, !tbaa !31
  %253 = icmp eq i32 %252, 12
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %40, i1 noundef zeroext %253)
          to label %254 unwind label %691

254:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  %255 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %256 unwind label %695

256:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %42, ptr noundef @.str.438, i64 noundef 34)
          to label %257 unwind label %699

257:                                              ; preds = %256
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %41, ptr noundef nonnull align 8 dereferenceable(9) %255, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %258 unwind label %699

258:                                              ; preds = %257
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef @.str.400, i64 noundef 109)
          to label %259 unwind label %703

259:                                              ; preds = %258
  %260 = 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) %40, ptr noundef nonnull align 8 dereferenceable(9) %41, ptr noundef %43, i64 noundef 93, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %261 unwind label %703

261:                                              ; preds = %259
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  br label %262

262:                                              ; preds = %261
  %263 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %264 unwind label %592

264:                                              ; preds = %262
  br i1 %263, label %246, label %265, !llvm.loop !32

265:                                              ; preds = %264
  br label %266

266:                                              ; preds = %286, %265
  %267 = 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) %44, ptr noundef @.str.400, i64 noundef 109)
          to label %268 unwind label %592

268:                                              ; preds = %266
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45)
          to label %269 unwind label %592

269:                                              ; preds = %268
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef %44, i64 noundef 97, ptr noundef %45)
          to label %270 unwind label %592

270:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 24, ptr %46) #8
  %271 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 14
  %272 = load i8, ptr %271, align 4, !tbaa !33, !range !24, !noundef !25
  %273 = trunc i8 %272 to i1
  %274 = zext i1 %273 to i32
  %275 = icmp eq i32 %274, 0
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %46, i1 noundef zeroext %275)
          to label %276 unwind label %710

276:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  %277 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %278 unwind label %714

278:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef @.str.439, i64 noundef 31)
          to label %279 unwind label %718

279:                                              ; preds = %278
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %47, ptr noundef nonnull align 8 dereferenceable(9) %277, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %280 unwind label %718

280:                                              ; preds = %279
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef @.str.400, i64 noundef 109)
          to label %281 unwind label %722

281:                                              ; preds = %280
  %282 = 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) %46, ptr noundef nonnull align 8 dereferenceable(9) %47, ptr noundef %49, i64 noundef 97, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %283 unwind label %722

283:                                              ; preds = %281
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #8
  br label %284

284:                                              ; preds = %283
  %285 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %286 unwind label %592

286:                                              ; preds = %284
  br i1 %285, label %266, label %287, !llvm.loop !34

287:                                              ; preds = %286
  br label %288

288:                                              ; preds = %306, %287
  %289 = 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) %50, ptr noundef @.str.400, i64 noundef 109)
          to label %290 unwind label %592

290:                                              ; preds = %288
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %291 unwind label %592

291:                                              ; preds = %290
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef %50, i64 noundef 99, ptr noundef %51)
          to label %292 unwind label %592

292:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 24, ptr %52) #8
  %293 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 22
  %294 = load double, ptr %293, align 8, !tbaa !35
  %295 = fcmp oeq double %294, 2.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %52, i1 noundef zeroext %295)
          to label %296 unwind label %729

296:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  %297 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %298 unwind label %733

298:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef @.str.440, i64 noundef 31)
          to label %299 unwind label %737

299:                                              ; preds = %298
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %53, ptr noundef nonnull align 8 dereferenceable(9) %297, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %300 unwind label %737

300:                                              ; preds = %299
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %55, ptr noundef @.str.400, i64 noundef 109)
          to label %301 unwind label %741

301:                                              ; preds = %300
  %302 = 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) %52, ptr noundef nonnull align 8 dereferenceable(9) %53, ptr noundef %55, i64 noundef 99, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %303 unwind label %741

303:                                              ; preds = %301
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #8
  br label %304

304:                                              ; preds = %303
  %305 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %306 unwind label %592

306:                                              ; preds = %304
  br i1 %305, label %288, label %307, !llvm.loop !36

307:                                              ; preds = %306
  br label %308

308:                                              ; preds = %326, %307
  %309 = 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) %56, ptr noundef @.str.400, i64 noundef 109)
          to label %310 unwind label %592

310:                                              ; preds = %308
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %57)
          to label %311 unwind label %592

311:                                              ; preds = %310
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %309, ptr noundef %56, i64 noundef 101, ptr noundef %57)
          to label %312 unwind label %592

312:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 24, ptr %58) #8
  %313 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 26
  %314 = load double, ptr %313, align 8, !tbaa !37
  %315 = fcmp oeq double %314, 2.000000e-02
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %58, i1 noundef zeroext %315)
          to label %316 unwind label %748

316:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  %317 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %318 unwind label %752

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef @.str.441, i64 noundef 38)
          to label %319 unwind label %756

319:                                              ; preds = %318
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %59, ptr noundef nonnull align 8 dereferenceable(9) %317, ptr noundef nonnull align 8 dereferenceable(16) %60)
          to label %320 unwind label %756

320:                                              ; preds = %319
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %61, ptr noundef @.str.400, i64 noundef 109)
          to label %321 unwind label %760

321:                                              ; preds = %320
  %322 = 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) %58, ptr noundef nonnull align 8 dereferenceable(9) %59, ptr noundef %61, i64 noundef 101, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %323 unwind label %760

323:                                              ; preds = %321
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #8
  br label %324

324:                                              ; preds = %323
  %325 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %326 unwind label %592

326:                                              ; preds = %324
  br i1 %325, label %308, label %327, !llvm.loop !38

327:                                              ; preds = %326
  br label %328

328:                                              ; preds = %346, %327
  %329 = 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) %62, ptr noundef @.str.400, i64 noundef 109)
          to label %330 unwind label %592

330:                                              ; preds = %328
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %63)
          to label %331 unwind label %592

331:                                              ; preds = %330
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %329, ptr noundef %62, i64 noundef 103, ptr noundef %63)
          to label %332 unwind label %592

332:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #8
  %333 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 24
  %334 = load double, ptr %333, align 8, !tbaa !39
  %335 = fcmp oeq double %334, 2.512000e+01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %64, i1 noundef zeroext %335)
          to label %336 unwind label %767

336:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  %337 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %338 unwind label %771

338:                                              ; preds = %336
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef @.str.442, i64 noundef 35)
          to label %339 unwind label %775

339:                                              ; preds = %338
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %65, ptr noundef nonnull align 8 dereferenceable(9) %337, ptr noundef nonnull align 8 dereferenceable(16) %66)
          to label %340 unwind label %775

340:                                              ; preds = %339
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %67, ptr noundef @.str.400, i64 noundef 109)
          to label %341 unwind label %779

341:                                              ; preds = %340
  %342 = 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) %64, ptr noundef nonnull align 8 dereferenceable(9) %65, ptr noundef %67, i64 noundef 103, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %343 unwind label %779

343:                                              ; preds = %341
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #8
  br label %344

344:                                              ; preds = %343
  %345 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %346 unwind label %592

346:                                              ; preds = %344
  br i1 %345, label %328, label %347, !llvm.loop !40

347:                                              ; preds = %346
  br label %348

348:                                              ; preds = %368, %347
  %349 = 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) %68, ptr noundef @.str.400, i64 noundef 109)
          to label %350 unwind label %592

350:                                              ; preds = %348
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %351 unwind label %592

351:                                              ; preds = %350
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %349, ptr noundef %68, i64 noundef 105, ptr noundef %69)
          to label %352 unwind label %592

352:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 24, ptr %70) #8
  %353 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 10
  %354 = load i8, ptr %353, align 8, !tbaa !41, !range !24, !noundef !25
  %355 = trunc i8 %354 to i1
  %356 = zext i1 %355 to i32
  %357 = icmp eq i32 %356, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %70, i1 noundef zeroext %357)
          to label %358 unwind label %786

358:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  %359 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %360 unwind label %790

360:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %72, ptr noundef @.str.443, i64 noundef 37)
          to label %361 unwind label %794

361:                                              ; preds = %360
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %71, ptr noundef nonnull align 8 dereferenceable(9) %359, ptr noundef nonnull align 8 dereferenceable(16) %72)
          to label %362 unwind label %794

362:                                              ; preds = %361
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %73, ptr noundef @.str.400, i64 noundef 109)
          to label %363 unwind label %798

363:                                              ; preds = %362
  %364 = 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) %70, ptr noundef nonnull align 8 dereferenceable(9) %71, ptr noundef %73, i64 noundef 105, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %365 unwind label %798

365:                                              ; preds = %363
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #8
  br label %366

366:                                              ; preds = %365
  %367 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %368 unwind label %592

368:                                              ; preds = %366
  br i1 %367, label %348, label %369, !llvm.loop !42

369:                                              ; preds = %368
  br label %370

370:                                              ; preds = %388, %369
  %371 = 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) %74, ptr noundef @.str.400, i64 noundef 109)
          to label %372 unwind label %592

372:                                              ; preds = %370
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %373 unwind label %592

373:                                              ; preds = %372
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef %74, i64 noundef 107, ptr noundef %75)
          to label %374 unwind label %592

374:                                              ; preds = %373
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #8
  %375 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 5
  %376 = load i32, ptr %375, align 4, !tbaa !43
  %377 = icmp eq i32 %376, 2
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %76, i1 noundef zeroext %377)
          to label %378 unwind label %805

378:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  %379 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %380 unwind label %809

380:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %78, ptr noundef @.str.444, i64 noundef 47)
          to label %381 unwind label %813

381:                                              ; preds = %380
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %77, ptr noundef nonnull align 8 dereferenceable(9) %379, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %382 unwind label %813

382:                                              ; preds = %381
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %79, ptr noundef @.str.400, i64 noundef 109)
          to label %383 unwind label %817

383:                                              ; preds = %382
  %384 = 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) %76, ptr noundef nonnull align 8 dereferenceable(9) %77, ptr noundef %79, i64 noundef 107, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %385 unwind label %817

385:                                              ; preds = %383
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #8
  br label %386

386:                                              ; preds = %385
  %387 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %388 unwind label %592

388:                                              ; preds = %386
  br i1 %387, label %370, label %389, !llvm.loop !44

389:                                              ; preds = %388
  br label %390

390:                                              ; preds = %408, %389
  %391 = 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) %80, ptr noundef @.str.400, i64 noundef 109)
          to label %392 unwind label %592

392:                                              ; preds = %390
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %81)
          to label %393 unwind label %592

393:                                              ; preds = %392
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %391, ptr noundef %80, i64 noundef 109, ptr noundef %81)
          to label %394 unwind label %592

394:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 24, ptr %82) #8
  %395 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 25
  %396 = load double, ptr %395, align 8, !tbaa !45
  %397 = fcmp oeq double %396, -3.200000e+01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %82, i1 noundef zeroext %397)
          to label %398 unwind label %824

398:                                              ; preds = %394
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  %399 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %400 unwind label %828

400:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %84, ptr noundef @.str.445, i64 noundef 33)
          to label %401 unwind label %832

401:                                              ; preds = %400
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %83, ptr noundef nonnull align 8 dereferenceable(9) %399, ptr noundef nonnull align 8 dereferenceable(16) %84)
          to label %402 unwind label %832

402:                                              ; preds = %401
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %85, ptr noundef @.str.400, i64 noundef 109)
          to label %403 unwind label %836

403:                                              ; preds = %402
  %404 = 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) %82, ptr noundef nonnull align 8 dereferenceable(9) %83, ptr noundef %85, i64 noundef 109, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %405 unwind label %836

405:                                              ; preds = %403
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #8
  br label %406

406:                                              ; preds = %405
  %407 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %408 unwind label %592

408:                                              ; preds = %406
  br i1 %407, label %390, label %409, !llvm.loop !46

409:                                              ; preds = %408
  br label %410

410:                                              ; preds = %428, %409
  %411 = 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) %86, ptr noundef @.str.400, i64 noundef 109)
          to label %412 unwind label %592

412:                                              ; preds = %410
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %87)
          to label %413 unwind label %592

413:                                              ; preds = %412
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %411, ptr noundef %86, i64 noundef 111, ptr noundef %87)
          to label %414 unwind label %592

414:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 24, ptr %88) #8
  %415 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 6
  %416 = load i32, ptr %415, align 8, !tbaa !47
  %417 = icmp eq i32 %416, 8
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %88, i1 noundef zeroext %417)
          to label %418 unwind label %843

418:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #8
  %419 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %420 unwind label %847

420:                                              ; preds = %418
  call void @llvm.lifetime.start.p0(i64 16, ptr %90) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %90, ptr noundef @.str.446, i64 noundef 29)
          to label %421 unwind label %851

421:                                              ; preds = %420
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %89, ptr noundef nonnull align 8 dereferenceable(9) %419, ptr noundef nonnull align 8 dereferenceable(16) %90)
          to label %422 unwind label %851

422:                                              ; preds = %421
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %91, ptr noundef @.str.400, i64 noundef 109)
          to label %423 unwind label %855

423:                                              ; preds = %422
  %424 = 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) %88, ptr noundef nonnull align 8 dereferenceable(9) %89, ptr noundef %91, i64 noundef 111, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %425 unwind label %855

425:                                              ; preds = %423
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #8
  br label %426

426:                                              ; preds = %425
  %427 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %428 unwind label %592

428:                                              ; preds = %426
  br i1 %427, label %410, label %429, !llvm.loop !48

429:                                              ; preds = %428
  br label %430

430:                                              ; preds = %450, %429
  %431 = 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) %92, ptr noundef @.str.400, i64 noundef 109)
          to label %432 unwind label %592

432:                                              ; preds = %430
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %93)
          to label %433 unwind label %592

433:                                              ; preds = %432
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %431, ptr noundef %92, i64 noundef 113, ptr noundef %93)
          to label %434 unwind label %592

434:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 24, ptr %94) #8
  %435 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 12
  %436 = load i8, ptr %435, align 2, !tbaa !49, !range !24, !noundef !25
  %437 = trunc i8 %436 to i1
  %438 = zext i1 %437 to i32
  %439 = icmp eq i32 %438, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %94, i1 noundef zeroext %439)
          to label %440 unwind label %862

440:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #8
  %441 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %442 unwind label %866

442:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %96, ptr noundef @.str.447, i64 noundef 36)
          to label %443 unwind label %870

443:                                              ; preds = %442
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %95, ptr noundef nonnull align 8 dereferenceable(9) %441, ptr noundef nonnull align 8 dereferenceable(16) %96)
          to label %444 unwind label %870

444:                                              ; preds = %443
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef @.str.400, i64 noundef 109)
          to label %445 unwind label %874

445:                                              ; preds = %444
  %446 = 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) %94, ptr noundef nonnull align 8 dereferenceable(9) %95, ptr noundef %97, i64 noundef 113, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %447 unwind label %874

447:                                              ; preds = %445
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #8
  br label %448

448:                                              ; preds = %447
  %449 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %450 unwind label %592

450:                                              ; preds = %448
  br i1 %449, label %430, label %451, !llvm.loop !50

451:                                              ; preds = %450
  br label %452

452:                                              ; preds = %470, %451
  %453 = 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) %98, ptr noundef @.str.400, i64 noundef 109)
          to label %454 unwind label %592

454:                                              ; preds = %452
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %99)
          to label %455 unwind label %592

455:                                              ; preds = %454
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %453, ptr noundef %98, i64 noundef 115, ptr noundef %99)
          to label %456 unwind label %592

456:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #8
  %457 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 27
  %458 = load double, ptr %457, align 8, !tbaa !51
  %459 = fcmp oeq double %458, 1.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %100, i1 noundef zeroext %459)
          to label %460 unwind label %881

460:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #8
  %461 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %462 unwind label %885

462:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 16, ptr %102) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %102, ptr noundef @.str.448, i64 noundef 34)
          to label %463 unwind label %889

463:                                              ; preds = %462
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %101, ptr noundef nonnull align 8 dereferenceable(9) %461, ptr noundef nonnull align 8 dereferenceable(16) %102)
          to label %464 unwind label %889

464:                                              ; preds = %463
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %103, ptr noundef @.str.400, i64 noundef 109)
          to label %465 unwind label %893

465:                                              ; preds = %464
  %466 = 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) %100, ptr noundef nonnull align 8 dereferenceable(9) %101, ptr noundef %103, i64 noundef 115, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %467 unwind label %893

467:                                              ; preds = %465
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  br label %468

468:                                              ; preds = %467
  %469 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %470 unwind label %592

470:                                              ; preds = %468
  br i1 %469, label %452, label %471, !llvm.loop !52

471:                                              ; preds = %470
  br label %472

472:                                              ; preds = %490, %471
  %473 = 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) %104, ptr noundef @.str.400, i64 noundef 109)
          to label %474 unwind label %592

474:                                              ; preds = %472
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %105)
          to label %475 unwind label %592

475:                                              ; preds = %474
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %473, ptr noundef %104, i64 noundef 117, ptr noundef %105)
          to label %476 unwind label %592

476:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 24, ptr %106) #8
  %477 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 2
  %478 = load i32, ptr %477, align 8, !tbaa !53
  %479 = icmp eq i32 %478, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %106, i1 noundef zeroext %479)
          to label %480 unwind label %900

480:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #8
  %481 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %482 unwind label %904

482:                                              ; preds = %480
  call void @llvm.lifetime.start.p0(i64 16, ptr %108) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %108, ptr noundef @.str.449, i64 noundef 33)
          to label %483 unwind label %908

483:                                              ; preds = %482
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %107, ptr noundef nonnull align 8 dereferenceable(9) %481, ptr noundef nonnull align 8 dereferenceable(16) %108)
          to label %484 unwind label %908

484:                                              ; preds = %483
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %109, ptr noundef @.str.400, i64 noundef 109)
          to label %485 unwind label %912

485:                                              ; preds = %484
  %486 = 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) %106, ptr noundef nonnull align 8 dereferenceable(9) %107, ptr noundef %109, i64 noundef 117, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %487 unwind label %912

487:                                              ; preds = %485
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  br label %488

488:                                              ; preds = %487
  %489 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %490 unwind label %592

490:                                              ; preds = %488
  br i1 %489, label %472, label %491, !llvm.loop !54

491:                                              ; preds = %490
  br label %492

492:                                              ; preds = %510, %491
  %493 = 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) %110, ptr noundef @.str.400, i64 noundef 109)
          to label %494 unwind label %592

494:                                              ; preds = %492
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111)
          to label %495 unwind label %592

495:                                              ; preds = %494
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %493, ptr noundef %110, i64 noundef 119, ptr noundef %111)
          to label %496 unwind label %592

496:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 24, ptr %112) #8
  %497 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 3
  %498 = load i32, ptr %497, align 4, !tbaa !55
  %499 = icmp eq i32 %498, 2
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %112, i1 noundef zeroext %499)
          to label %500 unwind label %919

500:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #8
  %501 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %502 unwind label %923

502:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 16, ptr %114) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %114, ptr noundef @.str.450, i64 noundef 33)
          to label %503 unwind label %927

503:                                              ; preds = %502
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %113, ptr noundef nonnull align 8 dereferenceable(9) %501, ptr noundef nonnull align 8 dereferenceable(16) %114)
          to label %504 unwind label %927

504:                                              ; preds = %503
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %115, ptr noundef @.str.400, i64 noundef 109)
          to label %505 unwind label %931

505:                                              ; preds = %504
  %506 = 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) %112, ptr noundef nonnull align 8 dereferenceable(9) %113, ptr noundef %115, i64 noundef 119, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %507 unwind label %931

507:                                              ; preds = %505
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #8
  br label %508

508:                                              ; preds = %507
  %509 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %510 unwind label %592

510:                                              ; preds = %508
  br i1 %509, label %492, label %511, !llvm.loop !56

511:                                              ; preds = %510
  br label %512

512:                                              ; preds = %530, %511
  %513 = 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) %116, ptr noundef @.str.400, i64 noundef 109)
          to label %514 unwind label %592

514:                                              ; preds = %512
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117)
          to label %515 unwind label %592

515:                                              ; preds = %514
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %513, ptr noundef %116, i64 noundef 121, ptr noundef %117)
          to label %516 unwind label %592

516:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 24, ptr %118) #8
  %517 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 4
  %518 = load i32, ptr %517, align 8, !tbaa !57
  %519 = icmp eq i32 %518, 32
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %118, i1 noundef zeroext %519)
          to label %520 unwind label %938

520:                                              ; preds = %516
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #8
  %521 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %522 unwind label %942

522:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %120, ptr noundef @.str.451, i64 noundef 36)
          to label %523 unwind label %946

523:                                              ; preds = %522
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %119, ptr noundef nonnull align 8 dereferenceable(9) %521, ptr noundef nonnull align 8 dereferenceable(16) %120)
          to label %524 unwind label %946

524:                                              ; preds = %523
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef @.str.400, i64 noundef 109)
          to label %525 unwind label %950

525:                                              ; preds = %524
  %526 = 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) %118, ptr noundef nonnull align 8 dereferenceable(9) %119, ptr noundef %121, i64 noundef 121, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %527 unwind label %950

527:                                              ; preds = %525
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %118) #8
  br label %528

528:                                              ; preds = %527
  %529 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %530 unwind label %592

530:                                              ; preds = %528
  br i1 %529, label %512, label %531, !llvm.loop !58

531:                                              ; preds = %530
  br label %532

532:                                              ; preds = %552, %531
  %533 = 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) %122, ptr noundef @.str.400, i64 noundef 109)
          to label %534 unwind label %592

534:                                              ; preds = %532
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %123)
          to label %535 unwind label %592

535:                                              ; preds = %534
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %533, ptr noundef %122, i64 noundef 123, ptr noundef %123)
          to label %536 unwind label %592

536:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 24, ptr %124) #8
  %537 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 12
  %538 = load i8, ptr %537, align 2, !tbaa !49, !range !24, !noundef !25
  %539 = trunc i8 %538 to i1
  %540 = zext i1 %539 to i32
  %541 = icmp eq i32 %540, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %124, i1 noundef zeroext %541)
          to label %542 unwind label %957

542:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #8
  %543 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %544 unwind label %961

544:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 16, ptr %126) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %126, ptr noundef @.str.447, i64 noundef 36)
          to label %545 unwind label %965

545:                                              ; preds = %544
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %125, ptr noundef nonnull align 8 dereferenceable(9) %543, ptr noundef nonnull align 8 dereferenceable(16) %126)
          to label %546 unwind label %965

546:                                              ; preds = %545
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %127, ptr noundef @.str.400, i64 noundef 109)
          to label %547 unwind label %969

547:                                              ; preds = %546
  %548 = 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) %124, ptr noundef nonnull align 8 dereferenceable(9) %125, ptr noundef %127, i64 noundef 123, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %549 unwind label %969

549:                                              ; preds = %547
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #8
  br label %550

550:                                              ; preds = %549
  %551 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %552 unwind label %592

552:                                              ; preds = %550
  br i1 %551, label %532, label %553, !llvm.loop !59

553:                                              ; preds = %552
  invoke void @_ZN10coreneuron18corenrn_parameters5resetEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
          to label %554 unwind label %592

554:                                              ; preds = %553
  br label %555

555:                                              ; preds = %571, %554
  %556 = 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) %128, ptr noundef @.str.400, i64 noundef 109)
          to label %557 unwind label %592

557:                                              ; preds = %555
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129)
          to label %558 unwind label %592

558:                                              ; preds = %557
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %556, ptr noundef %128, i64 noundef 129, ptr noundef %129)
          to label %559 unwind label %592

559:                                              ; preds = %558
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #8
  %560 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %561 unwind label %976

561:                                              ; preds = %559
  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.317") align 8 %131, ptr noundef nonnull align 8 dereferenceable(9) %560, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %562 unwind label %976

562:                                              ; preds = %561
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %132, ptr noundef @.str.400, i64 noundef 109)
          to label %563 unwind label %980

563:                                              ; preds = %562
  %564 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %5, i32 0, i32 25
  call void @llvm.lifetime.start.p0(i64 416, ptr %133) #8
  invoke void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416) %133)
          to label %565 unwind label %984

565:                                              ; preds = %563
  %566 = getelementptr inbounds %"struct.coreneuron::corenrn_parameters_data", ptr %133, i32 0, i32 25
  %567 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEddEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %131, ptr noundef %132, i64 noundef 129, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %564, ptr noundef @.str.452, ptr noundef nonnull align 8 dereferenceable(8) %566, ptr noundef @.str.453)
          to label %568 unwind label %988

568:                                              ; preds = %565
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %133) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr %133) #8
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #8
  br label %569

569:                                              ; preds = %568
  %570 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %571 unwind label %592

571:                                              ; preds = %569
  br i1 %570, label %555, label %572, !llvm.loop !60

572:                                              ; preds = %571
  br label %573

573:                                              ; preds = %590, %572
  %574 = 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) %134, ptr noundef @.str.400, i64 noundef 109)
          to label %575 unwind label %592

575:                                              ; preds = %573
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135)
          to label %576 unwind label %592

576:                                              ; preds = %575
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %574, ptr noundef %134, i64 noundef 133, ptr noundef %135)
          to label %577 unwind label %592

577:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 24, ptr %136) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #8
  invoke void @_ZNK10coreneuron18corenrn_parameters13config_to_strB5cxx11Ebb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(416) %5, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %578 unwind label %995

578:                                              ; preds = %577
  %579 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %137) #8
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %136, i1 noundef zeroext %579)
          to label %580 unwind label %999

580:                                              ; preds = %578
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #8
  %581 = invoke noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
          to label %582 unwind label %1003

582:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 16, ptr %139) #8
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %139, ptr noundef @.str.454, i64 noundef 54)
          to label %583 unwind label %1007

583:                                              ; preds = %582
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %138, ptr noundef nonnull align 8 dereferenceable(9) %581, ptr noundef nonnull align 8 dereferenceable(16) %139)
          to label %584 unwind label %1007

584:                                              ; preds = %583
  invoke void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef @.str.400, i64 noundef 109)
          to label %585 unwind label %1011

585:                                              ; preds = %584
  %586 = 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) %136, ptr noundef nonnull align 8 dereferenceable(9) %138, ptr noundef %140, i64 noundef 133, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %587 unwind label %1011

587:                                              ; preds = %585
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %139) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %136) #8
  br label %588

588:                                              ; preds = %587
  %589 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
          to label %590 unwind label %592

590:                                              ; preds = %588
  br i1 %589, label %573, label %591, !llvm.loop !61

591:                                              ; preds = %590
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %5) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 280, ptr %3) #8
  ret void

592:                                              ; preds = %588, %576, %575, %573, %569, %558, %557, %555, %553, %550, %535, %534, %532, %528, %515, %514, %512, %508, %495, %494, %492, %488, %475, %474, %472, %468, %455, %454, %452, %448, %433, %432, %430, %426, %413, %412, %410, %406, %393, %392, %390, %386, %373, %372, %370, %366, %351, %350, %348, %344, %331, %330, %328, %324, %311, %310, %308, %304, %291, %290, %288, %284, %269, %268, %266, %262, %249, %248, %246, %242, %229, %228, %226, %222, %209, %208, %206, %202, %187, %186, %184, %180, %167, %166, %164, %160, %147, %146, %144, %1
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %6, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %7, align 4
  br label %1019

596:                                              ; preds = %148
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %6, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %7, align 4
  br label %614

600:                                              ; preds = %152
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %6, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %7, align 4
  br label %613

604:                                              ; preds = %155, %154
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %6, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %7, align 4
  br label %612

608:                                              ; preds = %157, %156
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %6, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #8
  br label %612

612:                                              ; preds = %608, %604
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  br label %613

613:                                              ; preds = %612, %600
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  br label %614

614:                                              ; preds = %613, %596
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #8
  br label %1019

615:                                              ; preds = %168
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %6, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %7, align 4
  br label %633

619:                                              ; preds = %172
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %6, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %7, align 4
  br label %632

623:                                              ; preds = %175, %174
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %6, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %7, align 4
  br label %631

627:                                              ; preds = %177, %176
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %6, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %631

631:                                              ; preds = %627, %623
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #8
  br label %632

632:                                              ; preds = %631, %619
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  br label %633

633:                                              ; preds = %632, %615
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #8
  br label %1019

634:                                              ; preds = %188
  %635 = landingpad { ptr, i32 }
          cleanup
  %636 = extractvalue { ptr, i32 } %635, 0
  store ptr %636, ptr %6, align 8
  %637 = extractvalue { ptr, i32 } %635, 1
  store i32 %637, ptr %7, align 4
  br label %652

638:                                              ; preds = %194
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %6, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %7, align 4
  br label %651

642:                                              ; preds = %197, %196
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %6, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %7, align 4
  br label %650

646:                                              ; preds = %199, %198
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %6, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  br label %650

650:                                              ; preds = %646, %642
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #8
  br label %651

651:                                              ; preds = %650, %638
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  br label %652

652:                                              ; preds = %651, %634
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #8
  br label %1019

653:                                              ; preds = %210
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %6, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %7, align 4
  br label %671

657:                                              ; preds = %214
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %6, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %7, align 4
  br label %670

661:                                              ; preds = %217, %216
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %6, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %7, align 4
  br label %669

665:                                              ; preds = %219, %218
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %6, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  br label %669

669:                                              ; preds = %665, %661
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #8
  br label %670

670:                                              ; preds = %669, %657
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %671

671:                                              ; preds = %670, %653
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #8
  br label %1019

672:                                              ; preds = %230
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %6, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %7, align 4
  br label %690

676:                                              ; preds = %234
  %677 = landingpad { ptr, i32 }
          cleanup
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %6, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %7, align 4
  br label %689

680:                                              ; preds = %237, %236
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %6, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %7, align 4
  br label %688

684:                                              ; preds = %239, %238
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %6, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %688

688:                                              ; preds = %684, %680
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #8
  br label %689

689:                                              ; preds = %688, %676
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  br label %690

690:                                              ; preds = %689, %672
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  br label %1019

691:                                              ; preds = %250
  %692 = landingpad { ptr, i32 }
          cleanup
  %693 = extractvalue { ptr, i32 } %692, 0
  store ptr %693, ptr %6, align 8
  %694 = extractvalue { ptr, i32 } %692, 1
  store i32 %694, ptr %7, align 4
  br label %709

695:                                              ; preds = %254
  %696 = landingpad { ptr, i32 }
          cleanup
  %697 = extractvalue { ptr, i32 } %696, 0
  store ptr %697, ptr %6, align 8
  %698 = extractvalue { ptr, i32 } %696, 1
  store i32 %698, ptr %7, align 4
  br label %708

699:                                              ; preds = %257, %256
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %6, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %7, align 4
  br label %707

703:                                              ; preds = %259, %258
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %6, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %707

707:                                              ; preds = %703, %699
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  br label %708

708:                                              ; preds = %707, %695
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #8
  br label %709

709:                                              ; preds = %708, %691
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #8
  br label %1019

710:                                              ; preds = %270
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %6, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %7, align 4
  br label %728

714:                                              ; preds = %276
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %6, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %7, align 4
  br label %727

718:                                              ; preds = %279, %278
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %6, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %7, align 4
  br label %726

722:                                              ; preds = %281, %280
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %6, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %726

726:                                              ; preds = %722, %718
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  br label %727

727:                                              ; preds = %726, %714
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #8
  br label %728

728:                                              ; preds = %727, %710
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #8
  br label %1019

729:                                              ; preds = %292
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %6, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %7, align 4
  br label %747

733:                                              ; preds = %296
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %6, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %7, align 4
  br label %746

737:                                              ; preds = %299, %298
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %6, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %7, align 4
  br label %745

741:                                              ; preds = %301, %300
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %6, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %745

745:                                              ; preds = %741, %737
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #8
  br label %746

746:                                              ; preds = %745, %733
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #8
  br label %747

747:                                              ; preds = %746, %729
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #8
  br label %1019

748:                                              ; preds = %312
  %749 = landingpad { ptr, i32 }
          cleanup
  %750 = extractvalue { ptr, i32 } %749, 0
  store ptr %750, ptr %6, align 8
  %751 = extractvalue { ptr, i32 } %749, 1
  store i32 %751, ptr %7, align 4
  br label %766

752:                                              ; preds = %316
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %6, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %7, align 4
  br label %765

756:                                              ; preds = %319, %318
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %6, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %7, align 4
  br label %764

760:                                              ; preds = %321, %320
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %6, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  br label %764

764:                                              ; preds = %760, %756
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  br label %765

765:                                              ; preds = %764, %752
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #8
  br label %766

766:                                              ; preds = %765, %748
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #8
  br label %1019

767:                                              ; preds = %332
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %6, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %7, align 4
  br label %785

771:                                              ; preds = %336
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %6, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %7, align 4
  br label %784

775:                                              ; preds = %339, %338
  %776 = landingpad { ptr, i32 }
          cleanup
  %777 = extractvalue { ptr, i32 } %776, 0
  store ptr %777, ptr %6, align 8
  %778 = extractvalue { ptr, i32 } %776, 1
  store i32 %778, ptr %7, align 4
  br label %783

779:                                              ; preds = %341, %340
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %6, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  br label %783

783:                                              ; preds = %779, %775
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #8
  br label %784

784:                                              ; preds = %783, %771
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  br label %785

785:                                              ; preds = %784, %767
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #8
  br label %1019

786:                                              ; preds = %352
  %787 = landingpad { ptr, i32 }
          cleanup
  %788 = extractvalue { ptr, i32 } %787, 0
  store ptr %788, ptr %6, align 8
  %789 = extractvalue { ptr, i32 } %787, 1
  store i32 %789, ptr %7, align 4
  br label %804

790:                                              ; preds = %358
  %791 = landingpad { ptr, i32 }
          cleanup
  %792 = extractvalue { ptr, i32 } %791, 0
  store ptr %792, ptr %6, align 8
  %793 = extractvalue { ptr, i32 } %791, 1
  store i32 %793, ptr %7, align 4
  br label %803

794:                                              ; preds = %361, %360
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %6, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %7, align 4
  br label %802

798:                                              ; preds = %363, %362
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %6, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %802

802:                                              ; preds = %798, %794
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #8
  br label %803

803:                                              ; preds = %802, %790
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #8
  br label %804

804:                                              ; preds = %803, %786
  call void @llvm.lifetime.end.p0(i64 24, ptr %70) #8
  br label %1019

805:                                              ; preds = %374
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %6, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %7, align 4
  br label %823

809:                                              ; preds = %378
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %6, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %7, align 4
  br label %822

813:                                              ; preds = %381, %380
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %6, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %7, align 4
  br label %821

817:                                              ; preds = %383, %382
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %6, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %821

821:                                              ; preds = %817, %813
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #8
  br label %822

822:                                              ; preds = %821, %809
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #8
  br label %823

823:                                              ; preds = %822, %805
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #8
  br label %1019

824:                                              ; preds = %394
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %6, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %7, align 4
  br label %842

828:                                              ; preds = %398
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %6, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %7, align 4
  br label %841

832:                                              ; preds = %401, %400
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %6, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %7, align 4
  br label %840

836:                                              ; preds = %403, %402
  %837 = landingpad { ptr, i32 }
          cleanup
  %838 = extractvalue { ptr, i32 } %837, 0
  store ptr %838, ptr %6, align 8
  %839 = extractvalue { ptr, i32 } %837, 1
  store i32 %839, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  br label %840

840:                                              ; preds = %836, %832
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #8
  br label %841

841:                                              ; preds = %840, %828
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #8
  br label %842

842:                                              ; preds = %841, %824
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #8
  br label %1019

843:                                              ; preds = %414
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %6, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %7, align 4
  br label %861

847:                                              ; preds = %418
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %6, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %7, align 4
  br label %860

851:                                              ; preds = %421, %420
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %6, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %7, align 4
  br label %859

855:                                              ; preds = %423, %422
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %6, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  br label %859

859:                                              ; preds = %855, %851
  call void @llvm.lifetime.end.p0(i64 16, ptr %90) #8
  br label %860

860:                                              ; preds = %859, %847
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #8
  br label %861

861:                                              ; preds = %860, %843
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #8
  br label %1019

862:                                              ; preds = %434
  %863 = landingpad { ptr, i32 }
          cleanup
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %6, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %7, align 4
  br label %880

866:                                              ; preds = %440
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %6, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %7, align 4
  br label %879

870:                                              ; preds = %443, %442
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %6, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %7, align 4
  br label %878

874:                                              ; preds = %445, %444
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %6, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #8
  br label %878

878:                                              ; preds = %874, %870
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #8
  br label %879

879:                                              ; preds = %878, %866
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  br label %880

880:                                              ; preds = %879, %862
  call void @llvm.lifetime.end.p0(i64 24, ptr %94) #8
  br label %1019

881:                                              ; preds = %456
  %882 = landingpad { ptr, i32 }
          cleanup
  %883 = extractvalue { ptr, i32 } %882, 0
  store ptr %883, ptr %6, align 8
  %884 = extractvalue { ptr, i32 } %882, 1
  store i32 %884, ptr %7, align 4
  br label %899

885:                                              ; preds = %460
  %886 = landingpad { ptr, i32 }
          cleanup
  %887 = extractvalue { ptr, i32 } %886, 0
  store ptr %887, ptr %6, align 8
  %888 = extractvalue { ptr, i32 } %886, 1
  store i32 %888, ptr %7, align 4
  br label %898

889:                                              ; preds = %463, %462
  %890 = landingpad { ptr, i32 }
          cleanup
  %891 = extractvalue { ptr, i32 } %890, 0
  store ptr %891, ptr %6, align 8
  %892 = extractvalue { ptr, i32 } %890, 1
  store i32 %892, ptr %7, align 4
  br label %897

893:                                              ; preds = %465, %464
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %6, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #8
  br label %897

897:                                              ; preds = %893, %889
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #8
  br label %898

898:                                              ; preds = %897, %885
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  br label %899

899:                                              ; preds = %898, %881
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  br label %1019

900:                                              ; preds = %476
  %901 = landingpad { ptr, i32 }
          cleanup
  %902 = extractvalue { ptr, i32 } %901, 0
  store ptr %902, ptr %6, align 8
  %903 = extractvalue { ptr, i32 } %901, 1
  store i32 %903, ptr %7, align 4
  br label %918

904:                                              ; preds = %480
  %905 = landingpad { ptr, i32 }
          cleanup
  %906 = extractvalue { ptr, i32 } %905, 0
  store ptr %906, ptr %6, align 8
  %907 = extractvalue { ptr, i32 } %905, 1
  store i32 %907, ptr %7, align 4
  br label %917

908:                                              ; preds = %483, %482
  %909 = landingpad { ptr, i32 }
          cleanup
  %910 = extractvalue { ptr, i32 } %909, 0
  store ptr %910, ptr %6, align 8
  %911 = extractvalue { ptr, i32 } %909, 1
  store i32 %911, ptr %7, align 4
  br label %916

912:                                              ; preds = %485, %484
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %6, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  br label %916

916:                                              ; preds = %912, %908
  call void @llvm.lifetime.end.p0(i64 16, ptr %108) #8
  br label %917

917:                                              ; preds = %916, %904
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  br label %918

918:                                              ; preds = %917, %900
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  br label %1019

919:                                              ; preds = %496
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %6, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %7, align 4
  br label %937

923:                                              ; preds = %500
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %6, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %7, align 4
  br label %936

927:                                              ; preds = %503, %502
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %6, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %7, align 4
  br label %935

931:                                              ; preds = %505, %504
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %6, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  br label %935

935:                                              ; preds = %931, %927
  call void @llvm.lifetime.end.p0(i64 16, ptr %114) #8
  br label %936

936:                                              ; preds = %935, %923
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #8
  br label %937

937:                                              ; preds = %936, %919
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #8
  br label %1019

938:                                              ; preds = %516
  %939 = landingpad { ptr, i32 }
          cleanup
  %940 = extractvalue { ptr, i32 } %939, 0
  store ptr %940, ptr %6, align 8
  %941 = extractvalue { ptr, i32 } %939, 1
  store i32 %941, ptr %7, align 4
  br label %956

942:                                              ; preds = %520
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %6, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %7, align 4
  br label %955

946:                                              ; preds = %523, %522
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %6, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %7, align 4
  br label %954

950:                                              ; preds = %525, %524
  %951 = landingpad { ptr, i32 }
          cleanup
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %6, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #8
  br label %954

954:                                              ; preds = %950, %946
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #8
  br label %955

955:                                              ; preds = %954, %942
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %118) #8
  br label %956

956:                                              ; preds = %955, %938
  call void @llvm.lifetime.end.p0(i64 24, ptr %118) #8
  br label %1019

957:                                              ; preds = %536
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %6, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %7, align 4
  br label %975

961:                                              ; preds = %542
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %6, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %7, align 4
  br label %974

965:                                              ; preds = %545, %544
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %6, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %7, align 4
  br label %973

969:                                              ; preds = %547, %546
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %6, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #8
  br label %973

973:                                              ; preds = %969, %965
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #8
  br label %974

974:                                              ; preds = %973, %961
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #8
  br label %975

975:                                              ; preds = %974, %957
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #8
  br label %1019

976:                                              ; preds = %561, %559
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %6, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %7, align 4
  br label %994

980:                                              ; preds = %562
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %6, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %7, align 4
  br label %993

984:                                              ; preds = %563
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %6, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %7, align 4
  br label %992

988:                                              ; preds = %565
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %6, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %7, align 4
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %133) #8
  br label %992

992:                                              ; preds = %988, %984
  call void @llvm.lifetime.end.p0(i64 416, ptr %133) #8
  br label %993

993:                                              ; preds = %992, %980
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #8
  br label %994

994:                                              ; preds = %993, %976
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #8
  br label %1019

995:                                              ; preds = %577
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %6, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %7, align 4
  br label %1018

999:                                              ; preds = %578
  %1000 = landingpad { ptr, i32 }
          cleanup
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %6, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %7, align 4
  br label %1017

1003:                                             ; preds = %580
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %6, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %7, align 4
  br label %1016

1007:                                             ; preds = %583, %582
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %6, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %7, align 4
  br label %1015

1011:                                             ; preds = %585, %584
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %6, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %7, align 4
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #8
  br label %1015

1015:                                             ; preds = %1011, %1007
  call void @llvm.lifetime.end.p0(i64 16, ptr %139) #8
  br label %1016

1016:                                             ; preds = %1015, %1003
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #8
  br label %1017

1017:                                             ; preds = %1016, %999
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #8
  br label %1018

1018:                                             ; preds = %1017, %995
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %136) #8
  br label %1019

1019:                                             ; preds = %1018, %994, %975, %956, %937, %918, %899, %880, %861, %842, %823, %804, %785, %766, %747, %728, %709, %690, %671, %652, %633, %614, %592
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %5) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #8
  call void @llvm.lifetime.end.p0(i64 280, ptr %3) #8
  br label %1020

1020:                                             ; preds = %1019
  %1021 = load ptr, ptr %6, align 8
  %1022 = load i32, ptr %7, align 4
  %1023 = insertvalue { ptr, i32 } poison, ptr %1021, 0
  %1024 = insertvalue { ptr, i32 } %1023, i32 %1022, 1
  resume { ptr, i32 } %1024
}

declare void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416)) unnamed_addr #5

declare void @_ZN10coreneuron18corenrn_parameters5parseEiPPc(ptr noundef nonnull align 8 dereferenceable(416), i32 noundef, ptr noundef) #5

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

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

declare void @_ZN10coreneuron18corenrn_parameters5resetEv(ptr noundef nonnull align 8 dereferenceable(416)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEddEEbT_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 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #6

; 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.317") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) #6

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

declare void @_ZNK10coreneuron18corenrn_parameters13config_to_strB5cxx11Ebb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(416), i1 noundef zeroext, i1 noundef zeroext) #5

; 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 = { "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 = { 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 #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 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 36}
!12 = !{!"_ZTSN10coreneuron23corenrn_parameters_dataE", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36, !13, i64 40, !13, i64 41, !13, i64 42, !13, i64 43, !13, i64 44, !13, i64 45, !13, i64 46, !13, i64 47, !13, i64 48, !14, i64 52, !15, i64 56, !15, i64 64, !15, i64 72, !15, i64 80, !15, i64 88, !15, i64 96, !15, i64 104, !15, i64 112, !16, i64 120, !16, i64 152, !16, i64 184, !16, i64 216, !16, i64 248, !16, i64 280, !16, i64 312, !16, i64 344, !16, i64 376}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"_ZTSN10coreneuron23corenrn_parameters_data13verbose_levelE", !7, i64 0}
!15 = !{!"double", !7, i64 0}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = distinct !{!19, !20}
!20 = !{!"llvm.loop.mustprogress"}
!21 = !{!12, !10, i64 0}
!22 = distinct !{!22, !20}
!23 = !{!12, !13, i64 43}
!24 = !{i8 0, i8 2}
!25 = !{}
!26 = distinct !{!26, !20}
!27 = !{!12, !15, i64 64}
!28 = distinct !{!28, !20}
!29 = !{!12, !15, i64 56}
!30 = distinct !{!30, !20}
!31 = !{!12, !10, i64 4}
!32 = distinct !{!32, !20}
!33 = !{!12, !13, i64 44}
!34 = distinct !{!34, !20}
!35 = !{!12, !15, i64 72}
!36 = distinct !{!36, !20}
!37 = !{!12, !15, i64 104}
!38 = distinct !{!38, !20}
!39 = !{!12, !15, i64 88}
!40 = distinct !{!40, !20}
!41 = !{!12, !13, i64 40}
!42 = distinct !{!42, !20}
!43 = !{!12, !10, i64 20}
!44 = distinct !{!44, !20}
!45 = !{!12, !15, i64 96}
!46 = distinct !{!46, !20}
!47 = !{!12, !10, i64 24}
!48 = distinct !{!48, !20}
!49 = !{!12, !13, i64 42}
!50 = distinct !{!50, !20}
!51 = !{!12, !15, i64 112}
!52 = distinct !{!52, !20}
!53 = !{!12, !10, i64 8}
!54 = distinct !{!54, !20}
!55 = !{!12, !10, i64 12}
!56 = distinct !{!56, !20}
!57 = !{!12, !10, i64 16}
!58 = distinct !{!58, !20}
!59 = distinct !{!59, !20}
!60 = distinct !{!60, !20}
!61 = distinct !{!61, !20}


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

%"struct.coreneuron::corenrn_parameters" = type { %"struct.coreneuron::corenrn_parameters_data", %"class.std::unique_ptr" }
%"struct.coreneuron::corenrn_parameters_data" = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, double, double, double, double, double, double, double, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.315" }
%"struct.std::_Head_base.315" = type { ptr }
%"class.boost::unit_test::basic_cstring" = type { ptr, ptr }
%"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 }
%"class.boost::unit_test::lazy_ostream_impl.316" = type { %"class.boost::unit_test::lazy_ostream.base", ptr, ptr }
%"class.boost::unit_test::lazy_ostream.base" = type <{ ptr, i8 }>
%"class.boost::unit_test::lazy_ostream_impl.317" = type { %"class.boost::unit_test::lazy_ostream.base", 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.400 = external hidden unnamed_addr constant [110 x i8], align 1
@__const._ZN17cmdline_interface11test_methodEv.argv = external hidden unnamed_addr constant [35 x ptr], align 16
@.str.433 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.434 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [55 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; 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: mustprogress uwtable
declare dso_local void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) unnamed_addr #4 align 2

; 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 @_ZN17cmdline_interface11test_methodEv(ptr nocapture noundef nonnull readnone align 1 dereferenceable(1) %0) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca [35 x ptr], align 16
  %3 = alloca %"struct.coreneuron::corenrn_parameters", align 8
  %4 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %5 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %6 = alloca %"class.boost::test_tools::assertion_result", align 8
  %7 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %12 = alloca %"class.boost::test_tools::assertion_result", align 8
  %13 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::unit_test::basic_cstring", align 8
  %18 = alloca %"class.boost::test_tools::assertion_result", align 8
  %19 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", 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::basic_cstring", align 8
  %23 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %24 = alloca %"class.boost::test_tools::assertion_result", align 8
  %25 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %26 = alloca %"class.boost::unit_test::basic_cstring", 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 %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %32 = alloca %"class.boost::unit_test::basic_cstring", 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 %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %38 = alloca %"class.boost::unit_test::basic_cstring", 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 %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %44 = alloca %"class.boost::unit_test::basic_cstring", 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 %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %50 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %51 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %52 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %53 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %54 = alloca %"class.boost::test_tools::assertion_result", align 8
  %55 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %56 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %57 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %58 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %59 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %60 = alloca %"class.boost::test_tools::assertion_result", align 8
  %61 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %62 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %63 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %64 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %65 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %66 = alloca %"class.boost::test_tools::assertion_result", align 8
  %67 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %68 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %69 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %70 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %71 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %72 = alloca %"class.boost::test_tools::assertion_result", align 8
  %73 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %74 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %75 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %76 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %77 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %78 = alloca %"class.boost::test_tools::assertion_result", align 8
  %79 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %80 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %81 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %82 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %83 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %84 = alloca %"class.boost::test_tools::assertion_result", align 8
  %85 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %86 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %87 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %88 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %89 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %90 = alloca %"class.boost::test_tools::assertion_result", align 8
  %91 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %92 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %93 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %94 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %95 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %96 = alloca %"class.boost::test_tools::assertion_result", align 8
  %97 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %98 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %99 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %100 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %101 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %102 = alloca %"class.boost::test_tools::assertion_result", align 8
  %103 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %104 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %105 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %106 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %107 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %108 = alloca %"class.boost::test_tools::assertion_result", align 8
  %109 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %110 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %111 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %112 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %113 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %114 = alloca %"class.boost::test_tools::assertion_result", align 8
  %115 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %116 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %117 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %118 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %119 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %120 = alloca %"class.boost::test_tools::assertion_result", align 8
  %121 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %122 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %123 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %124 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %125 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %126 = alloca %"class.boost::unit_test::lazy_ostream_impl.317", align 8
  %127 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %128 = alloca %"struct.coreneuron::corenrn_parameters", align 8
  %129 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %130 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %131 = alloca %"class.boost::test_tools::assertion_result", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.boost::unit_test::lazy_ostream_impl.316", align 8
  %134 = alloca %"class.boost::unit_test::basic_cstring", align 8
  %135 = alloca %"class.boost::unit_test::basic_cstring", align 8
  call void @llvm.lifetime.start.p0(i64 280, ptr nonnull %2) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(280) %2, ptr noundef nonnull align 16 dereferenceable(280) @__const._ZN17cmdline_interface11test_methodEv.argv, i64 280, i1 false)
  call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %3) #8
  call void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416) %3)
  invoke void @_ZN10coreneuron18corenrn_parameters5parseEiPPc(ptr noundef nonnull align 8 dereferenceable(416) %3, i32 noundef 35, ptr noundef nonnull %2)
          to label %.preheader192 unwind label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader192:                                    ; preds = %1
  %136 = getelementptr inbounds i8, ptr %3, i64 36
  br label %137

137:                                              ; preds = %.preheader192, %146
  %138 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef nonnull %4, i64 noundef 83, ptr noundef nonnull %5)
          to label %139 unwind label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

139:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #8
  %140 = load i32, ptr %136, align 4, !tbaa !9
  %141 = icmp eq i32 %140, -1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %6, i1 noundef zeroext %141)
          to label %142 unwind label %394

142:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #8
  %143 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull @.str.433, i64 noundef 29)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %7, ptr noundef nonnull align 8 dereferenceable(9) %143, ptr noundef nonnull align 8 dereferenceable(16) %8)
          to label %144 unwind label %396

144:                                              ; preds = %142
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull @.str.400, i64 noundef 109)
  %145 = 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) %6, ptr noundef nonnull align 8 dereferenceable(9) %7, ptr noundef nonnull %9, i64 noundef 83, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %146 unwind label %398

146:                                              ; preds = %144
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  %147 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %147, label %137, label %.preheader189, !llvm.loop !18

.preheader189:                                    ; preds = %146, %156
  %148 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull %10, i64 noundef 85, ptr noundef nonnull %11)
          to label %149 unwind label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

149:                                              ; preds = %.preheader189
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #8
  %150 = load i32, ptr %3, align 8, !tbaa !20
  %151 = icmp eq i32 %150, 100
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %12, i1 noundef zeroext %151)
          to label %152 unwind label %402

152:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #8
  %153 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull @.str.434, i64 noundef 34)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %13, ptr noundef nonnull align 8 dereferenceable(9) %153, ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %154 unwind label %404

154:                                              ; preds = %152
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull @.str.400, i64 noundef 109)
  %155 = 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) %12, ptr noundef nonnull align 8 dereferenceable(9) %13, ptr noundef nonnull %15, i64 noundef 85, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %156 unwind label %406

156:                                              ; preds = %154
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #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) %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  %157 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %157, label %.preheader189, label %.preheader185, !llvm.loop !21

.preheader185:                                    ; preds = %156
  %158 = getelementptr inbounds i8, ptr %3, i64 43
  br label %159

159:                                              ; preds = %.preheader185, %168
  %160 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %16, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull %16, i64 noundef 87, ptr noundef nonnull %17)
          to label %161 unwind label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit

161:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #8
  %162 = load i8, ptr %158, align 1, !tbaa !22, !range !23, !noundef !24
  %163 = trunc nuw i8 %162 to i1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %18, i1 noundef zeroext %163)
          to label %164 unwind label %410

164:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #8
  %165 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull @.str.435, i64 noundef 36)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %19, ptr noundef nonnull align 8 dereferenceable(9) %165, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %166 unwind label %412

166:                                              ; preds = %164
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull @.str.400, i64 noundef 109)
  %167 = 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) %18, ptr noundef nonnull align 8 dereferenceable(9) %19, ptr noundef nonnull %21, i64 noundef 87, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %168 unwind label %414

168:                                              ; preds = %166
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  %169 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %169, label %159, label %.preheader182, !llvm.loop !25

.preheader182:                                    ; preds = %168
  %170 = getelementptr inbounds i8, ptr %3, i64 64
  br label %171

171:                                              ; preds = %.preheader182, %180
  %172 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %23)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %172, ptr noundef nonnull %22, i64 noundef 89, ptr noundef nonnull %23)
          to label %173 unwind label %.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.split-lp.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.split-lp.loopexit

173:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #8
  %174 = load double, ptr %170, align 8, !tbaa !26
  %175 = fcmp oeq double %174, 2.000000e-02
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %24, i1 noundef zeroext %175)
          to label %176 unwind label %418

176:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  %177 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull @.str.436, i64 noundef 29)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %25, ptr noundef nonnull align 8 dereferenceable(9) %177, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %178 unwind label %420

178:                                              ; preds = %176
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull @.str.400, i64 noundef 109)
  %179 = 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) %24, ptr noundef nonnull align 8 dereferenceable(9) %25, ptr noundef nonnull %27, i64 noundef 89, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %180 unwind label %422

180:                                              ; preds = %178
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  %181 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %181, label %171, label %.preheader178, !llvm.loop !27

.preheader178:                                    ; preds = %180
  %182 = getelementptr inbounds i8, ptr %3, i64 56
  br label %183

183:                                              ; preds = %.preheader178, %192
  %184 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull @.str.400, i64 noundef 109)
  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) %184, ptr noundef nonnull %28, i64 noundef 91, ptr noundef nonnull %29)
          to label %185 unwind label %.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.split-lp.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

185:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  %186 = load double, ptr %182, align 8, !tbaa !28
  %187 = fcmp oeq double %186, 1.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %30, i1 noundef zeroext %187)
          to label %188 unwind label %426

188:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #8
  %189 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull @.str.437, i64 noundef 31)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %31, ptr noundef nonnull align 8 dereferenceable(9) %189, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %190 unwind label %428

190:                                              ; preds = %188
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull @.str.400, i64 noundef 109)
  %191 = 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) %31, ptr noundef nonnull %33, i64 noundef 91, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %192 unwind label %430

192:                                              ; preds = %190
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  %193 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %193, label %183, label %.preheader175, !llvm.loop !29

.preheader175:                                    ; preds = %192
  %194 = getelementptr inbounds i8, ptr %3, i64 4
  br label %195

195:                                              ; preds = %.preheader175, %204
  %196 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull @.str.400, i64 noundef 109)
  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) %196, ptr noundef nonnull %34, i64 noundef 93, ptr noundef nonnull %35)
          to label %197 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

197:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #8
  %198 = load i32, ptr %194, align 4, !tbaa !30
  %199 = icmp eq i32 %198, 12
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %36, i1 noundef zeroext %199)
          to label %200 unwind label %434

200:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #8
  %201 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull @.str.438, i64 noundef 34)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %37, ptr noundef nonnull align 8 dereferenceable(9) %201, ptr noundef nonnull align 8 dereferenceable(16) %38)
          to label %202 unwind label %436

202:                                              ; preds = %200
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull @.str.400, i64 noundef 109)
  %203 = 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) %37, ptr noundef nonnull %39, i64 noundef 93, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %204 unwind label %438

204:                                              ; preds = %202
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  %205 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %205, label %195, label %.preheader171, !llvm.loop !31

.preheader171:                                    ; preds = %204
  %206 = getelementptr inbounds i8, ptr %3, i64 44
  br label %207

207:                                              ; preds = %.preheader171, %216
  %208 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %40, ptr noundef nonnull @.str.400, i64 noundef 109)
  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) %208, ptr noundef nonnull %40, i64 noundef 97, ptr noundef nonnull %41)
          to label %209 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

209:                                              ; preds = %207
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #8
  %210 = load i8, ptr %206, align 4, !tbaa !32, !range !23, !noundef !24
  %211 = icmp eq i8 %210, 0
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %42, i1 noundef zeroext %211)
          to label %212 unwind label %442

212:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  %213 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %44, ptr noundef nonnull @.str.439, i64 noundef 31)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %43, ptr noundef nonnull align 8 dereferenceable(9) %213, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %214 unwind label %444

214:                                              ; preds = %212
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef nonnull @.str.400, i64 noundef 109)
  %215 = 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) %43, ptr noundef nonnull %45, i64 noundef 97, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %216 unwind label %446

216:                                              ; preds = %214
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  %217 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %217, label %207, label %.preheader168, !llvm.loop !33

.preheader168:                                    ; preds = %216
  %218 = getelementptr inbounds i8, ptr %3, i64 72
  br label %219

219:                                              ; preds = %.preheader168, %228
  %220 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull @.str.400, i64 noundef 109)
  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) %220, ptr noundef nonnull %46, i64 noundef 99, ptr noundef nonnull %47)
          to label %221 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #8
  %222 = load double, ptr %218, align 8, !tbaa !34
  %223 = fcmp oeq double %222, 2.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %48, i1 noundef zeroext %223)
          to label %224 unwind label %450

224:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  %225 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %50, ptr noundef nonnull @.str.440, i64 noundef 31)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %49, ptr noundef nonnull align 8 dereferenceable(9) %225, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %226 unwind label %452

226:                                              ; preds = %224
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %51, ptr noundef nonnull @.str.400, i64 noundef 109)
  %227 = 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) %49, ptr noundef nonnull %51, i64 noundef 99, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %228 unwind label %454

228:                                              ; preds = %226
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  %229 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %229, label %219, label %.preheader164, !llvm.loop !35

.preheader164:                                    ; preds = %228
  %230 = getelementptr inbounds i8, ptr %3, i64 104
  br label %231

231:                                              ; preds = %.preheader164, %240
  %232 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef nonnull %52, i64 noundef 101, ptr noundef nonnull %53)
          to label %233 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

233:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #8
  %234 = load double, ptr %230, align 8, !tbaa !36
  %235 = fcmp oeq double %234, 2.000000e-02
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %54, i1 noundef zeroext %235)
          to label %236 unwind label %458

236:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #8
  %237 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %56) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %56, ptr noundef nonnull @.str.441, i64 noundef 38)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %55, ptr noundef nonnull align 8 dereferenceable(9) %237, ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %238 unwind label %460

238:                                              ; preds = %236
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %57, ptr noundef nonnull @.str.400, i64 noundef 109)
  %239 = 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) %54, ptr noundef nonnull align 8 dereferenceable(9) %55, ptr noundef nonnull %57, i64 noundef 101, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %240 unwind label %462

240:                                              ; preds = %238
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  %241 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %241, label %231, label %.preheader161, !llvm.loop !37

.preheader161:                                    ; preds = %240
  %242 = getelementptr inbounds i8, ptr %3, i64 88
  br label %243

243:                                              ; preds = %.preheader161, %252
  %244 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %58, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull %58, i64 noundef 103, ptr noundef nonnull %59)
          to label %245 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

245:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %60) #8
  %246 = load double, ptr %242, align 8, !tbaa !38
  %247 = fcmp oeq double %246, 2.512000e+01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %60, i1 noundef zeroext %247)
          to label %248 unwind label %466

248:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #8
  %249 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull @.str.442, i64 noundef 35)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %61, ptr noundef nonnull align 8 dereferenceable(9) %249, ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %250 unwind label %468

250:                                              ; preds = %248
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %63, ptr noundef nonnull @.str.400, i64 noundef 109)
  %251 = 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) %60, ptr noundef nonnull align 8 dereferenceable(9) %61, ptr noundef nonnull %63, i64 noundef 103, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %252 unwind label %470

252:                                              ; preds = %250
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #8
  %253 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %253, label %243, label %.preheader157, !llvm.loop !39

.preheader157:                                    ; preds = %252
  %254 = getelementptr inbounds i8, ptr %3, i64 40
  br label %255

255:                                              ; preds = %.preheader157, %264
  %256 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef nonnull %64, i64 noundef 105, ptr noundef nonnull %65)
          to label %257 unwind label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

257:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %66) #8
  %258 = load i8, ptr %254, align 8, !tbaa !40, !range !23, !noundef !24
  %259 = trunc nuw i8 %258 to i1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %66, i1 noundef zeroext %259)
          to label %260 unwind label %474

260:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #8
  %261 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %68, ptr noundef nonnull @.str.443, i64 noundef 37)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %67, ptr noundef nonnull align 8 dereferenceable(9) %261, ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %262 unwind label %476

262:                                              ; preds = %260
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef nonnull @.str.400, i64 noundef 109)
  %263 = 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) %66, ptr noundef nonnull align 8 dereferenceable(9) %67, ptr noundef nonnull %69, i64 noundef 105, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %264 unwind label %478

264:                                              ; preds = %262
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #8
  %265 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %265, label %255, label %.preheader154, !llvm.loop !41

.preheader154:                                    ; preds = %264
  %266 = getelementptr inbounds i8, ptr %3, i64 20
  br label %267

267:                                              ; preds = %.preheader154, %276
  %268 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef nonnull %70, i64 noundef 107, ptr noundef nonnull %71)
          to label %269 unwind label %.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.split-lp.loopexit.split-lp.loopexit

269:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %72) #8
  %270 = load i32, ptr %266, align 4, !tbaa !42
  %271 = icmp eq i32 %270, 2
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %72, i1 noundef zeroext %271)
          to label %272 unwind label %482

272:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #8
  %273 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef nonnull @.str.444, i64 noundef 47)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %73, ptr noundef nonnull align 8 dereferenceable(9) %273, ptr noundef nonnull align 8 dereferenceable(16) %74)
          to label %274 unwind label %484

274:                                              ; preds = %272
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef nonnull @.str.400, i64 noundef 109)
  %275 = 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) %72, ptr noundef nonnull align 8 dereferenceable(9) %73, ptr noundef nonnull %75, i64 noundef 107, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %276 unwind label %486

276:                                              ; preds = %274
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) #8
  %277 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %277, label %267, label %.preheader150, !llvm.loop !43

.preheader150:                                    ; preds = %276
  %278 = getelementptr inbounds i8, ptr %3, i64 96
  br label %279

279:                                              ; preds = %.preheader150, %288
  %280 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %76, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %280, ptr noundef nonnull %76, i64 noundef 109, ptr noundef nonnull %77)
          to label %281 unwind label %.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.split-lp.loopexit

281:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %78) #8
  %282 = load double, ptr %278, align 8, !tbaa !44
  %283 = fcmp oeq double %282, -3.200000e+01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %78, i1 noundef zeroext %283)
          to label %284 unwind label %490

284:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #8
  %285 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %80, ptr noundef nonnull @.str.445, i64 noundef 33)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %79, ptr noundef nonnull align 8 dereferenceable(9) %285, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %286 unwind label %492

286:                                              ; preds = %284
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %81, ptr noundef nonnull @.str.400, i64 noundef 109)
  %287 = 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) %78, ptr noundef nonnull align 8 dereferenceable(9) %79, ptr noundef nonnull %81, i64 noundef 109, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %288 unwind label %494

288:                                              ; preds = %286
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %78) #8
  %289 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %289, label %279, label %.preheader147, !llvm.loop !45

.preheader147:                                    ; preds = %288
  %290 = getelementptr inbounds i8, ptr %3, i64 24
  br label %291

291:                                              ; preds = %.preheader147, %300
  %292 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %82, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %83)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef nonnull %82, i64 noundef 111, ptr noundef nonnull %83)
          to label %293 unwind label %.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

293:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %84) #8
  %294 = load i32, ptr %290, align 8, !tbaa !46
  %295 = icmp eq i32 %294, 8
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %84, i1 noundef zeroext %295)
          to label %296 unwind label %498

296:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #8
  %297 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %86) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %86, ptr noundef nonnull @.str.446, i64 noundef 29)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %85, ptr noundef nonnull align 8 dereferenceable(9) %297, ptr noundef nonnull align 8 dereferenceable(16) %86)
          to label %298 unwind label %500

298:                                              ; preds = %296
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %87, ptr noundef nonnull @.str.400, i64 noundef 109)
  %299 = 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) %84, ptr noundef nonnull align 8 dereferenceable(9) %85, ptr noundef nonnull %87, i64 noundef 111, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %300 unwind label %502

300:                                              ; preds = %298
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #8
  %301 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %301, label %291, label %.preheader143, !llvm.loop !47

.preheader143:                                    ; preds = %300
  %302 = getelementptr inbounds i8, ptr %3, i64 42
  br label %303

303:                                              ; preds = %.preheader143, %312
  %304 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %88, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull %88, i64 noundef 113, ptr noundef nonnull %89)
          to label %305 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

305:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %90) #8
  %306 = load i8, ptr %302, align 2, !tbaa !48, !range !23, !noundef !24
  %307 = trunc nuw i8 %306 to i1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %90, i1 noundef zeroext %307)
          to label %308 unwind label %506

308:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #8
  %309 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %92) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef nonnull @.str.447, i64 noundef 36)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %91, ptr noundef nonnull align 8 dereferenceable(9) %309, ptr noundef nonnull align 8 dereferenceable(16) %92)
          to label %310 unwind label %508

310:                                              ; preds = %308
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %93, ptr noundef nonnull @.str.400, i64 noundef 109)
  %311 = 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) %90, ptr noundef nonnull align 8 dereferenceable(9) %91, ptr noundef nonnull %93, i64 noundef 113, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %312 unwind label %510

312:                                              ; preds = %310
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %92) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %90) #8
  %313 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %313, label %303, label %.preheader140, !llvm.loop !49

.preheader140:                                    ; preds = %312
  %314 = getelementptr inbounds i8, ptr %3, i64 112
  br label %315

315:                                              ; preds = %.preheader140, %324
  %316 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %94, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %95)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef nonnull %94, i64 noundef 115, ptr noundef nonnull %95)
          to label %317 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

317:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %96) #8
  %318 = load double, ptr %314, align 8, !tbaa !50
  %319 = fcmp oeq double %318, 1.000000e-01
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %96, i1 noundef zeroext %319)
          to label %320 unwind label %514

320:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #8
  %321 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %98) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %98, ptr noundef nonnull @.str.448, i64 noundef 34)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %97, ptr noundef nonnull align 8 dereferenceable(9) %321, ptr noundef nonnull align 8 dereferenceable(16) %98)
          to label %322 unwind label %516

322:                                              ; preds = %320
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %99, ptr noundef nonnull @.str.400, i64 noundef 109)
  %323 = 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) %96, ptr noundef nonnull align 8 dereferenceable(9) %97, ptr noundef nonnull %99, i64 noundef 115, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %324 unwind label %518

324:                                              ; preds = %322
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %96) #8
  %325 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %325, label %315, label %.preheader136, !llvm.loop !51

.preheader136:                                    ; preds = %324
  %326 = getelementptr inbounds i8, ptr %3, i64 8
  br label %327

327:                                              ; preds = %.preheader136, %336
  %328 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %100, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %101)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef nonnull %100, i64 noundef 117, ptr noundef nonnull %101)
          to label %329 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

329:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #8
  %330 = load i32, ptr %326, align 8, !tbaa !52
  %331 = icmp eq i32 %330, 1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %102, i1 noundef zeroext %331)
          to label %332 unwind label %522

332:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #8
  %333 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %104) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %104, ptr noundef nonnull @.str.449, i64 noundef 33)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %103, ptr noundef nonnull align 8 dereferenceable(9) %333, ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %334 unwind label %524

334:                                              ; preds = %332
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %105, ptr noundef nonnull @.str.400, i64 noundef 109)
  %335 = 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) %102, ptr noundef nonnull align 8 dereferenceable(9) %103, ptr noundef nonnull %105, i64 noundef 117, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %336 unwind label %526

336:                                              ; preds = %334
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #8
  %337 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %337, label %327, label %.preheader133, !llvm.loop !53

.preheader133:                                    ; preds = %336
  %338 = getelementptr inbounds i8, ptr %3, i64 12
  br label %339

339:                                              ; preds = %.preheader133, %348
  %340 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef nonnull %106, i64 noundef 119, ptr noundef nonnull %107)
          to label %341 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

341:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %108) #8
  %342 = load i32, ptr %338, align 4, !tbaa !54
  %343 = icmp eq i32 %342, 2
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %108, i1 noundef zeroext %343)
          to label %344 unwind label %530

344:                                              ; preds = %341
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #8
  %345 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %110) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %110, ptr noundef nonnull @.str.450, i64 noundef 33)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %109, ptr noundef nonnull align 8 dereferenceable(9) %345, ptr noundef nonnull align 8 dereferenceable(16) %110)
          to label %346 unwind label %532

346:                                              ; preds = %344
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %111, ptr noundef nonnull @.str.400, i64 noundef 109)
  %347 = 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) %108, ptr noundef nonnull align 8 dereferenceable(9) %109, ptr noundef nonnull %111, i64 noundef 119, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %348 unwind label %534

348:                                              ; preds = %346
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #8
  %349 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %349, label %339, label %.preheader129, !llvm.loop !55

.preheader129:                                    ; preds = %348
  %350 = getelementptr inbounds i8, ptr %3, i64 16
  br label %351

351:                                              ; preds = %.preheader129, %360
  %352 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %112, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull %112, i64 noundef 121, ptr noundef nonnull %113)
          to label %353 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

353:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %114) #8
  %354 = load i32, ptr %350, align 8, !tbaa !56
  %355 = icmp eq i32 %354, 32
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %114, i1 noundef zeroext %355)
          to label %356 unwind label %538

356:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #8
  %357 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %116) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %116, ptr noundef nonnull @.str.451, i64 noundef 36)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %115, ptr noundef nonnull align 8 dereferenceable(9) %357, ptr noundef nonnull align 8 dereferenceable(16) %116)
          to label %358 unwind label %540

358:                                              ; preds = %356
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %117, ptr noundef nonnull @.str.400, i64 noundef 109)
  %359 = 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) %114, ptr noundef nonnull align 8 dereferenceable(9) %115, ptr noundef nonnull %117, i64 noundef 121, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %360 unwind label %542

360:                                              ; preds = %358
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %116) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #8
  %361 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %361, label %351, label %.preheader126, !llvm.loop !57

.preheader126:                                    ; preds = %360, %370
  %362 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %118, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef nonnull %118, i64 noundef 123, ptr noundef nonnull %119)
          to label %363 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

363:                                              ; preds = %.preheader126
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %120) #8
  %364 = load i8, ptr %302, align 2, !tbaa !48, !range !23, !noundef !24
  %365 = trunc nuw i8 %364 to i1
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %120, i1 noundef zeroext %365)
          to label %366 unwind label %546

366:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #8
  %367 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %122, ptr noundef nonnull @.str.447, i64 noundef 36)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %121, ptr noundef nonnull align 8 dereferenceable(9) %367, ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %368 unwind label %548

368:                                              ; preds = %366
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %123, ptr noundef nonnull @.str.400, i64 noundef 109)
  %369 = 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) %120, ptr noundef nonnull align 8 dereferenceable(9) %121, ptr noundef nonnull %123, i64 noundef 123, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %370 unwind label %550

370:                                              ; preds = %368
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #8
  %371 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %371, label %.preheader126, label %372, !llvm.loop !58

372:                                              ; preds = %370
  invoke void @_ZN10coreneuron18corenrn_parameters5resetEv(ptr noundef nonnull align 8 dereferenceable(416) %3)
          to label %.preheader122 unwind label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader122:                                    ; preds = %372
  %373 = getelementptr inbounds i8, ptr %128, i64 96
  br label %374

374:                                              ; preds = %.preheader122, %381
  %375 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %375, ptr noundef nonnull %124, i64 noundef 129, ptr noundef nonnull %125)
          to label %376 unwind label %.loopexit.split-lp.loopexit

376:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #8
  %377 = 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.317") align 8 %126, ptr noundef nonnull align 8 dereferenceable(9) %377, ptr noundef nonnull align 1 dereferenceable(1) @.str.125)
          to label %378 unwind label %554

378:                                              ; preds = %376
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %127, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %128) #8
  invoke void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416) %128)
          to label %379 unwind label %556

379:                                              ; preds = %378
  %380 = invoke noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEddEEbT_RKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEmNS1_10tool_levelENS1_10check_typeERKT0_PSA_RKT1_SH_(ptr noundef nonnull align 8 dereferenceable(9) %126, ptr noundef nonnull %127, i64 noundef 129, i32 noundef 1, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef nonnull @.str.452, ptr noundef nonnull align 8 dereferenceable(8) %373, ptr noundef nonnull @.str.453)
          to label %381 unwind label %558

381:                                              ; preds = %379
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %128) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %128) #8
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #8
  %382 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %382, label %374, label %.preheader, !llvm.loop !59

.preheader:                                       ; preds = %381, %391
  %383 = load ptr, ptr @_ZN5boost9unit_test12_GLOBAL__N_113unit_test_logE, align 8, !tbaa !5
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %129, ptr noundef nonnull @.str.400, i64 noundef 109)
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %130)
  invoke void @_ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEmS4_(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef nonnull %129, i64 noundef 133, ptr noundef nonnull %130)
          to label %384 unwind label %.loopexit

384:                                              ; preds = %.preheader
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #8
  invoke void @_ZNK10coreneuron18corenrn_parameters13config_to_strB5cxx11Ebb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 8 dereferenceable(416) %3, i1 noundef zeroext false, i1 noundef zeroext false)
          to label %385 unwind label %562

385:                                              ; preds = %384
  %386 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  invoke void @_ZN5boost10test_tools16assertion_resultC2Eb(ptr noundef nonnull align 8 dereferenceable(24) %131, i1 noundef zeroext %386)
          to label %387 unwind label %564

387:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %133) #8
  %388 = call noundef nonnull align 8 dereferenceable(9) ptr @_ZN5boost9unit_test12lazy_ostream8instanceEv()
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %134) #8
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %134, ptr noundef nonnull @.str.454, i64 noundef 54)
  invoke void @_ZN5boost9unit_testlsINS0_13basic_cstringIKcEEEENS0_17lazy_ostream_implINS0_12lazy_ostreamET_RKS7_EERKS6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.boost::unit_test::lazy_ostream_impl.316") align 8 %133, ptr noundef nonnull align 8 dereferenceable(9) %388, ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %389 unwind label %566

389:                                              ; preds = %387
  call void @_ZN5boost9unit_test13basic_cstringIKcEC2ImEEPS2_T_(ptr noundef nonnull align 8 dereferenceable(16) %135, ptr noundef nonnull @.str.400, i64 noundef 109)
  %390 = 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) %131, ptr noundef nonnull align 8 dereferenceable(9) %133, ptr noundef nonnull %135, i64 noundef 133, i32 noundef 1, i32 noundef 0, i64 noundef 0)
          to label %391 unwind label %568

391:                                              ; preds = %389
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #8
  %392 = call noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10dummy_condEv()
  br i1 %392, label %.preheader, label %393, !llvm.loop !60

393:                                              ; preds = %391
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %3) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %3) #8
  call void @llvm.lifetime.end.p0(i64 280, ptr nonnull %2) #8
  ret void

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

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

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

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

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

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

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %315
  %lpad.loopexit141 = landingpad { ptr, i32 }
          cleanup
  br label %.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: ; preds = %303
  %lpad.loopexit144 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit: ; preds = %291
  %lpad.loopexit148 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit: ; preds = %279
  %lpad.loopexit151 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %267
  %lpad.loopexit155 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %255
  %lpad.loopexit158 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %243
  %lpad.loopexit162 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %231
  %lpad.loopexit165 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %219
  %lpad.loopexit169 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %207
  %lpad.loopexit172 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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: ; preds = %195
  %lpad.loopexit176 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit: ; preds = %183
  %lpad.loopexit179 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit: ; preds = %171
  %lpad.loopexit183 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %159
  %lpad.loopexit186 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader189
  %lpad.loopexit190 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %137
  %lpad.loopexit193 = landingpad { ptr, i32 }
          cleanup
  br label %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %372, %1
  %lpad.loopexit.split-lp194 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

394:                                              ; preds = %139
  %395 = landingpad { ptr, i32 }
          cleanup
  br label %401

396:                                              ; preds = %142
  %397 = landingpad { ptr, i32 }
          cleanup
  br label %400

398:                                              ; preds = %144
  %399 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  br label %400

400:                                              ; preds = %398, %396
  %.pn = phi { ptr, i32 } [ %399, %398 ], [ %397, %396 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  br label %401

401:                                              ; preds = %400, %394
  %.pn.pn = phi { ptr, i32 } [ %.pn, %400 ], [ %395, %394 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  br label %.loopexit.split-lp

402:                                              ; preds = %149
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %409

404:                                              ; preds = %152
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %408

406:                                              ; preds = %154
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  br label %408

408:                                              ; preds = %406, %404
  %.pn57 = phi { ptr, i32 } [ %407, %406 ], [ %405, %404 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #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) %12) #8
  br label %409

409:                                              ; preds = %408, %402
  %.pn57.pn = phi { ptr, i32 } [ %.pn57, %408 ], [ %403, %402 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  br label %.loopexit.split-lp

410:                                              ; preds = %161
  %411 = landingpad { ptr, i32 }
          cleanup
  br label %417

412:                                              ; preds = %164
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %416

414:                                              ; preds = %166
  %415 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %416

416:                                              ; preds = %414, %412
  %.pn60 = phi { ptr, i32 } [ %415, %414 ], [ %413, %412 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  br label %417

417:                                              ; preds = %416, %410
  %.pn60.pn = phi { ptr, i32 } [ %.pn60, %416 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  br label %.loopexit.split-lp

418:                                              ; preds = %173
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %425

420:                                              ; preds = %176
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %424

422:                                              ; preds = %178
  %423 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %424

424:                                              ; preds = %422, %420
  %.pn63 = phi { ptr, i32 } [ %423, %422 ], [ %421, %420 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #8
  br label %425

425:                                              ; preds = %424, %418
  %.pn63.pn = phi { ptr, i32 } [ %.pn63, %424 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #8
  br label %.loopexit.split-lp

426:                                              ; preds = %185
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %433

428:                                              ; preds = %188
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %432

430:                                              ; preds = %190
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  br label %432

432:                                              ; preds = %430, %428
  %.pn66 = phi { ptr, i32 } [ %431, %430 ], [ %429, %428 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  br label %433

433:                                              ; preds = %432, %426
  %.pn66.pn = phi { ptr, i32 } [ %.pn66, %432 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  br label %.loopexit.split-lp

434:                                              ; preds = %197
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %441

436:                                              ; preds = %200
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %440

438:                                              ; preds = %202
  %439 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %440

440:                                              ; preds = %438, %436
  %.pn69 = phi { ptr, i32 } [ %439, %438 ], [ %437, %436 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #8
  br label %441

441:                                              ; preds = %440, %434
  %.pn69.pn = phi { ptr, i32 } [ %.pn69, %440 ], [ %435, %434 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #8
  br label %.loopexit.split-lp

442:                                              ; preds = %209
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %449

444:                                              ; preds = %212
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %448

446:                                              ; preds = %214
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %448

448:                                              ; preds = %446, %444
  %.pn72 = phi { ptr, i32 } [ %447, %446 ], [ %445, %444 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #8
  br label %449

449:                                              ; preds = %448, %442
  %.pn72.pn = phi { ptr, i32 } [ %.pn72, %448 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #8
  br label %.loopexit.split-lp

450:                                              ; preds = %221
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %457

452:                                              ; preds = %224
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %456

454:                                              ; preds = %226
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %456

456:                                              ; preds = %454, %452
  %.pn75 = phi { ptr, i32 } [ %455, %454 ], [ %453, %452 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  br label %457

457:                                              ; preds = %456, %450
  %.pn75.pn = phi { ptr, i32 } [ %.pn75, %456 ], [ %451, %450 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #8
  br label %.loopexit.split-lp

458:                                              ; preds = %233
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %465

460:                                              ; preds = %236
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %464

462:                                              ; preds = %238
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %464

464:                                              ; preds = %462, %460
  %.pn78 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #8
  br label %465

465:                                              ; preds = %464, %458
  %.pn78.pn = phi { ptr, i32 } [ %.pn78, %464 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #8
  br label %.loopexit.split-lp

466:                                              ; preds = %245
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %473

468:                                              ; preds = %248
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %250
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %472

472:                                              ; preds = %470, %468
  %.pn81 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #8
  br label %473

473:                                              ; preds = %472, %466
  %.pn81.pn = phi { ptr, i32 } [ %.pn81, %472 ], [ %467, %466 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %60) #8
  br label %.loopexit.split-lp

474:                                              ; preds = %257
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

476:                                              ; preds = %260
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %480

478:                                              ; preds = %262
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %480

480:                                              ; preds = %478, %476
  %.pn84 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #8
  br label %481

481:                                              ; preds = %480, %474
  %.pn84.pn = phi { ptr, i32 } [ %.pn84, %480 ], [ %475, %474 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #8
  br label %.loopexit.split-lp

482:                                              ; preds = %269
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %272
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %274
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %488

488:                                              ; preds = %486, %484
  %.pn87 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #8
  br label %489

489:                                              ; preds = %488, %482
  %.pn87.pn = phi { ptr, i32 } [ %.pn87, %488 ], [ %483, %482 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %72) #8
  br label %.loopexit.split-lp

490:                                              ; preds = %281
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %497

492:                                              ; preds = %284
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %286
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %496

496:                                              ; preds = %494, %492
  %.pn90 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #8
  br label %497

497:                                              ; preds = %496, %490
  %.pn90.pn = phi { ptr, i32 } [ %.pn90, %496 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %78) #8
  br label %.loopexit.split-lp

498:                                              ; preds = %293
  %499 = landingpad { ptr, i32 }
          cleanup
  br label %505

500:                                              ; preds = %296
  %501 = landingpad { ptr, i32 }
          cleanup
  br label %504

502:                                              ; preds = %298
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  br label %504

504:                                              ; preds = %502, %500
  %.pn93 = phi { ptr, i32 } [ %503, %502 ], [ %501, %500 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  br label %505

505:                                              ; preds = %504, %498
  %.pn93.pn = phi { ptr, i32 } [ %.pn93, %504 ], [ %499, %498 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #8
  br label %.loopexit.split-lp

506:                                              ; preds = %305
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %513

508:                                              ; preds = %308
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %512

510:                                              ; preds = %310
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #8
  br label %512

512:                                              ; preds = %510, %508
  %.pn96 = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %92) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  br label %513

513:                                              ; preds = %512, %506
  %.pn96.pn = phi { ptr, i32 } [ %.pn96, %512 ], [ %507, %506 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %90) #8
  br label %.loopexit.split-lp

514:                                              ; preds = %317
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %521

516:                                              ; preds = %320
  %517 = landingpad { ptr, i32 }
          cleanup
  br label %520

518:                                              ; preds = %322
  %519 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  br label %520

520:                                              ; preds = %518, %516
  %.pn99 = phi { ptr, i32 } [ %519, %518 ], [ %517, %516 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %96) #8
  br label %521

521:                                              ; preds = %520, %514
  %.pn99.pn = phi { ptr, i32 } [ %.pn99, %520 ], [ %515, %514 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %96) #8
  br label %.loopexit.split-lp

522:                                              ; preds = %329
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %529

524:                                              ; preds = %332
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %528

526:                                              ; preds = %334
  %527 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  br label %528

528:                                              ; preds = %526, %524
  %.pn102 = phi { ptr, i32 } [ %527, %526 ], [ %525, %524 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  br label %529

529:                                              ; preds = %528, %522
  %.pn102.pn = phi { ptr, i32 } [ %.pn102, %528 ], [ %523, %522 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #8
  br label %.loopexit.split-lp

530:                                              ; preds = %341
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %537

532:                                              ; preds = %344
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %536

534:                                              ; preds = %346
  %535 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  br label %536

536:                                              ; preds = %534, %532
  %.pn105 = phi { ptr, i32 } [ %535, %534 ], [ %533, %532 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  br label %537

537:                                              ; preds = %536, %530
  %.pn105.pn = phi { ptr, i32 } [ %.pn105, %536 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #8
  br label %.loopexit.split-lp

538:                                              ; preds = %353
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %545

540:                                              ; preds = %356
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %544

542:                                              ; preds = %358
  %543 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #8
  br label %544

544:                                              ; preds = %542, %540
  %.pn108 = phi { ptr, i32 } [ %543, %542 ], [ %541, %540 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %116) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #8
  br label %545

545:                                              ; preds = %544, %538
  %.pn108.pn = phi { ptr, i32 } [ %.pn108, %544 ], [ %539, %538 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #8
  br label %.loopexit.split-lp

546:                                              ; preds = %363
  %547 = landingpad { ptr, i32 }
          cleanup
  br label %553

548:                                              ; preds = %366
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %552

550:                                              ; preds = %368
  %551 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  br label %552

552:                                              ; preds = %550, %548
  %.pn111 = phi { ptr, i32 } [ %551, %550 ], [ %549, %548 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #8
  br label %553

553:                                              ; preds = %552, %546
  %.pn111.pn = phi { ptr, i32 } [ %.pn111, %552 ], [ %547, %546 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #8
  br label %.loopexit.split-lp

554:                                              ; preds = %376
  %555 = landingpad { ptr, i32 }
          cleanup
  br label %561

556:                                              ; preds = %378
  %557 = landingpad { ptr, i32 }
          cleanup
  br label %560

558:                                              ; preds = %379
  %559 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %128) #8
  br label %560

560:                                              ; preds = %558, %556
  %.pn114 = phi { ptr, i32 } [ %559, %558 ], [ %557, %556 ]
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %128) #8
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #8
  br label %561

561:                                              ; preds = %560, %554
  %.pn114.pn = phi { ptr, i32 } [ %.pn114, %560 ], [ %555, %554 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #8
  br label %.loopexit.split-lp

562:                                              ; preds = %384
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %572

564:                                              ; preds = %385
  %565 = landingpad { ptr, i32 }
          cleanup
  br label %571

566:                                              ; preds = %387
  %567 = landingpad { ptr, i32 }
          cleanup
  br label %570

568:                                              ; preds = %389
  %569 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5boost9unit_test12lazy_ostreamD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #8
  br label %570

570:                                              ; preds = %568, %566
  %.pn117 = phi { ptr, i32 } [ %569, %568 ], [ %567, %566 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #8
  call void @_ZN5boost10test_tools16assertion_resultD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #8
  br label %571

571:                                              ; preds = %570, %564
  %.pn117.pn = phi { ptr, i32 } [ %.pn117, %570 ], [ %565, %564 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #8
  br label %572

572:                                              ; preds = %571, %562
  %.pn117.pn.pn = phi { ptr, i32 } [ %.pn117.pn, %571 ], [ %563, %562 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #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, %.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.split-lp.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.split-lp.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.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.split-lp.loopexit.split-lp.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.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.split-lp.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.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.split-lp.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.split-lp.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.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.split-lp.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.split-lp.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.split-lp.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.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.split-lp.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.split-lp.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.split-lp.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.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.split-lp.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.split-lp.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.split-lp.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.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.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, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit, %572, %561, %553, %545, %537, %529, %521, %513, %505, %497, %489, %481, %473, %465, %457, %449, %441, %433, %425, %417, %409, %401
  %.pn117.pn.pn.pn = phi { ptr, i32 } [ %.pn117.pn.pn, %572 ], [ %.pn114.pn, %561 ], [ %.pn111.pn, %553 ], [ %.pn108.pn, %545 ], [ %.pn105.pn, %537 ], [ %.pn102.pn, %529 ], [ %.pn99.pn, %521 ], [ %.pn96.pn, %513 ], [ %.pn93.pn, %505 ], [ %.pn90.pn, %497 ], [ %.pn87.pn, %489 ], [ %.pn84.pn, %481 ], [ %.pn81.pn, %473 ], [ %.pn78.pn, %465 ], [ %.pn75.pn, %457 ], [ %.pn72.pn, %449 ], [ %.pn69.pn, %441 ], [ %.pn66.pn, %433 ], [ %.pn63.pn, %425 ], [ %.pn60.pn, %417 ], [ %.pn57.pn, %409 ], [ %.pn.pn, %401 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit123, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit127, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit130, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit134, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit137, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit141, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit144, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit148, %.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 ], [ %lpad.loopexit151, %.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.split-lp.loopexit ], [ %lpad.loopexit155, %.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.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit158, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit162, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit165, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit169, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit172, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit176, %.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit179, %.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.split-lp.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 ], [ %lpad.loopexit183, %.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.split-lp.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.split-lp.loopexit ], [ %lpad.loopexit186, %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit190, %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit193, %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp194, %.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.split-lp.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.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ]
  call void @_ZN10coreneuron18corenrn_parametersD1Ev(ptr noundef nonnull align 8 dereferenceable(416) %3) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %3) #8
  call void @llvm.lifetime.end.p0(i64 280, ptr nonnull %2) #8
  resume { ptr, i32 } %.pn117.pn.pn.pn
}

declare void @_ZN10coreneuron18corenrn_parametersC1Ev(ptr noundef nonnull align 8 dereferenceable(416)) unnamed_addr #5

declare void @_ZN10coreneuron18corenrn_parameters5parseEiPPc(ptr noundef nonnull align 8 dereferenceable(416), i32 noundef, ptr noundef) local_unnamed_addr #5

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

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

declare void @_ZN10coreneuron18corenrn_parameters5resetEv(ptr noundef nonnull align 8 dereferenceable(416)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5boost10test_tools9tt_detail10check_frwdINS1_15equal_impl_frwdEddEEbT_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 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #6

; 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.317") align 8, ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6

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

declare void @_ZNK10coreneuron18corenrn_parameters13config_to_strB5cxx11Ebb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(416), i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #5

; 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 = { "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 = { 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 #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, !11, i64 36}
!10 = !{!"_ZTSN10coreneuron23corenrn_parameters_dataE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !12, i64 40, !12, i64 41, !12, i64 42, !12, i64 43, !12, i64 44, !12, i64 45, !12, i64 46, !12, i64 47, !12, i64 48, !13, i64 52, !14, i64 56, !14, i64 64, !14, i64 72, !14, i64 80, !14, i64 88, !14, i64 96, !14, i64 104, !14, i64 112, !15, i64 120, !15, i64 152, !15, i64 184, !15, i64 216, !15, i64 248, !15, i64 280, !15, i64 312, !15, i64 344, !15, i64 376}
!11 = !{!"int", !7, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!"_ZTSN10coreneuron23corenrn_parameters_data13verbose_levelE", !7, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = !{!10, !11, i64 0}
!21 = distinct !{!21, !19}
!22 = !{!10, !12, i64 43}
!23 = !{i8 0, i8 2}
!24 = !{}
!25 = distinct !{!25, !19}
!26 = !{!10, !14, i64 64}
!27 = distinct !{!27, !19}
!28 = !{!10, !14, i64 56}
!29 = distinct !{!29, !19}
!30 = !{!10, !11, i64 4}
!31 = distinct !{!31, !19}
!32 = !{!10, !12, i64 44}
!33 = distinct !{!33, !19}
!34 = !{!10, !14, i64 72}
!35 = distinct !{!35, !19}
!36 = !{!10, !14, i64 104}
!37 = distinct !{!37, !19}
!38 = !{!10, !14, i64 88}
!39 = distinct !{!39, !19}
!40 = !{!10, !12, i64 40}
!41 = distinct !{!41, !19}
!42 = !{!10, !11, i64 20}
!43 = distinct !{!43, !19}
!44 = !{!10, !14, i64 96}
!45 = distinct !{!45, !19}
!46 = !{!10, !11, i64 24}
!47 = distinct !{!47, !19}
!48 = !{!10, !12, i64 42}
!49 = distinct !{!49, !19}
!50 = !{!10, !14, i64 112}
!51 = distinct !{!51, !19}
!52 = !{!10, !11, i64 8}
!53 = distinct !{!53, !19}
!54 = !{!10, !11, i64 12}
!55 = distinct !{!55, !19}
!56 = !{!10, !11, i64 16}
!57 = distinct !{!57, !19}
!58 = distinct !{!58, !19}
!59 = distinct !{!59, !19}
!60 = distinct !{!60, !19}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,LCSSAPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass