; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/misc/synth/concat/lvalue/test.ll (ZN4test5entryEv)

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

%"class.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv.0" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.1" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.2" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref" = type { %"class.sc_dt::sc_concref_r" }
%"class.sc_dt::sc_concref_r" = type { %"class.sc_dt::sc_proxy.16", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.16" = type { ptr }
%"class.sc_dt::sc_concref.17" = type { %"class.sc_dt::sc_concref_r.18" }
%"class.sc_dt::sc_concref_r.18" = type { %"class.sc_dt::sc_proxy.19", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.19" = type { ptr }
%"class.sc_dt::sc_concref.20" = type { %"class.sc_dt::sc_concref_r.21" }
%"class.sc_dt::sc_concref_r.21" = type { %"class.sc_dt::sc_proxy.22", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.22" = type { ptr }
%"class.sc_dt::sc_concref_r.23" = type { %"class.sc_dt::sc_proxy.24", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.24" = type { ptr }
%"class.sc_dt::sc_concref_r.25" = type { %"class.sc_dt::sc_proxy.26", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.26" = type { ptr }
%"class.sc_dt::sc_concref.27" = type { %"class.sc_dt::sc_concref_r.28" }
%"class.sc_dt::sc_concref_r.28" = type { %"class.sc_dt::sc_proxy.29", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.29" = type { ptr }
%"class.sc_dt::sc_concref.30" = type { %"class.sc_dt::sc_concref_r.31" }
%"class.sc_dt::sc_concref_r.31" = type { %"class.sc_dt::sc_proxy.32", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.32" = type { ptr }
%"class.sc_dt::sc_concref.33" = type { %"class.sc_dt::sc_concref_r.34" }
%"class.sc_dt::sc_concref_r.34" = type { %"class.sc_dt::sc_proxy.35", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.35" = type { ptr }
%"class.sc_dt::sc_concref.36" = type { %"class.sc_dt::sc_concref_r.37" }
%"class.sc_dt::sc_concref_r.37" = type { %"class.sc_dt::sc_proxy.38", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.38" = type { ptr }
%"class.sc_dt::sc_subref" = type { %"class.sc_dt::sc_subref_r.base", [4 x i8] }
%"class.sc_dt::sc_subref_r.base" = type <{ %"class.sc_dt::sc_proxy.39", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.39" = type { ptr }
%"class.sc_dt::sc_concref.40" = type { %"class.sc_dt::sc_concref_r.41" }
%"class.sc_dt::sc_concref_r.41" = type { %"class.sc_dt::sc_proxy.42", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.42" = type { ptr }
%"class.sc_dt::sc_concref_r.43" = type { %"class.sc_dt::sc_proxy.44", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.44" = type { ptr }
%"class.sc_dt::sc_concref_r.45" = type { %"class.sc_dt::sc_proxy.46", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.46" = type { ptr }
%"class.sc_dt::sc_concref_r.47" = type { %"class.sc_dt::sc_proxy.48", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.48" = type { ptr }
%"class.sc_dt::sc_concref.49" = type { %"class.sc_dt::sc_concref_r.50" }
%"class.sc_dt::sc_concref_r.50" = type { %"class.sc_dt::sc_proxy.51", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.51" = type { ptr }
%"class.sc_dt::sc_concref.52" = type { %"class.sc_dt::sc_concref_r.53" }
%"class.sc_dt::sc_concref_r.53" = type { %"class.sc_dt::sc_proxy.54", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.54" = type { ptr }
%"class.sc_dt::sc_concref.55" = type { %"class.sc_dt::sc_concref_r.56" }
%"class.sc_dt::sc_concref_r.56" = type { %"class.sc_dt::sc_proxy.57", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.57" = type { ptr }
%"class.sc_dt::sc_concref.58" = type { %"class.sc_dt::sc_concref_r.59" }
%"class.sc_dt::sc_concref_r.59" = type { %"class.sc_dt::sc_proxy.60", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.60" = type { ptr }
%"class.sc_dt::sc_concref_r.61" = type { %"class.sc_dt::sc_proxy.62", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.62" = type { ptr }
%"class.sc_dt::sc_concref.63" = type { %"class.sc_dt::sc_concref_r.64" }
%"class.sc_dt::sc_concref_r.64" = type { %"class.sc_dt::sc_proxy.65", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.65" = type { ptr }
%"class.sc_dt::sc_concref.66" = type { %"class.sc_dt::sc_concref_r.67" }
%"class.sc_dt::sc_concref_r.67" = type { %"class.sc_dt::sc_proxy.68", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.68" = type { ptr }
%"class.sc_dt::sc_concref.69" = type { %"class.sc_dt::sc_concref_r.70" }
%"class.sc_dt::sc_concref_r.70" = type { %"class.sc_dt::sc_proxy.71", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.71" = type { ptr }
%"class.sc_dt::sc_concref.72" = type { %"class.sc_dt::sc_concref_r.73" }
%"class.sc_dt::sc_concref_r.73" = type { %"class.sc_dt::sc_proxy.74", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.74" = type { ptr }
%struct.test = type { %"class.sc_core::sc_module", %"class.sc_core::sc_in", ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.sc_core::sc_module" = type { %"class.sc_core::sc_object", %"class.sc_core::sc_process_host", %"class.sc_core::sc_sensitive", %"class.sc_core::sc_sensitive_pos", %"class.sc_core::sc_sensitive_neg", i8, ptr, i32, ptr, ptr }
%"class.sc_core::sc_object" = type { ptr, ptr, %"class.std::vector", %"class.std::vector.3", %"class.std::__cxx11::basic_string", ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_event *, std::allocator<sc_core::sc_event *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_object *, std::allocator<sc_core::sc_object *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"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.sc_core::sc_process_host" = type { ptr }
%"class.sc_core::sc_sensitive" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_pos" = type { ptr, i32, ptr }
%"class.sc_core::sc_sensitive_neg" = type { ptr, i32, ptr }
%"class.sc_core::sc_in" = type { %"class.sc_core::sc_port", ptr, ptr, ptr, ptr }
%"class.sc_core::sc_port" = type { %"class.sc_core::sc_port_b" }
%"class.sc_core::sc_port_b" = type { %"class.sc_core::sc_port_base", ptr, %"class.std::vector.11" }
%"class.sc_core::sc_port_base" = type { %"class.sc_core::sc_object", ptr }
%"class.std::vector.11" = type { %"struct.std::_Vector_base.12" }
%"struct.std::_Vector_base.12" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sc_core::sc_signal_in_if<bool> *, std::allocator<sc_core::sc_signal_in_if<bool> *>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4test5entryEv(ptr noundef nonnull align 8 dereferenceable(528) %0) #0 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.sc_dt::sc_lv", align 8
  %4 = alloca %"class.sc_dt::sc_lv", align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.sc_dt::sc_lv", align 8
  %8 = alloca %"class.sc_dt::sc_lv", align 8
  %9 = alloca %"class.sc_dt::sc_lv.0", align 8
  %10 = alloca %"class.sc_dt::sc_lv.0", align 8
  %11 = alloca %"class.sc_dt::sc_lv.1", align 8
  %12 = alloca %"class.sc_dt::sc_lv.1", align 8
  %13 = alloca %"class.sc_dt::sc_lv.1", align 8
  %14 = alloca %"class.sc_dt::sc_lv.1", align 8
  %15 = alloca %"class.sc_dt::sc_lv.1", align 8
  %16 = alloca %"class.sc_dt::sc_lv.1", align 8
  %17 = alloca %"class.sc_dt::sc_lv.1", align 8
  %18 = alloca %"class.sc_dt::sc_lv.1", align 8
  %19 = alloca %"class.sc_dt::sc_lv.1", align 8
  %20 = alloca %"class.sc_dt::sc_lv.1", align 8
  %21 = alloca %"class.sc_dt::sc_lv.2", align 8
  %22 = alloca %"class.sc_dt::sc_lv.2", align 8
  %23 = alloca %"class.sc_dt::sc_lv.2", align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %"class.sc_dt::sc_concref", align 8
  %27 = alloca %"class.sc_dt::sc_concref.17", align 8
  %28 = alloca %"class.sc_dt::sc_concref.20", align 8
  %29 = alloca %"class.sc_dt::sc_concref", align 8
  %30 = alloca %"class.sc_dt::sc_concref", align 8
  %31 = alloca %"class.sc_dt::sc_concref", align 8
  %32 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %33 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %34 = alloca %"class.sc_dt::sc_concref_r", align 8
  %35 = alloca %"class.sc_dt::sc_lv_base", align 8
  %36 = alloca %"class.sc_dt::sc_concref.27", align 8
  %37 = alloca %"class.sc_dt::sc_concref.20", align 8
  %38 = alloca %"class.sc_dt::sc_concref", align 8
  %39 = alloca %"class.sc_dt::sc_lv_base", align 8
  %40 = alloca %"class.sc_dt::sc_concref.17", align 8
  %41 = alloca %"class.sc_dt::sc_concref.20", align 8
  %42 = alloca %"class.sc_dt::sc_concref", align 8
  %43 = alloca %"class.sc_dt::sc_concref.30", align 8
  %44 = alloca %"class.sc_dt::sc_concref.33", align 8
  %45 = alloca %"class.sc_dt::sc_concref.36", align 8
  %46 = alloca %"class.sc_dt::sc_concref.20", align 8
  %47 = alloca %"class.sc_dt::sc_concref", align 8
  %48 = alloca %"class.sc_dt::sc_subref", align 8
  %49 = alloca %"class.sc_dt::sc_lv_base", align 8
  %50 = alloca %"class.sc_dt::sc_concref.17", align 8
  %51 = alloca %"class.sc_dt::sc_concref.20", align 8
  %52 = alloca %"class.sc_dt::sc_concref", align 8
  %53 = alloca %"class.sc_dt::sc_subref", align 8
  %54 = alloca %"class.sc_dt::sc_concref.40", align 8
  %55 = alloca %"class.sc_dt::sc_concref", align 8
  %56 = alloca %"class.sc_dt::sc_subref", align 8
  %57 = alloca %"class.sc_dt::sc_lv_base", align 8
  %58 = alloca %"class.sc_dt::sc_concref_r.43", align 8
  %59 = alloca %"class.sc_dt::sc_concref_r.45", align 8
  %60 = alloca %"class.sc_dt::sc_concref_r.47", align 8
  %61 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %62 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %63 = alloca %"class.sc_dt::sc_concref_r", align 8
  %64 = alloca %"class.sc_dt::sc_lv_base", align 8
  %65 = alloca %"class.sc_dt::sc_concref.49", align 8
  %66 = alloca %"class.sc_dt::sc_concref.52", align 8
  %67 = alloca %"class.sc_dt::sc_concref.55", align 8
  %68 = alloca %"class.sc_dt::sc_concref.58", align 8
  %69 = alloca %"class.sc_dt::sc_concref.17", align 8
  %70 = alloca %"class.sc_dt::sc_concref.20", align 8
  %71 = alloca %"class.sc_dt::sc_concref", align 8
  %72 = alloca %"class.sc_dt::sc_concref_r.61", align 8
  %73 = alloca %"class.sc_dt::sc_concref_r.43", align 8
  %74 = alloca %"class.sc_dt::sc_concref_r.45", align 8
  %75 = alloca %"class.sc_dt::sc_concref_r.47", align 8
  %76 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %77 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %78 = alloca %"class.sc_dt::sc_concref_r", align 8
  %79 = alloca %"class.sc_dt::sc_lv_base", align 8
  %80 = alloca %"class.sc_dt::sc_concref.63", align 8
  %81 = alloca %"class.sc_dt::sc_subref", align 8
  %82 = alloca %"class.sc_dt::sc_lv_base", align 8
  %83 = alloca %"class.sc_dt::sc_concref.36", align 8
  %84 = alloca %"class.sc_dt::sc_concref.20", align 8
  %85 = alloca %"class.sc_dt::sc_concref", align 8
  %86 = alloca %"class.sc_dt::sc_subref", align 8
  %87 = alloca %"class.sc_dt::sc_concref.66", align 8
  %88 = alloca %"class.sc_dt::sc_subref", align 8
  %89 = alloca %"class.sc_dt::sc_subref", align 8
  %90 = alloca %"class.sc_dt::sc_concref.69", align 8
  %91 = alloca %"class.sc_dt::sc_concref.72", align 8
  %92 = alloca %"class.sc_dt::sc_concref.66", align 8
  %93 = alloca %"class.sc_dt::sc_subref", align 8
  %94 = alloca %"class.sc_dt::sc_subref", align 8
  %95 = alloca %"class.sc_dt::sc_subref", align 8
  %96 = alloca %"class.sc_dt::sc_subref", align 8
  %97 = alloca %"class.sc_dt::sc_concref.66", align 8
  %98 = alloca %"class.sc_dt::sc_subref", align 8
  %99 = alloca %"class.sc_dt::sc_subref", align 8
  %100 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %101 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %3) #6
  call void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3)
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %102 unwind label %244

102:                                              ; preds = %1
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %103 unwind label %248

103:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #6
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %104 unwind label %252

104:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #6
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %105 unwind label %256

105:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %106 unwind label %260

106:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %107 unwind label %264

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %108 unwind label %268

108:                                              ; preds = %107
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %109 unwind label %272

109:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %110 unwind label %276

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %111 unwind label %280

111:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %112 unwind label %284

112:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %113 unwind label %288

113:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %114 unwind label %292

114:                                              ; preds = %113
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %115 unwind label %296

115:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %116 unwind label %300

116:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %117 unwind label %304

117:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %118 unwind label %308

118:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %119 unwind label %312

119:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  br label %120

120:                                              ; preds = %243, %119
  br label %121

121:                                              ; preds = %120
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %101)
          to label %122 unwind label %316

122:                                              ; preds = %121
  %123 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef @.str)
          to label %124 unwind label %316

124:                                              ; preds = %122
  %125 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.2)
          to label %126 unwind label %316

126:                                              ; preds = %124
  %127 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.3)
          to label %128 unwind label %316

128:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %129 unwind label %320

129:                                              ; preds = %128
  %130 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %26, ptr noundef @.str.4)
          to label %131 unwind label %324

131:                                              ; preds = %129
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %27) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %132 unwind label %329

132:                                              ; preds = %131
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %28, ptr noundef %29, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %133 unwind label %333

133:                                              ; preds = %132
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.17") align 8 %27, ptr noundef %28, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %134 unwind label %337

134:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 40, ptr %30) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %135 unwind label %341

135:                                              ; preds = %134
  %136 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSINS_12sc_concref_rINS0_IS2_S1_EES1_EEEERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %30, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %137 unwind label %345

137:                                              ; preds = %135
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %30) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %31) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %138 unwind label %353

138:                                              ; preds = %137
  %139 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %140 unwind label %357

140:                                              ; preds = %138
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.2)
          to label %141 unwind label %362

141:                                              ; preds = %140
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %34, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef @.str.2)
          to label %142 unwind label %366

142:                                              ; preds = %141
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %33, ptr noundef %34, ptr noundef @.str.2)
          to label %143 unwind label %370

143:                                              ; preds = %142
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %32, ptr noundef %33, ptr noundef @.str.5)
          to label %144 unwind label %374

144:                                              ; preds = %143
  %145 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %146 unwind label %378

146:                                              ; preds = %144
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %36) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %38, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %147 unwind label %386

147:                                              ; preds = %146
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %37, ptr noundef %38, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %148 unwind label %390

148:                                              ; preds = %147
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseENS_10sc_concrefIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.27") align 8 %36, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef %37)
          to label %149 unwind label %394

149:                                              ; preds = %148
  %150 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEEaSIS1_EERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %36, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %151 unwind label %398

151:                                              ; preds = %149
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %39, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %152 unwind label %405

152:                                              ; preds = %151
  %153 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %154 unwind label %409

154:                                              ; preds = %152
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %40) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %155 unwind label %414

155:                                              ; preds = %154
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %41, ptr noundef %42, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %156 unwind label %418

156:                                              ; preds = %155
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.17") align 8 %40, ptr noundef %41, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %157 unwind label %422

157:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 40, ptr %43) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %158 unwind label %426

158:                                              ; preds = %157
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %46, ptr noundef %47, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %159 unwind label %430

159:                                              ; preds = %158
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef 7, i32 noundef 2)
          to label %160 unwind label %434

160:                                              ; preds = %159
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.36") align 8 %45, ptr noundef %46, ptr noundef %48)
          to label %161 unwind label %438

161:                                              ; preds = %160
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EES2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.33") align 8 %44, ptr noundef %45, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %162 unwind label %442

162:                                              ; preds = %161
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.30") align 8 %43, ptr noundef %44, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %163 unwind label %446

163:                                              ; preds = %162
  %164 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_9sc_subrefIS1_EEEES1_EES1_EaSINS_12sc_concref_rIS3_S1_EEEERS8_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %43, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %165 unwind label %450

165:                                              ; preds = %163
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %50) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %166 unwind label %463

166:                                              ; preds = %165
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %51, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %167 unwind label %467

167:                                              ; preds = %166
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.17") align 8 %50, ptr noundef %51, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %168 unwind label %471

168:                                              ; preds = %167
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNS8_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %49, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %50)
          to label %169 unwind label %475

169:                                              ; preds = %168
  %170 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %171 unwind label %479

171:                                              ; preds = %169
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %53, ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 15, i32 noundef 8)
          to label %172 unwind label %487

172:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 40, ptr %54) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %173 unwind label %491

173:                                              ; preds = %172
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef 5, i32 noundef 0)
          to label %174 unwind label %495

174:                                              ; preds = %173
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EENS_9sc_subrefIT1_EEEES5_S8_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.40") align 8 %54, ptr noundef %55, ptr noundef %56)
          to label %175 unwind label %499

175:                                              ; preds = %174
  %176 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS_10sc_lv_baseES1_EENS_9sc_subrefIS1_EEEaSINS_11sc_subref_rIS1_EEEERS5_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %54, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %177 unwind label %503

177:                                              ; preds = %175
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %54) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %178 unwind label %511

178:                                              ; preds = %177
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %63, ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %179 unwind label %515

179:                                              ; preds = %178
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %62, ptr noundef %63, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %180 unwind label %519

180:                                              ; preds = %179
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %61, ptr noundef %62, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %181 unwind label %523

181:                                              ; preds = %180
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES7_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.47") align 8 %60, ptr noundef %61, ptr noundef @.str.6)
          to label %182 unwind label %527

182:                                              ; preds = %181
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.45") align 8 %59, ptr noundef %60, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %183 unwind label %531

183:                                              ; preds = %182
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES9_PKc(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.43") align 8 %58, ptr noundef %59, ptr noundef @.str.7)
          to label %184 unwind label %535

184:                                              ; preds = %183
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS2_INS2_INS2_INS2_INS2_IS1_S1_EES1_EES1_EES1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %185 unwind label %539

185:                                              ; preds = %184
  %186 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %187 unwind label %543

187:                                              ; preds = %185
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %65) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %188 unwind label %555

188:                                              ; preds = %187
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %70, ptr noundef %71, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %189 unwind label %559

189:                                              ; preds = %188
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.17") align 8 %69, ptr noundef %70, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %190 unwind label %563

190:                                              ; preds = %189
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.58") align 8 %68, ptr noundef %69, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %191 unwind label %567

191:                                              ; preds = %190
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.55") align 8 %67, ptr noundef %68, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %192 unwind label %571

192:                                              ; preds = %191
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.52") align 8 %66, ptr noundef %67, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %193 unwind label %575

193:                                              ; preds = %192
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.49") align 8 %65, ptr noundef %66, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %194 unwind label %579

194:                                              ; preds = %193
  %195 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %65, ptr noundef @.str.8)
          to label %196 unwind label %583

196:                                              ; preds = %194
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  invoke void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %197 unwind label %594

197:                                              ; preds = %196
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r") align 8 %78, ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %198 unwind label %598

198:                                              ; preds = %197
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %77, ptr noundef %78, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %199 unwind label %602

199:                                              ; preds = %198
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %76, ptr noundef %77, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %200 unwind label %606

200:                                              ; preds = %199
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.47") align 8 %75, ptr noundef %76, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %201 unwind label %610

201:                                              ; preds = %200
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.45") align 8 %74, ptr noundef %75, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %202 unwind label %614

202:                                              ; preds = %201
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.43") align 8 %73, ptr noundef %74, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %203 unwind label %618

203:                                              ; preds = %202
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref_r.61") align 8 %72, ptr noundef %73, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %204 unwind label %622

204:                                              ; preds = %203
  %205 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSINS_12sc_concref_rINS3_INS3_INS3_INS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EES4_EES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %206 unwind label %626

206:                                              ; preds = %204
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %76) #6
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %77) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %80) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %81, ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 31, i32 noundef 8)
          to label %207 unwind label %638

207:                                              ; preds = %206
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.63") align 8 %80, ptr noundef %81, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %208 unwind label %642

208:                                              ; preds = %207
  %209 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %210 unwind label %646

210:                                              ; preds = %208
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %80) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %81) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %80) #6
  %211 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef @.str.9)
          to label %212 unwind label %316

212:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %83) #6
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %85, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %213 unwind label %652

213:                                              ; preds = %212
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.20") align 8 %84, ptr noundef %85, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %214 unwind label %656

214:                                              ; preds = %213
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %86, ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 7, i32 noundef 0)
          to label %215 unwind label %660

215:                                              ; preds = %214
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.36") align 8 %83, ptr noundef %84, ptr noundef %86)
          to label %216 unwind label %664

216:                                              ; preds = %215
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EENS_9sc_subrefIS1_EEEEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_lv_base") align 8 %82, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %217 unwind label %668

217:                                              ; preds = %216
  %218 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %219 unwind label %672

219:                                              ; preds = %217
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %83) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %86) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %87) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %88, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 15, i32 noundef 0)
          to label %220 unwind label %681

220:                                              ; preds = %219
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %89, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 31, i32 noundef 16)
          to label %221 unwind label %685

221:                                              ; preds = %220
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.66") align 8 %87, ptr noundef %88, ptr noundef %89)
          to label %222 unwind label %689

222:                                              ; preds = %221
  %223 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %87, ptr noundef @.str.10)
          to label %224 unwind label %693

224:                                              ; preds = %222
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %87) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %89) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %88) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %87) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %90) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %93, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 7, i32 noundef 0)
          to label %225 unwind label %700

225:                                              ; preds = %224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %94, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 23, i32 noundef 16)
          to label %226 unwind label %704

226:                                              ; preds = %225
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.66") align 8 %92, ptr noundef %93, ptr noundef %94)
          to label %227 unwind label %708

227:                                              ; preds = %226
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %95, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 15, i32 noundef 8)
          to label %228 unwind label %712

228:                                              ; preds = %227
  invoke void @_ZN5sc_dtcmINS_9sc_subrefINS_10sc_lv_baseEEES3_S2_EENS_10sc_concrefINS4_IT_T0_EENS1_IT1_EEEES7_S9_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.72") align 8 %91, ptr noundef %92, ptr noundef %95)
          to label %229 unwind label %716

229:                                              ; preds = %228
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %96, ptr noundef nonnull align 8 dereferenceable(8) %21, i32 noundef 31, i32 noundef 24)
          to label %230 unwind label %720

230:                                              ; preds = %229
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_S3_EENS1_INS1_IT_T0_EENS2_IT1_EEEES8_SA_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.69") align 8 %90, ptr noundef %91, ptr noundef %96)
          to label %231 unwind label %724

231:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 40, ptr %97) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %98, ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 31, i32 noundef 16)
          to label %232 unwind label %728

232:                                              ; preds = %231
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %99, ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 15, i32 noundef 0)
          to label %233 unwind label %732

233:                                              ; preds = %232
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref.66") align 8 %97, ptr noundef %98, ptr noundef %99)
          to label %234 unwind label %736

234:                                              ; preds = %233
  %235 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSINS_12sc_concref_rINS0_IS4_S3_EES3_EEEERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %97, ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %236 unwind label %740

236:                                              ; preds = %234
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %97) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %99) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %98) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %97) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %90) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %96) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %91) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %95) #6
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %92) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %94) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %93) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %90) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #6
  %237 = invoke noundef i32 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE6to_intEv(ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %238 unwind label %754

238:                                              ; preds = %236
  store i32 %237, ptr %100, align 4, !tbaa !9
  %239 = getelementptr inbounds %struct.test, ptr %101, i32 0, i32 11
  %240 = load ptr, ptr %239, align 8, !tbaa !11
  %241 = invoke noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196) %240, ptr noundef nonnull align 4 dereferenceable(4) %100)
          to label %242 unwind label %754

242:                                              ; preds = %238
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #6
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %101)
          to label %243 unwind label %316

243:                                              ; preds = %242
  br label %120, !llvm.loop !42

244:                                              ; preds = %1
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %5, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %6, align 4
  br label %776

248:                                              ; preds = %102
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %5, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %6, align 4
  br label %775

252:                                              ; preds = %103
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %5, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %6, align 4
  br label %774

256:                                              ; preds = %104
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %5, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %6, align 4
  br label %773

260:                                              ; preds = %105
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %5, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %6, align 4
  br label %772

264:                                              ; preds = %106
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %5, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %6, align 4
  br label %771

268:                                              ; preds = %107
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %5, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %6, align 4
  br label %770

272:                                              ; preds = %108
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %5, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %6, align 4
  br label %769

276:                                              ; preds = %109
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %5, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %6, align 4
  br label %768

280:                                              ; preds = %110
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %5, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %6, align 4
  br label %767

284:                                              ; preds = %111
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %5, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %6, align 4
  br label %766

288:                                              ; preds = %112
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %5, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %6, align 4
  br label %765

292:                                              ; preds = %113
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %5, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %6, align 4
  br label %764

296:                                              ; preds = %114
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %5, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %6, align 4
  br label %763

300:                                              ; preds = %115
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %5, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %6, align 4
  br label %762

304:                                              ; preds = %116
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %5, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %6, align 4
  br label %761

308:                                              ; preds = %117
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %5, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %6, align 4
  br label %760

312:                                              ; preds = %118
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %5, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %6, align 4
  br label %759

316:                                              ; preds = %242, %210, %126, %124, %122, %121
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %5, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %6, align 4
  br label %758

320:                                              ; preds = %128
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %5, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %6, align 4
  br label %328

324:                                              ; preds = %129
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %5, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #6
  br label %328

328:                                              ; preds = %324, %320
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #6
  br label %758

329:                                              ; preds = %131
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %5, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %6, align 4
  br label %352

333:                                              ; preds = %132
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %5, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %6, align 4
  br label %351

337:                                              ; preds = %133
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %5, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %6, align 4
  br label %350

341:                                              ; preds = %134
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %5, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %6, align 4
  br label %349

345:                                              ; preds = %135
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %5, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  br label %349

349:                                              ; preds = %345, %341
  call void @llvm.lifetime.end.p0(i64 40, ptr %30) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #6
  br label %350

350:                                              ; preds = %349, %337
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #6
  br label %351

351:                                              ; preds = %350, %333
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #6
  br label %352

352:                                              ; preds = %351, %329
  call void @llvm.lifetime.end.p0(i64 40, ptr %27) #6
  br label %758

353:                                              ; preds = %137
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %5, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %6, align 4
  br label %361

357:                                              ; preds = %138
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %5, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #6
  br label %361

361:                                              ; preds = %357, %353
  call void @llvm.lifetime.end.p0(i64 40, ptr %31) #6
  br label %758

362:                                              ; preds = %140
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %5, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %6, align 4
  br label %385

366:                                              ; preds = %141
  %367 = landingpad { ptr, i32 }
          cleanup
  %368 = extractvalue { ptr, i32 } %367, 0
  store ptr %368, ptr %5, align 8
  %369 = extractvalue { ptr, i32 } %367, 1
  store i32 %369, ptr %6, align 4
  br label %384

370:                                              ; preds = %142
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %5, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %6, align 4
  br label %383

374:                                              ; preds = %143
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %5, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %6, align 4
  br label %382

378:                                              ; preds = %144
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %5, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #6
  br label %382

382:                                              ; preds = %378, %374
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  br label %383

383:                                              ; preds = %382, %370
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #6
  br label %384

384:                                              ; preds = %383, %366
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %385

385:                                              ; preds = %384, %362
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #6
  br label %758

386:                                              ; preds = %146
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %5, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %6, align 4
  br label %404

390:                                              ; preds = %147
  %391 = landingpad { ptr, i32 }
          cleanup
  %392 = extractvalue { ptr, i32 } %391, 0
  store ptr %392, ptr %5, align 8
  %393 = extractvalue { ptr, i32 } %391, 1
  store i32 %393, ptr %6, align 4
  br label %403

394:                                              ; preds = %148
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %5, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %6, align 4
  br label %402

398:                                              ; preds = %149
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %5, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #6
  br label %402

402:                                              ; preds = %398, %394
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #6
  br label %403

403:                                              ; preds = %402, %390
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #6
  br label %404

404:                                              ; preds = %403, %386
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #6
  br label %758

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

409:                                              ; preds = %152
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %5, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %413

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

414:                                              ; preds = %154
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %5, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %6, align 4
  br label %462

418:                                              ; preds = %155
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %5, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %6, align 4
  br label %461

422:                                              ; preds = %156
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %5, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %6, align 4
  br label %460

426:                                              ; preds = %157
  %427 = landingpad { ptr, i32 }
          cleanup
  %428 = extractvalue { ptr, i32 } %427, 0
  store ptr %428, ptr %5, align 8
  %429 = extractvalue { ptr, i32 } %427, 1
  store i32 %429, ptr %6, align 4
  br label %459

430:                                              ; preds = %158
  %431 = landingpad { ptr, i32 }
          cleanup
  %432 = extractvalue { ptr, i32 } %431, 0
  store ptr %432, ptr %5, align 8
  %433 = extractvalue { ptr, i32 } %431, 1
  store i32 %433, ptr %6, align 4
  br label %458

434:                                              ; preds = %159
  %435 = landingpad { ptr, i32 }
          cleanup
  %436 = extractvalue { ptr, i32 } %435, 0
  store ptr %436, ptr %5, align 8
  %437 = extractvalue { ptr, i32 } %435, 1
  store i32 %437, ptr %6, align 4
  br label %457

438:                                              ; preds = %160
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %5, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %6, align 4
  br label %456

442:                                              ; preds = %161
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %5, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %6, align 4
  br label %455

446:                                              ; preds = %162
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %5, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %6, align 4
  br label %454

450:                                              ; preds = %163
  %451 = landingpad { ptr, i32 }
          cleanup
  %452 = extractvalue { ptr, i32 } %451, 0
  store ptr %452, ptr %5, align 8
  %453 = extractvalue { ptr, i32 } %451, 1
  store i32 %453, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  br label %454

454:                                              ; preds = %450, %446
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #6
  br label %455

455:                                              ; preds = %454, %442
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #6
  br label %456

456:                                              ; preds = %455, %438
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #6
  br label %457

457:                                              ; preds = %456, %434
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  br label %458

458:                                              ; preds = %457, %430
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #6
  br label %459

459:                                              ; preds = %458, %426
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  br label %460

460:                                              ; preds = %459, %422
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #6
  br label %461

461:                                              ; preds = %460, %418
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #6
  br label %462

462:                                              ; preds = %461, %414
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #6
  br label %758

463:                                              ; preds = %165
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %5, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %6, align 4
  br label %486

467:                                              ; preds = %166
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %5, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %6, align 4
  br label %485

471:                                              ; preds = %167
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %5, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %6, align 4
  br label %484

475:                                              ; preds = %168
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %5, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %6, align 4
  br label %483

479:                                              ; preds = %169
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %5, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %483

483:                                              ; preds = %479, %475
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #6
  br label %484

484:                                              ; preds = %483, %471
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #6
  br label %485

485:                                              ; preds = %484, %467
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  br label %486

486:                                              ; preds = %485, %463
  call void @llvm.lifetime.end.p0(i64 40, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %758

487:                                              ; preds = %171
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %5, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %6, align 4
  br label %510

491:                                              ; preds = %172
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %5, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %6, align 4
  br label %509

495:                                              ; preds = %173
  %496 = landingpad { ptr, i32 }
          cleanup
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %5, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %6, align 4
  br label %508

499:                                              ; preds = %174
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %5, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %6, align 4
  br label %507

503:                                              ; preds = %175
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %5, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #6
  br label %507

507:                                              ; preds = %503, %499
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #6
  br label %508

508:                                              ; preds = %507, %495
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #6
  br label %509

509:                                              ; preds = %508, %491
  call void @llvm.lifetime.end.p0(i64 40, ptr %54) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %53) #6
  br label %510

510:                                              ; preds = %509, %487
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  br label %758

511:                                              ; preds = %177
  %512 = landingpad { ptr, i32 }
          cleanup
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %5, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %6, align 4
  br label %554

515:                                              ; preds = %178
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %5, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %6, align 4
  br label %553

519:                                              ; preds = %179
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %5, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %6, align 4
  br label %552

523:                                              ; preds = %180
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %5, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %6, align 4
  br label %551

527:                                              ; preds = %181
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %5, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %6, align 4
  br label %550

531:                                              ; preds = %182
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %5, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %6, align 4
  br label %549

535:                                              ; preds = %183
  %536 = landingpad { ptr, i32 }
          cleanup
  %537 = extractvalue { ptr, i32 } %536, 0
  store ptr %537, ptr %5, align 8
  %538 = extractvalue { ptr, i32 } %536, 1
  store i32 %538, ptr %6, align 4
  br label %548

539:                                              ; preds = %184
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %5, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %6, align 4
  br label %547

543:                                              ; preds = %185
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %5, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %547

547:                                              ; preds = %543, %539
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #6
  br label %548

548:                                              ; preds = %547, %535
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #6
  br label %549

549:                                              ; preds = %548, %531
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #6
  br label %550

550:                                              ; preds = %549, %527
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #6
  br label %551

551:                                              ; preds = %550, %523
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  br label %552

552:                                              ; preds = %551, %519
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #6
  br label %553

553:                                              ; preds = %552, %515
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %554

554:                                              ; preds = %553, %511
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  br label %758

555:                                              ; preds = %187
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %5, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %6, align 4
  br label %593

559:                                              ; preds = %188
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %5, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %6, align 4
  br label %592

563:                                              ; preds = %189
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %5, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %6, align 4
  br label %591

567:                                              ; preds = %190
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %5, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %6, align 4
  br label %590

571:                                              ; preds = %191
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %5, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %6, align 4
  br label %589

575:                                              ; preds = %192
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %5, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %6, align 4
  br label %588

579:                                              ; preds = %193
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %5, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %6, align 4
  br label %587

583:                                              ; preds = %194
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %5, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  br label %587

587:                                              ; preds = %583, %579
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #6
  br label %588

588:                                              ; preds = %587, %575
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #6
  br label %589

589:                                              ; preds = %588, %571
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #6
  br label %590

590:                                              ; preds = %589, %567
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #6
  br label %591

591:                                              ; preds = %590, %563
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #6
  br label %592

592:                                              ; preds = %591, %559
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #6
  br label %593

593:                                              ; preds = %592, %555
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  br label %758

594:                                              ; preds = %196
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %5, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %6, align 4
  br label %637

598:                                              ; preds = %197
  %599 = landingpad { ptr, i32 }
          cleanup
  %600 = extractvalue { ptr, i32 } %599, 0
  store ptr %600, ptr %5, align 8
  %601 = extractvalue { ptr, i32 } %599, 1
  store i32 %601, ptr %6, align 4
  br label %636

602:                                              ; preds = %198
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %5, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %6, align 4
  br label %635

606:                                              ; preds = %199
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %5, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %6, align 4
  br label %634

610:                                              ; preds = %200
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %5, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %6, align 4
  br label %633

614:                                              ; preds = %201
  %615 = landingpad { ptr, i32 }
          cleanup
  %616 = extractvalue { ptr, i32 } %615, 0
  store ptr %616, ptr %5, align 8
  %617 = extractvalue { ptr, i32 } %615, 1
  store i32 %617, ptr %6, align 4
  br label %632

618:                                              ; preds = %202
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %5, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %6, align 4
  br label %631

622:                                              ; preds = %203
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %5, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %6, align 4
  br label %630

626:                                              ; preds = %204
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %5, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  br label %630

630:                                              ; preds = %626, %622
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #6
  br label %631

631:                                              ; preds = %630, %618
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #6
  br label %632

632:                                              ; preds = %631, %614
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #6
  br label %633

633:                                              ; preds = %632, %610
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %76) #6
  br label %634

634:                                              ; preds = %633, %606
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %77) #6
  br label %635

635:                                              ; preds = %634, %602
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #6
  br label %636

636:                                              ; preds = %635, %598
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %637

637:                                              ; preds = %636, %594
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  br label %758

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

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

646:                                              ; preds = %208
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %5, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %80) #6
  br label %650

650:                                              ; preds = %646, %642
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %81) #6
  br label %651

651:                                              ; preds = %650, %638
  call void @llvm.lifetime.end.p0(i64 40, ptr %80) #6
  br label %758

652:                                              ; preds = %212
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %5, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %6, align 4
  br label %680

656:                                              ; preds = %213
  %657 = landingpad { ptr, i32 }
          cleanup
  %658 = extractvalue { ptr, i32 } %657, 0
  store ptr %658, ptr %5, align 8
  %659 = extractvalue { ptr, i32 } %657, 1
  store i32 %659, ptr %6, align 4
  br label %679

660:                                              ; preds = %214
  %661 = landingpad { ptr, i32 }
          cleanup
  %662 = extractvalue { ptr, i32 } %661, 0
  store ptr %662, ptr %5, align 8
  %663 = extractvalue { ptr, i32 } %661, 1
  store i32 %663, ptr %6, align 4
  br label %678

664:                                              ; preds = %215
  %665 = landingpad { ptr, i32 }
          cleanup
  %666 = extractvalue { ptr, i32 } %665, 0
  store ptr %666, ptr %5, align 8
  %667 = extractvalue { ptr, i32 } %665, 1
  store i32 %667, ptr %6, align 4
  br label %677

668:                                              ; preds = %216
  %669 = landingpad { ptr, i32 }
          cleanup
  %670 = extractvalue { ptr, i32 } %669, 0
  store ptr %670, ptr %5, align 8
  %671 = extractvalue { ptr, i32 } %669, 1
  store i32 %671, ptr %6, align 4
  br label %676

672:                                              ; preds = %217
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %5, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %6, align 4
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %676

676:                                              ; preds = %672, %668
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %83) #6
  br label %677

677:                                              ; preds = %676, %664
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %86) #6
  br label %678

678:                                              ; preds = %677, %660
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #6
  br label %679

679:                                              ; preds = %678, %656
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #6
  br label %680

680:                                              ; preds = %679, %652
  call void @llvm.lifetime.end.p0(i64 40, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  br label %758

681:                                              ; preds = %219
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %5, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %6, align 4
  br label %699

685:                                              ; preds = %220
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %5, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %6, align 4
  br label %698

689:                                              ; preds = %221
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %5, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %6, align 4
  br label %697

693:                                              ; preds = %222
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %5, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %87) #6
  br label %697

697:                                              ; preds = %693, %689
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %89) #6
  br label %698

698:                                              ; preds = %697, %685
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %88) #6
  br label %699

699:                                              ; preds = %698, %681
  call void @llvm.lifetime.end.p0(i64 40, ptr %87) #6
  br label %758

700:                                              ; preds = %224
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %5, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %6, align 4
  br label %753

704:                                              ; preds = %225
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %5, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %6, align 4
  br label %752

708:                                              ; preds = %226
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %5, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %6, align 4
  br label %751

712:                                              ; preds = %227
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %5, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %6, align 4
  br label %750

716:                                              ; preds = %228
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %5, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %6, align 4
  br label %749

720:                                              ; preds = %229
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %5, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %6, align 4
  br label %748

724:                                              ; preds = %230
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %5, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %6, align 4
  br label %747

728:                                              ; preds = %231
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %5, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %6, align 4
  br label %746

732:                                              ; preds = %232
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %5, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %6, align 4
  br label %745

736:                                              ; preds = %233
  %737 = landingpad { ptr, i32 }
          cleanup
  %738 = extractvalue { ptr, i32 } %737, 0
  store ptr %738, ptr %5, align 8
  %739 = extractvalue { ptr, i32 } %737, 1
  store i32 %739, ptr %6, align 4
  br label %744

740:                                              ; preds = %234
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %5, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %6, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %97) #6
  br label %744

744:                                              ; preds = %740, %736
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %99) #6
  br label %745

745:                                              ; preds = %744, %732
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %98) #6
  br label %746

746:                                              ; preds = %745, %728
  call void @llvm.lifetime.end.p0(i64 40, ptr %97) #6
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %90) #6
  br label %747

747:                                              ; preds = %746, %724
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %96) #6
  br label %748

748:                                              ; preds = %747, %720
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %91) #6
  br label %749

749:                                              ; preds = %748, %716
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %95) #6
  br label %750

750:                                              ; preds = %749, %712
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %92) #6
  br label %751

751:                                              ; preds = %750, %708
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %94) #6
  br label %752

752:                                              ; preds = %751, %704
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %93) #6
  br label %753

753:                                              ; preds = %752, %700
  call void @llvm.lifetime.end.p0(i64 40, ptr %90) #6
  br label %758

754:                                              ; preds = %238, %236
  %755 = landingpad { ptr, i32 }
          cleanup
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %5, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #6
  br label %758

758:                                              ; preds = %754, %753, %699, %680, %651, %637, %593, %554, %510, %486, %462, %413, %404, %385, %361, %352, %328, %316
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %759

759:                                              ; preds = %758, %312
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %760

760:                                              ; preds = %759, %308
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %761

761:                                              ; preds = %760, %304
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %762

762:                                              ; preds = %761, %300
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %763

763:                                              ; preds = %762, %296
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %764

764:                                              ; preds = %763, %292
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %765

765:                                              ; preds = %764, %288
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %766

766:                                              ; preds = %765, %284
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %767

767:                                              ; preds = %766, %280
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %768

768:                                              ; preds = %767, %276
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %769

769:                                              ; preds = %768, %272
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %770

770:                                              ; preds = %769, %268
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %771

771:                                              ; preds = %770, %264
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %772

772:                                              ; preds = %771, %260
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %773

773:                                              ; preds = %772, %256
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %774

774:                                              ; preds = %773, %252
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %775

775:                                              ; preds = %774, %248
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %776

776:                                              ; preds = %775, %244
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %3) #6
  br label %777

777:                                              ; preds = %776
  %778 = load ptr, ptr %5, align 8
  %779 = load i32, ptr %6, align 4
  %780 = insertvalue { ptr, i32 } poison, ptr %778, 0
  %781 = insertvalue { ptr, i32 } %780, i32 %779, 1
  resume { ptr, i32 } %781
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #0 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.17") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.20") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSINS_12sc_concref_rINS0_IS2_S1_EES1_EEEERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #2

declare void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseENS_10sc_concrefIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.27") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEEaSIS1_EERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.30") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EES2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.33") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.36") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_subref") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_9sc_subrefIS1_EEEES1_EES1_EaSINS_12sc_concref_rIS3_S1_EEEERS8_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNS8_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EENS_9sc_subrefIT1_EEEES5_S8_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.40") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS_10sc_lv_baseES1_EENS_9sc_subrefIS1_EEEaSINS_11sc_subref_rIS1_EEEERS5_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS2_INS2_INS2_INS2_INS2_IS1_S1_EES1_EES1_EES1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES9_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.43") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.45") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES7_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.47") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

declare void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.49") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.52") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.55") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.58") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.61") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.43") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.47") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSINS_12sc_concref_rINS3_INS3_INS3_INS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EES4_EES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.63") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EENS_9sc_subrefIS1_EEEEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.66") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_S3_EENS1_INS1_IT_T0_EENS2_IT1_EEEES8_SA_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.69") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_9sc_subrefINS_10sc_lv_baseEEES3_S2_EENS_10sc_concrefINS4_IT_T0_EENS1_IT1_EEEES7_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.72") align 8, ptr noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSINS_12sc_concref_rINS0_IS4_S3_EES3_EEEERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196), ptr noundef nonnull align 4 dereferenceable(4)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

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

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { "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 = { 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 #5 = { 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 #6 = { 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, !6, i64 488}
!12 = !{!"_ZTS4test", !13, i64 0, !34, i64 232, !6, i64 416, !6, i64 424, !6, i64 432, !6, i64 440, !6, i64 448, !6, i64 456, !6, i64 464, !6, i64 472, !6, i64 480, !6, i64 488, !6, i64 496, !6, i64 504, !6, i64 512, !6, i64 520}
!13 = !{!"_ZTSN7sc_core9sc_moduleE", !14, i64 0, !26, i64 112, !27, i64 120, !29, i64 144, !31, i64 168, !33, i64 192, !6, i64 200, !10, i64 208, !6, i64 216, !6, i64 224}
!14 = !{!"_ZTSN7sc_core9sc_objectE", !6, i64 8, !15, i64 16, !19, i64 40, !23, i64 64, !6, i64 96, !6, i64 104}
!15 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !25, i64 8, !7, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!27 = !{!"_ZTSN7sc_core12sc_sensitiveE", !6, i64 0, !28, i64 8, !6, i64 16}
!28 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !7, i64 0}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !6, i64 0, !30, i64 8, !6, i64 16}
!30 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !7, i64 0}
!31 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !6, i64 0, !32, i64 8, !6, i64 16}
!32 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !7, i64 0}
!33 = !{!"bool", !7, i64 0}
!34 = !{!"_ZTSN7sc_core5sc_inIbEE", !35, i64 0, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176}
!35 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !36, i64 0}
!36 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !37, i64 0, !6, i64 120, !38, i64 128}
!37 = !{!"_ZTSN7sc_core12sc_port_baseE", !14, i64 0, !6, i64 112}
!38 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!42 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}


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

%"class.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv.0" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.1" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.2" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref" = type { %"class.sc_dt::sc_concref_r" }
%"class.sc_dt::sc_concref_r" = type { %"class.sc_dt::sc_proxy.16", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.16" = type { ptr }
%"class.sc_dt::sc_concref.17" = type { %"class.sc_dt::sc_concref_r.18" }
%"class.sc_dt::sc_concref_r.18" = type { %"class.sc_dt::sc_proxy.19", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.19" = type { ptr }
%"class.sc_dt::sc_concref.20" = type { %"class.sc_dt::sc_concref_r.21" }
%"class.sc_dt::sc_concref_r.21" = type { %"class.sc_dt::sc_proxy.22", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.22" = type { ptr }
%"class.sc_dt::sc_concref_r.23" = type { %"class.sc_dt::sc_proxy.24", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.24" = type { ptr }
%"class.sc_dt::sc_concref_r.25" = type { %"class.sc_dt::sc_proxy.26", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.26" = type { ptr }
%"class.sc_dt::sc_concref.27" = type { %"class.sc_dt::sc_concref_r.28" }
%"class.sc_dt::sc_concref_r.28" = type { %"class.sc_dt::sc_proxy.29", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.29" = type { ptr }
%"class.sc_dt::sc_concref.30" = type { %"class.sc_dt::sc_concref_r.31" }
%"class.sc_dt::sc_concref_r.31" = type { %"class.sc_dt::sc_proxy.32", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.32" = type { ptr }
%"class.sc_dt::sc_concref.33" = type { %"class.sc_dt::sc_concref_r.34" }
%"class.sc_dt::sc_concref_r.34" = type { %"class.sc_dt::sc_proxy.35", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.35" = type { ptr }
%"class.sc_dt::sc_concref.36" = type { %"class.sc_dt::sc_concref_r.37" }
%"class.sc_dt::sc_concref_r.37" = type { %"class.sc_dt::sc_proxy.38", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.38" = type { ptr }
%"class.sc_dt::sc_subref" = type { %"class.sc_dt::sc_subref_r.base", [4 x i8] }
%"class.sc_dt::sc_subref_r.base" = type <{ %"class.sc_dt::sc_proxy.39", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.39" = type { ptr }
%"class.sc_dt::sc_concref.40" = type { %"class.sc_dt::sc_concref_r.41" }
%"class.sc_dt::sc_concref_r.41" = type { %"class.sc_dt::sc_proxy.42", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.42" = type { ptr }
%"class.sc_dt::sc_concref_r.43" = type { %"class.sc_dt::sc_proxy.44", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.44" = type { ptr }
%"class.sc_dt::sc_concref_r.45" = type { %"class.sc_dt::sc_proxy.46", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.46" = type { ptr }
%"class.sc_dt::sc_concref_r.47" = type { %"class.sc_dt::sc_proxy.48", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.48" = type { ptr }
%"class.sc_dt::sc_concref.49" = type { %"class.sc_dt::sc_concref_r.50" }
%"class.sc_dt::sc_concref_r.50" = type { %"class.sc_dt::sc_proxy.51", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.51" = type { ptr }
%"class.sc_dt::sc_concref.52" = type { %"class.sc_dt::sc_concref_r.53" }
%"class.sc_dt::sc_concref_r.53" = type { %"class.sc_dt::sc_proxy.54", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.54" = type { ptr }
%"class.sc_dt::sc_concref.55" = type { %"class.sc_dt::sc_concref_r.56" }
%"class.sc_dt::sc_concref_r.56" = type { %"class.sc_dt::sc_proxy.57", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.57" = type { ptr }
%"class.sc_dt::sc_concref.58" = type { %"class.sc_dt::sc_concref_r.59" }
%"class.sc_dt::sc_concref_r.59" = type { %"class.sc_dt::sc_proxy.60", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.60" = type { ptr }
%"class.sc_dt::sc_concref_r.61" = type { %"class.sc_dt::sc_proxy.62", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.62" = type { ptr }
%"class.sc_dt::sc_concref.63" = type { %"class.sc_dt::sc_concref_r.64" }
%"class.sc_dt::sc_concref_r.64" = type { %"class.sc_dt::sc_proxy.65", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.65" = type { ptr }
%"class.sc_dt::sc_concref.66" = type { %"class.sc_dt::sc_concref_r.67" }
%"class.sc_dt::sc_concref_r.67" = type { %"class.sc_dt::sc_proxy.68", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.68" = type { ptr }
%"class.sc_dt::sc_concref.69" = type { %"class.sc_dt::sc_concref_r.70" }
%"class.sc_dt::sc_concref_r.70" = type { %"class.sc_dt::sc_proxy.71", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.71" = type { ptr }
%"class.sc_dt::sc_concref.72" = type { %"class.sc_dt::sc_concref_r.73" }
%"class.sc_dt::sc_concref_r.73" = type { %"class.sc_dt::sc_proxy.74", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.74" = type { ptr }

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1

; Function Attrs: mustprogress noreturn uwtable
define dso_local void @_ZN4test5entryEv(ptr noundef nonnull align 8 dereferenceable(528) %0) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.sc_dt::sc_lv", align 8
  %3 = alloca %"class.sc_dt::sc_lv", align 8
  %4 = alloca %"class.sc_dt::sc_lv", align 8
  %5 = alloca %"class.sc_dt::sc_lv", align 8
  %6 = alloca %"class.sc_dt::sc_lv.0", align 8
  %7 = alloca %"class.sc_dt::sc_lv.0", align 8
  %8 = alloca %"class.sc_dt::sc_lv.1", align 8
  %9 = alloca %"class.sc_dt::sc_lv.1", align 8
  %10 = alloca %"class.sc_dt::sc_lv.1", align 8
  %11 = alloca %"class.sc_dt::sc_lv.1", align 8
  %12 = alloca %"class.sc_dt::sc_lv.1", align 8
  %13 = alloca %"class.sc_dt::sc_lv.1", align 8
  %14 = alloca %"class.sc_dt::sc_lv.1", align 8
  %15 = alloca %"class.sc_dt::sc_lv.1", align 8
  %16 = alloca %"class.sc_dt::sc_lv.1", align 8
  %17 = alloca %"class.sc_dt::sc_lv.1", align 8
  %18 = alloca %"class.sc_dt::sc_lv.2", align 8
  %19 = alloca %"class.sc_dt::sc_lv.2", align 8
  %20 = alloca %"class.sc_dt::sc_lv.2", align 8
  %21 = alloca %"class.sc_dt::sc_concref", align 8
  %22 = alloca %"class.sc_dt::sc_concref.17", align 8
  %23 = alloca %"class.sc_dt::sc_concref.20", align 8
  %24 = alloca %"class.sc_dt::sc_concref", align 8
  %25 = alloca %"class.sc_dt::sc_concref", align 8
  %26 = alloca %"class.sc_dt::sc_concref", align 8
  %27 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %28 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %29 = alloca %"class.sc_dt::sc_concref_r", align 8
  %30 = alloca %"class.sc_dt::sc_lv_base", align 8
  %31 = alloca %"class.sc_dt::sc_concref.27", align 8
  %32 = alloca %"class.sc_dt::sc_concref.20", align 8
  %33 = alloca %"class.sc_dt::sc_concref", align 8
  %34 = alloca %"class.sc_dt::sc_lv_base", align 8
  %35 = alloca %"class.sc_dt::sc_concref.17", align 8
  %36 = alloca %"class.sc_dt::sc_concref.20", align 8
  %37 = alloca %"class.sc_dt::sc_concref", align 8
  %38 = alloca %"class.sc_dt::sc_concref.30", align 8
  %39 = alloca %"class.sc_dt::sc_concref.33", align 8
  %40 = alloca %"class.sc_dt::sc_concref.36", align 8
  %41 = alloca %"class.sc_dt::sc_concref.20", align 8
  %42 = alloca %"class.sc_dt::sc_concref", align 8
  %43 = alloca %"class.sc_dt::sc_subref", align 8
  %44 = alloca %"class.sc_dt::sc_lv_base", align 8
  %45 = alloca %"class.sc_dt::sc_concref.17", align 8
  %46 = alloca %"class.sc_dt::sc_concref.20", align 8
  %47 = alloca %"class.sc_dt::sc_concref", align 8
  %48 = alloca %"class.sc_dt::sc_subref", align 8
  %49 = alloca %"class.sc_dt::sc_concref.40", align 8
  %50 = alloca %"class.sc_dt::sc_concref", align 8
  %51 = alloca %"class.sc_dt::sc_subref", align 8
  %52 = alloca %"class.sc_dt::sc_lv_base", align 8
  %53 = alloca %"class.sc_dt::sc_concref_r.43", align 8
  %54 = alloca %"class.sc_dt::sc_concref_r.45", align 8
  %55 = alloca %"class.sc_dt::sc_concref_r.47", align 8
  %56 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %57 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %58 = alloca %"class.sc_dt::sc_concref_r", align 8
  %59 = alloca %"class.sc_dt::sc_lv_base", align 8
  %60 = alloca %"class.sc_dt::sc_concref.49", align 8
  %61 = alloca %"class.sc_dt::sc_concref.52", align 8
  %62 = alloca %"class.sc_dt::sc_concref.55", align 8
  %63 = alloca %"class.sc_dt::sc_concref.58", align 8
  %64 = alloca %"class.sc_dt::sc_concref.17", align 8
  %65 = alloca %"class.sc_dt::sc_concref.20", align 8
  %66 = alloca %"class.sc_dt::sc_concref", align 8
  %67 = alloca %"class.sc_dt::sc_concref_r.61", align 8
  %68 = alloca %"class.sc_dt::sc_concref_r.43", align 8
  %69 = alloca %"class.sc_dt::sc_concref_r.45", align 8
  %70 = alloca %"class.sc_dt::sc_concref_r.47", align 8
  %71 = alloca %"class.sc_dt::sc_concref_r.23", align 8
  %72 = alloca %"class.sc_dt::sc_concref_r.25", align 8
  %73 = alloca %"class.sc_dt::sc_concref_r", align 8
  %74 = alloca %"class.sc_dt::sc_lv_base", align 8
  %75 = alloca %"class.sc_dt::sc_concref.63", align 8
  %76 = alloca %"class.sc_dt::sc_subref", align 8
  %77 = alloca %"class.sc_dt::sc_lv_base", align 8
  %78 = alloca %"class.sc_dt::sc_concref.36", align 8
  %79 = alloca %"class.sc_dt::sc_concref.20", align 8
  %80 = alloca %"class.sc_dt::sc_concref", align 8
  %81 = alloca %"class.sc_dt::sc_subref", align 8
  %82 = alloca %"class.sc_dt::sc_concref.66", align 8
  %83 = alloca %"class.sc_dt::sc_subref", align 8
  %84 = alloca %"class.sc_dt::sc_subref", align 8
  %85 = alloca %"class.sc_dt::sc_concref.69", align 8
  %86 = alloca %"class.sc_dt::sc_concref.72", align 8
  %87 = alloca %"class.sc_dt::sc_concref.66", align 8
  %88 = alloca %"class.sc_dt::sc_subref", align 8
  %89 = alloca %"class.sc_dt::sc_subref", align 8
  %90 = alloca %"class.sc_dt::sc_subref", align 8
  %91 = alloca %"class.sc_dt::sc_subref", align 8
  %92 = alloca %"class.sc_dt::sc_concref.66", align 8
  %93 = alloca %"class.sc_dt::sc_subref", align 8
  %94 = alloca %"class.sc_dt::sc_subref", align 8
  %95 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #7
  call void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %96 unwind label %235

96:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %97 unwind label %237

97:                                               ; preds = %96
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  invoke void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %98 unwind label %239

98:                                               ; preds = %97
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %99 unwind label %241

99:                                               ; preds = %98
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  invoke void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %100 unwind label %243

100:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %101 unwind label %245

101:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %102 unwind label %247

102:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %103 unwind label %249

103:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %104 unwind label %251

104:                                              ; preds = %103
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %105 unwind label %253

105:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %106 unwind label %255

106:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %107 unwind label %257

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %108 unwind label %259

108:                                              ; preds = %107
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %109 unwind label %261

109:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %110 unwind label %263

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %111 unwind label %265

111:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %112 unwind label %267

112:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %.preheader unwind label %269

.preheader:                                       ; preds = %112
  %113 = getelementptr inbounds i8, ptr %0, i64 488
  br label %114

114:                                              ; preds = %.preheader, %234
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %0)
          to label %115 unwind label %271

115:                                              ; preds = %114
  %116 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str)
          to label %117 unwind label %271

117:                                              ; preds = %115
  %118 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.2)
          to label %119 unwind label %271

119:                                              ; preds = %117
  %120 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.3)
          to label %121 unwind label %271

121:                                              ; preds = %119
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %21, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %122 unwind label %273

122:                                              ; preds = %121
  %123 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %21, ptr noundef nonnull @.str.4)
          to label %124 unwind label %275

124:                                              ; preds = %122
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %24, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %125 unwind label %278

125:                                              ; preds = %124
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %23, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %126 unwind label %280

126:                                              ; preds = %125
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.17") align 8 %22, ptr noundef nonnull %23, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %127 unwind label %282

127:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %128 unwind label %284

128:                                              ; preds = %127
  %129 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSINS_12sc_concref_rINS0_IS2_S1_EES1_EEEERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %25, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %130 unwind label %286

130:                                              ; preds = %128
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %131 unwind label %292

131:                                              ; preds = %130
  %132 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %133 unwind label %294

133:                                              ; preds = %131
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.2)
          to label %134 unwind label %297

134:                                              ; preds = %133
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull @.str.2)
          to label %135 unwind label %299

135:                                              ; preds = %134
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %28, ptr noundef nonnull %29, ptr noundef nonnull @.str.2)
          to label %136 unwind label %301

136:                                              ; preds = %135
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %27, ptr noundef nonnull %28, ptr noundef nonnull @.str.5)
          to label %137 unwind label %303

137:                                              ; preds = %136
  %138 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %139 unwind label %305

139:                                              ; preds = %137
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %33, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %140 unwind label %311

140:                                              ; preds = %139
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %32, ptr noundef nonnull %33, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %141 unwind label %313

141:                                              ; preds = %140
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseENS_10sc_concrefIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.27") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull %32)
          to label %142 unwind label %315

142:                                              ; preds = %141
  %143 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseENS0_INS0_IS1_S1_EES1_EEEaSIS1_EERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %31, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %144 unwind label %317

144:                                              ; preds = %142
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %34, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %145 unwind label %322

145:                                              ; preds = %144
  %146 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %147 unwind label %324

147:                                              ; preds = %145
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %35) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %148 unwind label %327

148:                                              ; preds = %147
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %36, ptr noundef nonnull %37, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %149 unwind label %329

149:                                              ; preds = %148
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.17") align 8 %35, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %150 unwind label %331

150:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %151 unwind label %333

151:                                              ; preds = %150
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %41, ptr noundef nonnull %42, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %152 unwind label %335

152:                                              ; preds = %151
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %43, ptr noundef nonnull align 8 dereferenceable(8) %2, i32 noundef 7, i32 noundef 2)
          to label %153 unwind label %337

153:                                              ; preds = %152
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.36") align 8 %40, ptr noundef nonnull %41, ptr noundef nonnull %43)
          to label %154 unwind label %339

154:                                              ; preds = %153
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EES2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.33") align 8 %39, ptr noundef nonnull %40, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %155 unwind label %341

155:                                              ; preds = %154
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.30") align 8 %38, ptr noundef nonnull %39, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %156 unwind label %343

156:                                              ; preds = %155
  %157 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EENS_9sc_subrefIS1_EEEES1_EES1_EaSINS_12sc_concref_rIS3_S1_EEEERS8_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %158 unwind label %345

158:                                              ; preds = %156
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %43) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %159 unwind label %356

159:                                              ; preds = %158
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %46, ptr noundef nonnull %47, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %160 unwind label %358

160:                                              ; preds = %159
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.17") align 8 %45, ptr noundef nonnull %46, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %161 unwind label %360

161:                                              ; preds = %160
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNS8_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %44, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %162 unwind label %362

162:                                              ; preds = %161
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %164 unwind label %364

164:                                              ; preds = %162
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef 15, i32 noundef 8)
          to label %165 unwind label %370

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %49) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %50, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %166 unwind label %372

166:                                              ; preds = %165
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %2, i32 noundef 5, i32 noundef 0)
          to label %167 unwind label %374

167:                                              ; preds = %166
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EENS_9sc_subrefIT1_EEEES5_S8_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.40") align 8 %49, ptr noundef nonnull %50, ptr noundef nonnull %51)
          to label %168 unwind label %376

168:                                              ; preds = %167
  %169 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS_10sc_lv_baseES1_EENS_9sc_subrefIS1_EEEaSINS_11sc_subref_rIS1_EEEERS5_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %49, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %170 unwind label %378

170:                                              ; preds = %168
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %49) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %171 unwind label %384

171:                                              ; preds = %170
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %58, ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %172 unwind label %386

172:                                              ; preds = %171
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %57, ptr noundef nonnull %58, ptr noundef nonnull align 8 dereferenceable(8) %8)
          to label %173 unwind label %388

173:                                              ; preds = %172
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %56, ptr noundef nonnull %57, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %174 unwind label %390

174:                                              ; preds = %173
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES7_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.47") align 8 %55, ptr noundef nonnull %56, ptr noundef nonnull @.str.6)
          to label %175 unwind label %392

175:                                              ; preds = %174
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.45") align 8 %54, ptr noundef nonnull %55, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %176 unwind label %394

176:                                              ; preds = %175
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES9_PKc(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.43") align 8 %53, ptr noundef nonnull %54, ptr noundef nonnull @.str.7)
          to label %177 unwind label %396

177:                                              ; preds = %176
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS2_INS2_INS2_INS2_INS2_IS1_S1_EES1_EES1_EES1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %178 unwind label %398

178:                                              ; preds = %177
  %179 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %180 unwind label %400

180:                                              ; preds = %178
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %60) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %66, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %181 unwind label %410

181:                                              ; preds = %180
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %65, ptr noundef nonnull %66, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %182 unwind label %412

182:                                              ; preds = %181
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.17") align 8 %64, ptr noundef nonnull %65, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %183 unwind label %414

183:                                              ; preds = %182
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.58") align 8 %63, ptr noundef nonnull %64, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %184 unwind label %416

184:                                              ; preds = %183
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.55") align 8 %62, ptr noundef nonnull %63, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %185 unwind label %418

185:                                              ; preds = %184
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.52") align 8 %61, ptr noundef nonnull %62, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %186 unwind label %420

186:                                              ; preds = %185
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.49") align 8 %60, ptr noundef nonnull %61, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %187 unwind label %422

187:                                              ; preds = %186
  %188 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %60, ptr noundef nonnull @.str.8)
          to label %189 unwind label %424

189:                                              ; preds = %187
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #7
  invoke void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %190 unwind label %433

190:                                              ; preds = %189
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r") align 8 %73, ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %191 unwind label %435

191:                                              ; preds = %190
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.25") align 8 %72, ptr noundef nonnull %73, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %192 unwind label %437

192:                                              ; preds = %191
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.23") align 8 %71, ptr noundef nonnull %72, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %193 unwind label %439

193:                                              ; preds = %192
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.47") align 8 %70, ptr noundef nonnull %71, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %194 unwind label %441

194:                                              ; preds = %193
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.45") align 8 %69, ptr noundef nonnull %70, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %195 unwind label %443

195:                                              ; preds = %194
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.43") align 8 %68, ptr noundef nonnull %69, ptr noundef nonnull align 8 dereferenceable(8) %9)
          to label %196 unwind label %445

196:                                              ; preds = %195
  invoke void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref_r.61") align 8 %67, ptr noundef nonnull %68, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %197 unwind label %447

197:                                              ; preds = %196
  %198 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSINS_12sc_concref_rINS3_INS3_INS3_INS3_INS3_INS3_INS_10sc_lv_baseES4_EES4_EES4_EES4_EES4_EES4_EES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %199 unwind label %449

199:                                              ; preds = %197
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #7
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %75) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %76, ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef 31, i32 noundef 8)
          to label %200 unwind label %459

200:                                              ; preds = %199
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.63") align 8 %75, ptr noundef nonnull %76, ptr noundef nonnull align 8 dereferenceable(8) %2)
          to label %201 unwind label %461

201:                                              ; preds = %200
  %202 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES5_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %203 unwind label %463

203:                                              ; preds = %201
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %76) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %75) #7
  %204 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi8EEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.9)
          to label %205 unwind label %271

205:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %78) #7
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref") align 8 %80, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %206 unwind label %467

206:                                              ; preds = %205
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.20") align 8 %79, ptr noundef nonnull %80, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %207 unwind label %469

207:                                              ; preds = %206
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %81, ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef 7, i32 noundef 0)
          to label %208 unwind label %471

208:                                              ; preds = %207
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.36") align 8 %78, ptr noundef nonnull %79, ptr noundef nonnull %81)
          to label %209 unwind label %473

209:                                              ; preds = %208
  invoke void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EENS_9sc_subrefIS1_EEEEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_lv_base") align 8 %77, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %210 unwind label %475

210:                                              ; preds = %209
  %211 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi32EEaSINS_10sc_lv_baseEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %212 unwind label %477

212:                                              ; preds = %210
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %81) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %79) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %80) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %82) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %83, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 15, i32 noundef 0)
          to label %213 unwind label %484

213:                                              ; preds = %212
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %84, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 31, i32 noundef 16)
          to label %214 unwind label %486

214:                                              ; preds = %213
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.66") align 8 %82, ptr noundef nonnull %83, ptr noundef nonnull %84)
          to label %215 unwind label %488

215:                                              ; preds = %214
  %216 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSEPKc(ptr noundef nonnull align 8 dereferenceable(40) %82, ptr noundef nonnull @.str.10)
          to label %217 unwind label %490

217:                                              ; preds = %215
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %82) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %84) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %83) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %85) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %88, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 7, i32 noundef 0)
          to label %218 unwind label %495

218:                                              ; preds = %217
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %89, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 23, i32 noundef 16)
          to label %219 unwind label %497

219:                                              ; preds = %218
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.66") align 8 %87, ptr noundef nonnull %88, ptr noundef nonnull %89)
          to label %220 unwind label %499

220:                                              ; preds = %219
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %90, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 15, i32 noundef 8)
          to label %221 unwind label %501

221:                                              ; preds = %220
  invoke void @_ZN5sc_dtcmINS_9sc_subrefINS_10sc_lv_baseEEES3_S2_EENS_10sc_concrefINS4_IT_T0_EENS1_IT1_EEEES7_S9_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.72") align 8 %86, ptr noundef nonnull %87, ptr noundef nonnull %90)
          to label %222 unwind label %503

222:                                              ; preds = %221
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %91, ptr noundef nonnull align 8 dereferenceable(8) %18, i32 noundef 31, i32 noundef 24)
          to label %223 unwind label %505

223:                                              ; preds = %222
  invoke void @_ZN5sc_dtcmINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_S3_EENS1_INS1_IT_T0_EENS2_IT1_EEEES8_SA_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.69") align 8 %85, ptr noundef nonnull %86, ptr noundef nonnull %91)
          to label %224 unwind label %507

224:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %92) #7
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %93, ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef 31, i32 noundef 16)
          to label %225 unwind label %509

225:                                              ; preds = %224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %94, ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef 15, i32 noundef 0)
          to label %226 unwind label %511

226:                                              ; preds = %225
  invoke void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_concref.66") align 8 %92, ptr noundef nonnull %93, ptr noundef nonnull %94)
          to label %227 unwind label %513

227:                                              ; preds = %226
  %228 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES3_EaSINS_12sc_concref_rINS0_IS4_S3_EES3_EEEERS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %92, ptr noundef nonnull align 8 dereferenceable(8) %85)
          to label %229 unwind label %515

229:                                              ; preds = %227
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %92) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %94) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %93) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %92) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %91) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %86) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %90) #7
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %87) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %89) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %88) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %85) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %95) #7
  %230 = invoke noundef i32 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE6to_intEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %231 unwind label %527

231:                                              ; preds = %229
  store i32 %230, ptr %95, align 4, !tbaa !5
  %232 = load ptr, ptr %113, align 8, !tbaa !9
  %233 = invoke noundef nonnull align 8 dereferenceable(196) ptr @_ZN7sc_core9sc_signalIiLNS_16sc_writer_policyE0EEaSERKi(ptr noundef nonnull align 8 dereferenceable(196) %232, ptr noundef nonnull align 4 dereferenceable(4) %95)
          to label %234 unwind label %527

234:                                              ; preds = %231
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #7
  invoke void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232) %0)
          to label %114 unwind label %271, !llvm.loop !41

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

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

239:                                              ; preds = %97
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %545

241:                                              ; preds = %98
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %544

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

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

247:                                              ; preds = %101
  %248 = landingpad { ptr, i32 }
          cleanup
  br label %541

249:                                              ; preds = %102
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %540

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

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

255:                                              ; preds = %105
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %537

257:                                              ; preds = %106
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %536

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

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

263:                                              ; preds = %109
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %533

265:                                              ; preds = %110
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %532

267:                                              ; preds = %111
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %531

269:                                              ; preds = %112
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %530

271:                                              ; preds = %234, %203, %119, %117, %115, %114
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %529

273:                                              ; preds = %121
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %277

275:                                              ; preds = %122
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #7
  br label %277

277:                                              ; preds = %275, %273
  %.pn = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #7
  br label %529

278:                                              ; preds = %124
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %291

280:                                              ; preds = %125
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %290

282:                                              ; preds = %126
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %289

284:                                              ; preds = %127
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %288

286:                                              ; preds = %128
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  br label %288

288:                                              ; preds = %286, %284
  %.pn103 = phi { ptr, i32 } [ %287, %286 ], [ %285, %284 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  br label %289

289:                                              ; preds = %288, %282
  %.pn103.pn = phi { ptr, i32 } [ %.pn103, %288 ], [ %283, %282 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  br label %290

290:                                              ; preds = %289, %280
  %.pn103.pn.pn = phi { ptr, i32 } [ %.pn103.pn, %289 ], [ %281, %280 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #7
  br label %291

291:                                              ; preds = %290, %278
  %.pn103.pn.pn.pn = phi { ptr, i32 } [ %.pn103.pn.pn, %290 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  br label %529

292:                                              ; preds = %130
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %296

294:                                              ; preds = %131
  %295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #7
  br label %296

296:                                              ; preds = %294, %292
  %.pn108 = phi { ptr, i32 } [ %295, %294 ], [ %293, %292 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #7
  br label %529

297:                                              ; preds = %133
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %310

299:                                              ; preds = %134
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %309

301:                                              ; preds = %135
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %308

303:                                              ; preds = %136
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %307

305:                                              ; preds = %137
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #7
  br label %307

307:                                              ; preds = %305, %303
  %.pn110 = phi { ptr, i32 } [ %306, %305 ], [ %304, %303 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br label %308

308:                                              ; preds = %307, %301
  %.pn110.pn = phi { ptr, i32 } [ %.pn110, %307 ], [ %302, %301 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  br label %309

309:                                              ; preds = %308, %299
  %.pn110.pn.pn = phi { ptr, i32 } [ %.pn110.pn, %308 ], [ %300, %299 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %310

310:                                              ; preds = %309, %297
  %.pn110.pn.pn.pn = phi { ptr, i32 } [ %.pn110.pn.pn, %309 ], [ %298, %297 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %27) #7
  br label %529

311:                                              ; preds = %139
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %321

313:                                              ; preds = %140
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %320

315:                                              ; preds = %141
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %319

317:                                              ; preds = %142
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  br label %319

319:                                              ; preds = %317, %315
  %.pn115 = phi { ptr, i32 } [ %318, %317 ], [ %316, %315 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  br label %320

320:                                              ; preds = %319, %313
  %.pn115.pn = phi { ptr, i32 } [ %.pn115, %319 ], [ %314, %313 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #7
  br label %321

321:                                              ; preds = %320, %311
  %.pn115.pn.pn = phi { ptr, i32 } [ %.pn115.pn, %320 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  br label %529

322:                                              ; preds = %144
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %326

324:                                              ; preds = %145
  %325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %326

326:                                              ; preds = %324, %322
  %.pn119 = phi { ptr, i32 } [ %325, %324 ], [ %323, %322 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  br label %529

327:                                              ; preds = %147
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %355

329:                                              ; preds = %148
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %354

331:                                              ; preds = %149
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %353

333:                                              ; preds = %150
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %352

335:                                              ; preds = %151
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %351

337:                                              ; preds = %152
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %350

339:                                              ; preds = %153
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %349

341:                                              ; preds = %154
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %348

343:                                              ; preds = %155
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %347

345:                                              ; preds = %156
  %346 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  br label %347

347:                                              ; preds = %345, %343
  %.pn121 = phi { ptr, i32 } [ %346, %345 ], [ %344, %343 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #7
  br label %348

348:                                              ; preds = %347, %341
  %.pn121.pn = phi { ptr, i32 } [ %.pn121, %347 ], [ %342, %341 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  br label %349

349:                                              ; preds = %348, %339
  %.pn121.pn.pn = phi { ptr, i32 } [ %.pn121.pn, %348 ], [ %340, %339 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %43) #7
  br label %350

350:                                              ; preds = %349, %337
  %.pn121.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn, %349 ], [ %338, %337 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #7
  br label %351

351:                                              ; preds = %350, %335
  %.pn121.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn.pn, %350 ], [ %336, %335 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #7
  br label %352

352:                                              ; preds = %351, %333
  %.pn121.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn.pn.pn, %351 ], [ %334, %333 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #7
  br label %353

353:                                              ; preds = %352, %331
  %.pn121.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn.pn.pn.pn, %352 ], [ %332, %331 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #7
  br label %354

354:                                              ; preds = %353, %329
  %.pn121.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn.pn.pn.pn.pn, %353 ], [ %330, %329 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #7
  br label %355

355:                                              ; preds = %354, %327
  %.pn121.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn121.pn.pn.pn.pn.pn.pn.pn, %354 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %35) #7
  br label %529

356:                                              ; preds = %158
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %369

358:                                              ; preds = %159
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %368

360:                                              ; preds = %160
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %367

362:                                              ; preds = %161
  %363 = landingpad { ptr, i32 }
          cleanup
  br label %366

364:                                              ; preds = %162
  %365 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %366

366:                                              ; preds = %364, %362
  %.pn131 = phi { ptr, i32 } [ %365, %364 ], [ %363, %362 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  br label %367

367:                                              ; preds = %366, %360
  %.pn131.pn = phi { ptr, i32 } [ %.pn131, %366 ], [ %361, %360 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #7
  br label %368

368:                                              ; preds = %367, %358
  %.pn131.pn.pn = phi { ptr, i32 } [ %.pn131.pn, %367 ], [ %359, %358 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #7
  br label %369

369:                                              ; preds = %368, %356
  %.pn131.pn.pn.pn = phi { ptr, i32 } [ %.pn131.pn.pn, %368 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  br label %529

370:                                              ; preds = %164
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %383

372:                                              ; preds = %165
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %382

374:                                              ; preds = %166
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %381

376:                                              ; preds = %167
  %377 = landingpad { ptr, i32 }
          cleanup
  br label %380

378:                                              ; preds = %168
  %379 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #7
  br label %380

380:                                              ; preds = %378, %376
  %.pn136 = phi { ptr, i32 } [ %379, %378 ], [ %377, %376 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #7
  br label %381

381:                                              ; preds = %380, %374
  %.pn136.pn = phi { ptr, i32 } [ %.pn136, %380 ], [ %375, %374 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #7
  br label %382

382:                                              ; preds = %381, %372
  %.pn136.pn.pn = phi { ptr, i32 } [ %.pn136.pn, %381 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %49) #7
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %48) #7
  br label %383

383:                                              ; preds = %382, %370
  %.pn136.pn.pn.pn = phi { ptr, i32 } [ %.pn136.pn.pn, %382 ], [ %371, %370 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  br label %529

384:                                              ; preds = %170
  %385 = landingpad { ptr, i32 }
          cleanup
  br label %409

386:                                              ; preds = %171
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %408

388:                                              ; preds = %172
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %407

390:                                              ; preds = %173
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %406

392:                                              ; preds = %174
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %405

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

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

398:                                              ; preds = %177
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %402

400:                                              ; preds = %178
  %401 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %402

402:                                              ; preds = %400, %398
  %.pn141 = phi { ptr, i32 } [ %401, %400 ], [ %399, %398 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #7
  br label %403

403:                                              ; preds = %402, %396
  %.pn141.pn = phi { ptr, i32 } [ %.pn141, %402 ], [ %397, %396 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #7
  br label %404

404:                                              ; preds = %403, %394
  %.pn141.pn.pn = phi { ptr, i32 } [ %.pn141.pn, %403 ], [ %395, %394 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  br label %405

405:                                              ; preds = %404, %392
  %.pn141.pn.pn.pn = phi { ptr, i32 } [ %.pn141.pn.pn, %404 ], [ %393, %392 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #7
  br label %406

406:                                              ; preds = %405, %390
  %.pn141.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn141.pn.pn.pn, %405 ], [ %391, %390 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  br label %407

407:                                              ; preds = %406, %388
  %.pn141.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn141.pn.pn.pn.pn, %406 ], [ %389, %388 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #7
  br label %408

408:                                              ; preds = %407, %386
  %.pn141.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn141.pn.pn.pn.pn.pn, %407 ], [ %387, %386 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %409

409:                                              ; preds = %408, %384
  %.pn141.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn141.pn.pn.pn.pn.pn.pn, %408 ], [ %385, %384 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %529

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

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

414:                                              ; preds = %182
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %430

416:                                              ; preds = %183
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %429

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

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

422:                                              ; preds = %186
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %426

424:                                              ; preds = %187
  %425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #7
  br label %426

426:                                              ; preds = %424, %422
  %.pn150 = phi { ptr, i32 } [ %425, %424 ], [ %423, %422 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #7
  br label %427

427:                                              ; preds = %426, %420
  %.pn150.pn = phi { ptr, i32 } [ %.pn150, %426 ], [ %421, %420 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #7
  br label %428

428:                                              ; preds = %427, %418
  %.pn150.pn.pn = phi { ptr, i32 } [ %.pn150.pn, %427 ], [ %419, %418 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #7
  br label %429

429:                                              ; preds = %428, %416
  %.pn150.pn.pn.pn = phi { ptr, i32 } [ %.pn150.pn.pn, %428 ], [ %417, %416 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #7
  br label %430

430:                                              ; preds = %429, %414
  %.pn150.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn150.pn.pn.pn, %429 ], [ %415, %414 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #7
  br label %431

431:                                              ; preds = %430, %412
  %.pn150.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn150.pn.pn.pn.pn, %430 ], [ %413, %412 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #7
  br label %432

432:                                              ; preds = %431, %410
  %.pn150.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn150.pn.pn.pn.pn.pn, %431 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %60) #7
  br label %529

433:                                              ; preds = %189
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %458

435:                                              ; preds = %190
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %457

437:                                              ; preds = %191
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %456

439:                                              ; preds = %192
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %455

441:                                              ; preds = %193
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %454

443:                                              ; preds = %194
  %444 = landingpad { ptr, i32 }
          cleanup
  br label %453

445:                                              ; preds = %195
  %446 = landingpad { ptr, i32 }
          cleanup
  br label %452

447:                                              ; preds = %196
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %451

449:                                              ; preds = %197
  %450 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #7
  br label %451

451:                                              ; preds = %449, %447
  %.pn158 = phi { ptr, i32 } [ %450, %449 ], [ %448, %447 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #7
  br label %452

452:                                              ; preds = %451, %445
  %.pn158.pn = phi { ptr, i32 } [ %.pn158, %451 ], [ %446, %445 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #7
  br label %453

453:                                              ; preds = %452, %443
  %.pn158.pn.pn = phi { ptr, i32 } [ %.pn158.pn, %452 ], [ %444, %443 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #7
  br label %454

454:                                              ; preds = %453, %441
  %.pn158.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn, %453 ], [ %442, %441 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #7
  br label %455

455:                                              ; preds = %454, %439
  %.pn158.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn.pn, %454 ], [ %440, %439 ]
  call void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #7
  br label %456

456:                                              ; preds = %455, %437
  %.pn158.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn.pn.pn, %455 ], [ %438, %437 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #7
  br label %457

457:                                              ; preds = %456, %435
  %.pn158.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn.pn.pn.pn, %456 ], [ %436, %435 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %458

458:                                              ; preds = %457, %433
  %.pn158.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn.pn.pn.pn.pn, %457 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %67) #7
  br label %529

459:                                              ; preds = %199
  %460 = landingpad { ptr, i32 }
          cleanup
  br label %466

461:                                              ; preds = %200
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %465

463:                                              ; preds = %201
  %464 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #7
  br label %465

465:                                              ; preds = %463, %461
  %.pn167 = phi { ptr, i32 } [ %464, %463 ], [ %462, %461 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %76) #7
  br label %466

466:                                              ; preds = %465, %459
  %.pn167.pn = phi { ptr, i32 } [ %.pn167, %465 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %75) #7
  br label %529

467:                                              ; preds = %205
  %468 = landingpad { ptr, i32 }
          cleanup
  br label %483

469:                                              ; preds = %206
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %482

471:                                              ; preds = %207
  %472 = landingpad { ptr, i32 }
          cleanup
  br label %481

473:                                              ; preds = %208
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %480

475:                                              ; preds = %209
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %479

477:                                              ; preds = %210
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %479

479:                                              ; preds = %477, %475
  %.pn170 = phi { ptr, i32 } [ %478, %477 ], [ %476, %475 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  br label %480

480:                                              ; preds = %479, %473
  %.pn170.pn = phi { ptr, i32 } [ %.pn170, %479 ], [ %474, %473 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %81) #7
  br label %481

481:                                              ; preds = %480, %471
  %.pn170.pn.pn = phi { ptr, i32 } [ %.pn170.pn, %480 ], [ %472, %471 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %79) #7
  br label %482

482:                                              ; preds = %481, %469
  %.pn170.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn, %481 ], [ %470, %469 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %80) #7
  br label %483

483:                                              ; preds = %482, %467
  %.pn170.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn170.pn.pn.pn, %482 ], [ %468, %467 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  br label %529

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

486:                                              ; preds = %213
  %487 = landingpad { ptr, i32 }
          cleanup
  br label %493

488:                                              ; preds = %214
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %492

490:                                              ; preds = %215
  %491 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %82) #7
  br label %492

492:                                              ; preds = %490, %488
  %.pn176 = phi { ptr, i32 } [ %491, %490 ], [ %489, %488 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %84) #7
  br label %493

493:                                              ; preds = %492, %486
  %.pn176.pn = phi { ptr, i32 } [ %.pn176, %492 ], [ %487, %486 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %83) #7
  br label %494

494:                                              ; preds = %493, %484
  %.pn176.pn.pn = phi { ptr, i32 } [ %.pn176.pn, %493 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %82) #7
  br label %529

495:                                              ; preds = %217
  %496 = landingpad { ptr, i32 }
          cleanup
  br label %526

497:                                              ; preds = %218
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %525

499:                                              ; preds = %219
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %524

501:                                              ; preds = %220
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %523

503:                                              ; preds = %221
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %522

505:                                              ; preds = %222
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %521

507:                                              ; preds = %223
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %520

509:                                              ; preds = %224
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %519

511:                                              ; preds = %225
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %518

513:                                              ; preds = %226
  %514 = landingpad { ptr, i32 }
          cleanup
  br label %517

515:                                              ; preds = %227
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %92) #7
  br label %517

517:                                              ; preds = %515, %513
  %.pn180 = phi { ptr, i32 } [ %516, %515 ], [ %514, %513 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %94) #7
  br label %518

518:                                              ; preds = %517, %511
  %.pn180.pn = phi { ptr, i32 } [ %.pn180, %517 ], [ %512, %511 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %93) #7
  br label %519

519:                                              ; preds = %518, %509
  %.pn180.pn.pn = phi { ptr, i32 } [ %.pn180.pn, %518 ], [ %510, %509 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %92) #7
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #7
  br label %520

520:                                              ; preds = %519, %507
  %.pn180.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn, %519 ], [ %508, %507 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %91) #7
  br label %521

521:                                              ; preds = %520, %505
  %.pn180.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn, %520 ], [ %506, %505 ]
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %86) #7
  br label %522

522:                                              ; preds = %521, %503
  %.pn180.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn.pn, %521 ], [ %504, %503 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %90) #7
  br label %523

523:                                              ; preds = %522, %501
  %.pn180.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn.pn.pn, %522 ], [ %502, %501 ]
  call void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %87) #7
  br label %524

524:                                              ; preds = %523, %499
  %.pn180.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn.pn.pn.pn, %523 ], [ %500, %499 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %89) #7
  br label %525

525:                                              ; preds = %524, %497
  %.pn180.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn.pn.pn.pn.pn, %524 ], [ %498, %497 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %88) #7
  br label %526

526:                                              ; preds = %525, %495
  %.pn180.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn180.pn.pn.pn.pn.pn.pn.pn.pn, %525 ], [ %496, %495 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %85) #7
  br label %529

527:                                              ; preds = %231, %229
  %528 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #7
  br label %529

529:                                              ; preds = %527, %526, %494, %483, %466, %458, %432, %409, %383, %369, %355, %326, %321, %310, %296, %291, %277, %271
  %.pn191 = phi { ptr, i32 } [ %272, %271 ], [ %528, %527 ], [ %.pn180.pn.pn.pn.pn.pn.pn.pn.pn.pn, %526 ], [ %.pn176.pn.pn, %494 ], [ %.pn170.pn.pn.pn.pn, %483 ], [ %.pn167.pn, %466 ], [ %.pn158.pn.pn.pn.pn.pn.pn.pn, %458 ], [ %.pn150.pn.pn.pn.pn.pn.pn, %432 ], [ %.pn141.pn.pn.pn.pn.pn.pn.pn, %409 ], [ %.pn136.pn.pn.pn, %383 ], [ %.pn131.pn.pn.pn, %369 ], [ %.pn121.pn.pn.pn.pn.pn.pn.pn.pn, %355 ], [ %.pn119, %326 ], [ %.pn115.pn.pn, %321 ], [ %.pn110.pn.pn.pn, %310 ], [ %.pn108, %296 ], [ %.pn103.pn.pn.pn, %291 ], [ %.pn, %277 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %530

530:                                              ; preds = %529, %269
  %.pn191.pn = phi { ptr, i32 } [ %.pn191, %529 ], [ %270, %269 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %531

531:                                              ; preds = %530, %267
  %.pn191.pn.pn = phi { ptr, i32 } [ %.pn191.pn, %530 ], [ %268, %267 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %532

532:                                              ; preds = %531, %265
  %.pn191.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn, %531 ], [ %266, %265 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %533

533:                                              ; preds = %532, %263
  %.pn191.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn, %532 ], [ %264, %263 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %534

534:                                              ; preds = %533, %261
  %.pn191.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn, %533 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %535

535:                                              ; preds = %534, %259
  %.pn191.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn, %534 ], [ %260, %259 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %536

536:                                              ; preds = %535, %257
  %.pn191.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn, %535 ], [ %258, %257 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %537

537:                                              ; preds = %536, %255
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn, %536 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %538

538:                                              ; preds = %537, %253
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn, %537 ], [ %254, %253 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %539

539:                                              ; preds = %538, %251
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn, %538 ], [ %252, %251 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %540

540:                                              ; preds = %539, %249
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %539 ], [ %250, %249 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %541

541:                                              ; preds = %540, %247
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %540 ], [ %248, %247 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %542

542:                                              ; preds = %541, %245
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %541 ], [ %246, %245 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %543

543:                                              ; preds = %542, %243
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %542 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %544

544:                                              ; preds = %543, %241
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %543 ], [ %242, %241 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %545

545:                                              ; preds = %544, %239
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %544 ], [ %240, %239 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %546

546:                                              ; preds = %545, %237
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %545 ], [ %238, %237 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %547

547:                                              ; preds = %546, %235
  %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %546 ], [ %236, %235 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn191.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi8EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi24EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt5sc_lvILi32EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7sc_core9sc_module4waitEv(ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.17") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.20") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_EENS1_INS1_IT_T0_EES2_EES6_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rINS2_IT_T0_EES1_EES5_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseEEENS_12sc_concref_rIT_S1_EERKNS_8sc_proxyIS3_EEPKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #3

declare void @_ZN5sc_dt10sc_lv_baseC1EPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS_10sc_lv_baseES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseENS_10sc_concrefIS1_S1_EES1_EENS2_IT_NS2_IT0_T1_EEEERNS_8sc_proxyIS4_EES7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.27") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseES1_EEKS1_RKNS_8sc_proxyIT_EERKNS3_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.30") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EES2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.33") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EENS_9sc_subrefIT1_EEEES6_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.36") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_subref") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNS8_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_10sc_concrefINS2_IT_T0_EENS_9sc_subrefIT1_EEEES5_S8_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.40") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS2_INS2_INS2_INS2_INS2_IS1_S1_EES1_EES1_EES1_EES1_EES1_EEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES9_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.43") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.45") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_EENS1_INS1_IT_T0_EES2_EES7_PKc(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.47") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS_10sc_lv_baseES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES6_RNS_8sc_proxyIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.23") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_S1_EENS_12sc_concref_rINS2_IT_T0_EET1_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.25") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_12sc_concref_rIT_T0_EERKNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

declare void @_ZN5sc_dt10sc_lv_baseC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.49") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.52") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES8_RNS_8sc_proxyIS9_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.55") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.58") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EESA_RNS_8sc_proxyISB_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.61") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES9_RNS_8sc_proxyISA_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.43") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_12sc_concref_rINS1_INS_10sc_lv_baseES2_EES2_EES2_S2_EENS1_INS1_IT_T0_EET1_EES7_RNS_8sc_proxyIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref_r.47") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS0_INS0_INS0_INS0_INS0_INS0_INS_10sc_lv_baseES1_EES1_EES1_EES1_EES1_EES1_EES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EET0_EES5_RNS_8sc_proxyIS6_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.63") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtorINS_10sc_lv_baseENS_12sc_concref_rINS_10sc_concrefINS3_IS1_S1_EES1_EENS_9sc_subrefIS1_EEEEEEKS1_RKNS_8sc_proxyIT_EERKNSA_IT0_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_lv_base") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_lv_baseES1_EENS_10sc_concrefINS_9sc_subrefIT_EENS3_IT0_EEEES5_S7_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.66") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_S3_EENS1_INS1_IT_T0_EENS2_IT1_EEEES8_SA_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.69") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_9sc_subrefINS_10sc_lv_baseEEES3_S2_EENS_10sc_concrefINS4_IT_T0_EENS1_IT1_EEEES7_S9_(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.72") align 8, ptr noundef, ptr noundef) local_unnamed_addr #3

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseENS_10sc_concrefINS2_IS1_S1_EES1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_10sc_lv_baseES2_EES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_10sc_lv_baseES2_EENS_9sc_subrefIS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS1_INS_10sc_lv_baseES2_EES2_EES2_EES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES2_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_9sc_subrefINS_10sc_lv_baseEEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS1_INS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_concrefINS_9sc_subrefINS_10sc_lv_baseEEES4_EES4_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !13, i64 488}
!10 = !{!"_ZTS4test", !11, i64 0, !33, i64 232, !13, i64 416, !13, i64 424, !13, i64 432, !13, i64 440, !13, i64 448, !13, i64 456, !13, i64 464, !13, i64 472, !13, i64 480, !13, i64 488, !13, i64 496, !13, i64 504, !13, i64 512, !13, i64 520}
!11 = !{!"_ZTSN7sc_core9sc_moduleE", !12, i64 0, !25, i64 112, !26, i64 120, !28, i64 144, !30, i64 168, !32, i64 192, !13, i64 200, !6, i64 208, !13, i64 216, !13, i64 224}
!12 = !{!"_ZTSN7sc_core9sc_objectE", !13, i64 8, !14, i64 16, !18, i64 40, !22, i64 64, !13, i64 96, !13, i64 104}
!13 = !{!"any pointer", !7, i64 0}
!14 = !{!"_ZTSSt6vectorIPN7sc_core8sc_eventESaIS2_EE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core8sc_eventESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!18 = !{!"_ZTSSt6vectorIPN7sc_core9sc_objectESaIS2_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core9sc_objectESaIS2_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !23, i64 0, !24, i64 8, !7, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!24 = !{!"long", !7, i64 0}
!25 = !{!"_ZTSN7sc_core15sc_process_hostE"}
!26 = !{!"_ZTSN7sc_core12sc_sensitiveE", !13, i64 0, !27, i64 8, !13, i64 16}
!27 = !{!"_ZTSN7sc_core12sc_sensitiveUt_E", !7, i64 0}
!28 = !{!"_ZTSN7sc_core16sc_sensitive_posE", !13, i64 0, !29, i64 8, !13, i64 16}
!29 = !{!"_ZTSN7sc_core16sc_sensitive_posUt_E", !7, i64 0}
!30 = !{!"_ZTSN7sc_core16sc_sensitive_negE", !13, i64 0, !31, i64 8, !13, i64 16}
!31 = !{!"_ZTSN7sc_core16sc_sensitive_negUt_E", !7, i64 0}
!32 = !{!"bool", !7, i64 0}
!33 = !{!"_ZTSN7sc_core5sc_inIbEE", !34, i64 0, !13, i64 152, !13, i64 160, !13, i64 168, !13, i64 176}
!34 = !{!"_ZTSN7sc_core7sc_portINS_15sc_signal_in_ifIbEELi1ELNS_14sc_port_policyE0EEE", !35, i64 0}
!35 = !{!"_ZTSN7sc_core9sc_port_bINS_15sc_signal_in_ifIbEEEE", !36, i64 0, !13, i64 120, !37, i64 128}
!36 = !{!"_ZTSN7sc_core12sc_port_baseE", !12, i64 0, !13, i64 112}
!37 = !{!"_ZTSSt6vectorIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseIPN7sc_core15sc_signal_in_ifIbEESaIS3_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!41 = distinct !{!41, !42}
!42 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopSimplifyPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass