; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2 (stab2)

; 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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.sc_dt::sc_bv" = type { %"class.sc_dt::sc_bv_base" }
%"class.sc_dt::sc_bv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy.0", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy.0" = type { ptr }
%"class.sc_dt::sc_signed" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_value_base" = type { ptr }
%"class.sc_dt::sc_unsigned" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_bitref" = type { %"class.sc_dt::sc_bitref_r.base", [4 x i8] }
%"class.sc_dt::sc_bitref_r.base" = type <{ ptr, i32 }>
%"class.sc_dt::sc_bitref.1" = type { %"class.sc_dt::sc_bitref_r.base.3", [4 x i8] }
%"class.sc_dt::sc_bitref_r.base.3" = type <{ ptr, i32 }>
%"class.sc_dt::sc_logic" = type { i32 }
%"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_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.5", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.5" = type { ptr }
%"class.sc_dt::sc_subref.6" = type { %"class.sc_dt::sc_subref_r.base.9", [4 x i8] }
%"class.sc_dt::sc_subref_r.base.9" = type <{ %"class.sc_dt::sc_proxy.8", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.8" = type { ptr }
%"class.sc_dt::sc_bv.11" = type { %"class.sc_dt::sc_bv_base" }
%"class.sc_dt::sc_bv.12" = type { %"class.sc_dt::sc_bv_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.13", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.13" = type { ptr }
%"class.sc_dt::sc_lv.14" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.15" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref.16" = type { %"class.sc_dt::sc_concref_r.17" }
%"class.sc_dt::sc_concref_r.17" = type { %"class.sc_dt::sc_proxy.18", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.18" = type { ptr }

@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str = external hidden unnamed_addr constant [35 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [49 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [27 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local i32 @sc_main(i32 noundef %0, ptr noundef %1) #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.sc_dt::sc_bv", align 8
  %7 = alloca %"class.sc_dt::sc_lv", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.sc_dt::sc_signed", align 8
  %11 = alloca %"class.sc_dt::sc_unsigned", align 8
  %12 = alloca %"class.sc_dt::sc_bitref", align 8
  %13 = alloca %"class.sc_dt::sc_bitref", align 8
  %14 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %15 = alloca %"class.sc_dt::sc_logic", align 4
  %16 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %"class.sc_dt::sc_subref", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.sc_dt::sc_subref", align 8
  %24 = alloca %"class.sc_dt::sc_subref.6", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.sc_dt::sc_subref.6", align 8
  %27 = alloca %"class.sc_dt::sc_signed", align 8
  %28 = alloca %"class.sc_dt::sc_unsigned", align 8
  %29 = alloca %"class.sc_dt::sc_subref", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.sc_dt::sc_subref", align 8
  %32 = alloca %"class.sc_dt::sc_subref.6", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.sc_dt::sc_subref.6", align 8
  %35 = alloca %"class.sc_dt::sc_signed", align 8
  %36 = alloca %"class.sc_dt::sc_unsigned", align 8
  %37 = alloca %"class.sc_dt::sc_subref", align 8
  %38 = alloca %"class.sc_dt::sc_subref.6", align 8
  %39 = alloca %"class.sc_dt::sc_signed", align 8
  %40 = alloca %"class.sc_dt::sc_unsigned", align 8
  %41 = alloca %"class.sc_dt::sc_bv.11", align 8
  %42 = alloca %"class.sc_dt::sc_bv.11", align 8
  %43 = alloca %"class.sc_dt::sc_bv.12", align 8
  %44 = alloca %"class.sc_dt::sc_subref", align 8
  %45 = alloca %"class.sc_dt::sc_subref", align 8
  %46 = alloca %"class.sc_dt::sc_concref", align 8
  %47 = alloca %"class.sc_dt::sc_bitref", align 8
  %48 = alloca %"class.sc_dt::sc_bitref", align 8
  %49 = alloca %"class.sc_dt::sc_bitref", align 8
  %50 = alloca %"class.sc_dt::sc_bitref", align 8
  %51 = alloca %"class.sc_dt::sc_subref", align 8
  %52 = alloca %"class.sc_dt::sc_subref", align 8
  %53 = alloca %"class.sc_dt::sc_concref", align 8
  %54 = alloca %"class.sc_dt::sc_bitref", align 8
  %55 = alloca %"class.sc_dt::sc_bitref", align 8
  %56 = alloca %"class.sc_dt::sc_bitref", align 8
  %57 = alloca %"class.sc_dt::sc_bitref", align 8
  %58 = alloca %"class.sc_dt::sc_subref", align 8
  %59 = alloca %"class.sc_dt::sc_subref", align 8
  %60 = alloca %"class.sc_dt::sc_lv.14", align 8
  %61 = alloca %"class.sc_dt::sc_lv.14", align 8
  %62 = alloca %"class.sc_dt::sc_lv.15", align 8
  %63 = alloca %"class.sc_dt::sc_subref.6", align 8
  %64 = alloca %"class.sc_dt::sc_subref.6", align 8
  %65 = alloca %"class.sc_dt::sc_concref.16", align 8
  %66 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %67 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %68 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %69 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %70 = alloca %"class.sc_dt::sc_subref.6", align 8
  %71 = alloca %"class.sc_dt::sc_subref.6", align 8
  %72 = alloca %"class.sc_dt::sc_concref.16", align 8
  %73 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %74 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %75 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %76 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %77 = alloca %"class.sc_dt::sc_subref.6", align 8
  %78 = alloca %"class.sc_dt::sc_subref.6", align 8
  %79 = alloca %"class.sc_dt::sc_signed", align 8
  %80 = alloca %"class.sc_dt::sc_signed", align 8
  %81 = alloca %"class.sc_dt::sc_unsigned", align 8
  %82 = alloca %"class.sc_dt::sc_unsigned", align 8
  store i32 %0, ptr %3, align 4, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #6
  call void @_ZN5sc_dt5sc_bvILi325EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6)
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  invoke void @_ZN5sc_dt5sc_lvILi142EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %83 unwind label %103

83:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef 103)
          to label %84 unwind label %107

84:                                               ; preds = %83
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef 291)
          to label %85 unwind label %111

85:                                               ; preds = %84
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %86

86:                                               ; preds = %100, %85
  %87 = load i32, ptr %5, align 4, !tbaa !5
  %88 = icmp slt i32 %87, 325
  br i1 %88, label %89, label %119

89:                                               ; preds = %86
  %90 = load i32, ptr %5, align 4, !tbaa !5
  %91 = and i32 %90, 1
  %92 = load i32, ptr %5, align 4, !tbaa !5
  %93 = ashr i32 %92, 1
  %94 = and i32 %93, 1
  %95 = xor i32 %91, %94
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #6
  %96 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %12, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %96)
          to label %97 unwind label %115

97:                                               ; preds = %89
  %98 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_bv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12) %12, i32 noundef %95)
          to label %99 unwind label %115

99:                                               ; preds = %97
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #6
  br label %100

100:                                              ; preds = %99
  %101 = load i32, ptr %5, align 4, !tbaa !5
  %102 = add nsw i32 %101, 1
  store i32 %102, ptr %5, align 4, !tbaa !5
  br label %86, !llvm.loop !11

103:                                              ; preds = %2
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %8, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %9, align 4
  br label %1300

107:                                              ; preds = %83
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %8, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %9, align 4
  br label %1299

111:                                              ; preds = %84
  %112 = landingpad { ptr, i32 }
          cleanup
  %113 = extractvalue { ptr, i32 } %112, 0
  store ptr %113, ptr %8, align 8
  %114 = extractvalue { ptr, i32 } %112, 1
  store i32 %114, ptr %9, align 4
  br label %1298

115:                                              ; preds = %97, %89
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %8, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #6
  br label %1297

119:                                              ; preds = %86
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %120

120:                                              ; preds = %141, %119
  %121 = load i32, ptr %5, align 4, !tbaa !5
  %122 = icmp slt i32 %121, 325
  br i1 %122, label %123, label %148

123:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #6
  %124 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %13, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %124)
          to label %125 unwind label %144

125:                                              ; preds = %123
  %126 = invoke noundef zeroext i1 @_ZNK5sc_dt11sc_bitref_rINS_10sc_bv_baseEEcvKbEv(ptr noundef nonnull align 8 dereferenceable(12) %13)
          to label %127 unwind label %144

127:                                              ; preds = %125
  %128 = zext i1 %126 to i32
  %129 = load i32, ptr %5, align 4, !tbaa !5
  %130 = and i32 %129, 1
  %131 = load i32, ptr %5, align 4, !tbaa !5
  %132 = ashr i32 %131, 1
  %133 = and i32 %132, 1
  %134 = xor i32 %130, %133
  %135 = icmp eq i32 %128, %134
  br i1 %135, label %136, label %137

136:                                              ; preds = %127
  br label %139

137:                                              ; preds = %127
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str, ptr noundef @.str.2, i32 noundef 54)
          to label %138 unwind label %144

138:                                              ; preds = %137
  br label %139

139:                                              ; preds = %138, %136
  %140 = phi i32 [ 0, %136 ], [ 0, %138 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #6
  br label %141

141:                                              ; preds = %139
  %142 = load i32, ptr %5, align 4, !tbaa !5
  %143 = add nsw i32 %142, 1
  store i32 %143, ptr %5, align 4, !tbaa !5
  br label %120, !llvm.loop !13

144:                                              ; preds = %137, %125, %123
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %8, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #6
  br label %1297

148:                                              ; preds = %120
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %149

149:                                              ; preds = %163, %148
  %150 = load i32, ptr %5, align 4, !tbaa !5
  %151 = icmp slt i32 %150, 142
  br i1 %151, label %152, label %170

152:                                              ; preds = %149
  %153 = load i32, ptr %5, align 4, !tbaa !5
  %154 = and i32 %153, 1
  %155 = load i32, ptr %5, align 4, !tbaa !5
  %156 = ashr i32 %155, 2
  %157 = and i32 %156, 1
  %158 = xor i32 %154, %157
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #6
  %159 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %159)
          to label %160 unwind label %166

160:                                              ; preds = %152
  %161 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_lv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12) %14, i32 noundef %158)
          to label %162 unwind label %166

162:                                              ; preds = %160
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #6
  br label %163

163:                                              ; preds = %162
  %164 = load i32, ptr %5, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr %5, align 4, !tbaa !5
  br label %149, !llvm.loop !14

166:                                              ; preds = %160, %152
  %167 = landingpad { ptr, i32 }
          cleanup
  %168 = extractvalue { ptr, i32 } %167, 0
  store ptr %168, ptr %8, align 8
  %169 = extractvalue { ptr, i32 } %167, 1
  store i32 %169, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #6
  br label %1297

170:                                              ; preds = %149
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %171

171:                                              ; preds = %191, %170
  %172 = load i32, ptr %5, align 4, !tbaa !5
  %173 = icmp slt i32 %172, 142
  br i1 %173, label %174, label %203

174:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #6
  %175 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %16, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %175)
          to label %176 unwind label %194

176:                                              ; preds = %174
  invoke void @_ZNK5sc_dt11sc_bitref_rINS_10sc_lv_baseEEcvKNS_8sc_logicEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_logic") align 4 %15, ptr noundef nonnull align 8 dereferenceable(12) %16)
          to label %177 unwind label %194

177:                                              ; preds = %176
  %178 = load i32, ptr %5, align 4, !tbaa !5
  %179 = and i32 %178, 1
  %180 = load i32, ptr %5, align 4, !tbaa !5
  %181 = ashr i32 %180, 2
  %182 = and i32 %181, 1
  %183 = xor i32 %179, %182
  %184 = invoke noundef zeroext i1 @_ZN5sc_dteqERKNS_8sc_logicEi(ptr noundef nonnull align 4 dereferenceable(4) %15, i32 noundef %183)
          to label %185 unwind label %198

185:                                              ; preds = %177
  br i1 %184, label %186, label %187

186:                                              ; preds = %185
  br label %189

187:                                              ; preds = %185
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.3, ptr noundef @.str.2, i32 noundef 61)
          to label %188 unwind label %198

188:                                              ; preds = %187
  br label %189

189:                                              ; preds = %188, %186
  %190 = phi i32 [ 0, %186 ], [ 0, %188 ]
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %15) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %191

191:                                              ; preds = %189
  %192 = load i32, ptr %5, align 4, !tbaa !5
  %193 = add nsw i32 %192, 1
  store i32 %193, ptr %5, align 4, !tbaa !5
  br label %171, !llvm.loop !15

194:                                              ; preds = %176, %174
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %8, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %9, align 4
  br label %202

198:                                              ; preds = %187, %177
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %8, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %9, align 4
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %15) #6
  br label %202

202:                                              ; preds = %198, %194
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %1297

203:                                              ; preds = %171
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %204

204:                                              ; preds = %221, %203
  %205 = load i32, ptr %5, align 4, !tbaa !5
  %206 = icmp slt i32 %205, 103
  br i1 %206, label %207, label %228

207:                                              ; preds = %204
  %208 = load i32, ptr %5, align 4, !tbaa !5
  %209 = ashr i32 %208, 2
  %210 = and i32 %209, 1
  %211 = load i32, ptr %5, align 4, !tbaa !5
  %212 = ashr i32 %211, 1
  %213 = and i32 %212, 1
  %214 = xor i32 %210, %213
  %215 = icmp ne i32 %214, 0
  %216 = load i32, ptr %5, align 4, !tbaa !5
  %217 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %216)
          to label %218 unwind label %224

218:                                              ; preds = %207
  %219 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt16sc_signed_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %217, i1 noundef zeroext %215)
          to label %220 unwind label %224

220:                                              ; preds = %218
  br label %221

221:                                              ; preds = %220
  %222 = load i32, ptr %5, align 4, !tbaa !5
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr %5, align 4, !tbaa !5
  br label %204, !llvm.loop !16

224:                                              ; preds = %329, %327, %325, %323, %316, %314, %307, %305, %298, %284, %281, %271, %260, %249, %235, %232, %218, %207
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %8, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %9, align 4
  br label %1297

228:                                              ; preds = %204
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %229

229:                                              ; preds = %253, %228
  %230 = load i32, ptr %5, align 4, !tbaa !5
  %231 = icmp slt i32 %230, 103
  br i1 %231, label %232, label %256

232:                                              ; preds = %229
  %233 = load i32, ptr %5, align 4, !tbaa !5
  %234 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %233)
          to label %235 unwind label %224

235:                                              ; preds = %232
  %236 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %234)
          to label %237 unwind label %224

237:                                              ; preds = %235
  %238 = icmp ne i64 %236, 0
  %239 = zext i1 %238 to i32
  %240 = load i32, ptr %5, align 4, !tbaa !5
  %241 = ashr i32 %240, 2
  %242 = and i32 %241, 1
  %243 = load i32, ptr %5, align 4, !tbaa !5
  %244 = ashr i32 %243, 1
  %245 = and i32 %244, 1
  %246 = xor i32 %242, %245
  %247 = icmp eq i32 %239, %246
  br i1 %247, label %248, label %249

248:                                              ; preds = %237
  br label %251

249:                                              ; preds = %237
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.4, ptr noundef @.str.2, i32 noundef 67)
          to label %250 unwind label %224

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250, %248
  %252 = phi i32 [ 0, %248 ], [ 0, %250 ]
  br label %253

253:                                              ; preds = %251
  %254 = load i32, ptr %5, align 4, !tbaa !5
  %255 = add nsw i32 %254, 1
  store i32 %255, ptr %5, align 4, !tbaa !5
  br label %229, !llvm.loop !17

256:                                              ; preds = %229
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %257

257:                                              ; preds = %274, %256
  %258 = load i32, ptr %5, align 4, !tbaa !5
  %259 = icmp slt i32 %258, 291
  br i1 %259, label %260, label %277

260:                                              ; preds = %257
  %261 = load i32, ptr %5, align 4, !tbaa !5
  %262 = ashr i32 %261, 3
  %263 = and i32 %262, 1
  %264 = load i32, ptr %5, align 4, !tbaa !5
  %265 = ashr i32 %264, 1
  %266 = and i32 %265, 1
  %267 = xor i32 %263, %266
  %268 = icmp ne i32 %267, 0
  %269 = load i32, ptr %5, align 4, !tbaa !5
  %270 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %269)
          to label %271 unwind label %224

271:                                              ; preds = %260
  %272 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt18sc_unsigned_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %270, i1 noundef zeroext %268)
          to label %273 unwind label %224

273:                                              ; preds = %271
  br label %274

274:                                              ; preds = %273
  %275 = load i32, ptr %5, align 4, !tbaa !5
  %276 = add nsw i32 %275, 1
  store i32 %276, ptr %5, align 4, !tbaa !5
  br label %257, !llvm.loop !18

277:                                              ; preds = %257
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %278

278:                                              ; preds = %302, %277
  %279 = load i32, ptr %5, align 4, !tbaa !5
  %280 = icmp slt i32 %279, 291
  br i1 %280, label %281, label %305

281:                                              ; preds = %278
  %282 = load i32, ptr %5, align 4, !tbaa !5
  %283 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %282)
          to label %284 unwind label %224

284:                                              ; preds = %281
  %285 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %283)
          to label %286 unwind label %224

286:                                              ; preds = %284
  %287 = icmp ne i64 %285, 0
  %288 = zext i1 %287 to i32
  %289 = load i32, ptr %5, align 4, !tbaa !5
  %290 = ashr i32 %289, 3
  %291 = and i32 %290, 1
  %292 = load i32, ptr %5, align 4, !tbaa !5
  %293 = ashr i32 %292, 1
  %294 = and i32 %293, 1
  %295 = xor i32 %291, %294
  %296 = icmp eq i32 %288, %295
  br i1 %296, label %297, label %298

297:                                              ; preds = %286
  br label %300

298:                                              ; preds = %286
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.5, ptr noundef @.str.2, i32 noundef 73)
          to label %299 unwind label %224

299:                                              ; preds = %298
  br label %300

300:                                              ; preds = %299, %297
  %301 = phi i32 [ 0, %297 ], [ 0, %299 ]
  br label %302

302:                                              ; preds = %300
  %303 = load i32, ptr %5, align 4, !tbaa !5
  %304 = add nsw i32 %303, 1
  store i32 %304, ptr %5, align 4, !tbaa !5
  br label %278, !llvm.loop !19

305:                                              ; preds = %278
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_10sc_bv_baseEEERSoS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %307 unwind label %224

307:                                              ; preds = %305
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %306, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %309 unwind label %224

309:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  invoke void @_ZNK5sc_dt8sc_proxyINS_10sc_bv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %310 unwind label %336

310:                                              ; preds = %309
  %311 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %312 unwind label %340

312:                                              ; preds = %310
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %311, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %314 unwind label %340

314:                                              ; preds = %312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_10sc_lv_baseEEERSoS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %316 unwind label %224

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %315, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %318 unwind label %224

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #6
  invoke void @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %7)
          to label %319 unwind label %345

319:                                              ; preds = %318
  %320 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %321 unwind label %349

321:                                              ; preds = %319
  %322 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %320, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %323 unwind label %349

323:                                              ; preds = %321
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  %324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %325 unwind label %224

325:                                              ; preds = %323
  %326 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %327 unwind label %224

327:                                              ; preds = %325
  %328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %329 unwind label %224

329:                                              ; preds = %327
  %330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %331 unwind label %224

331:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !5
  br label %332

332:                                              ; preds = %1292, %331
  %333 = load i32, ptr %19, align 4, !tbaa !5
  %334 = icmp slt i32 %333, 10
  br i1 %334, label %354, label %335

335:                                              ; preds = %332
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %1296

336:                                              ; preds = %309
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %8, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %9, align 4
  br label %344

340:                                              ; preds = %312, %310
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %8, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %344

344:                                              ; preds = %340, %336
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %1297

345:                                              ; preds = %318
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %8, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %9, align 4
  br label %353

349:                                              ; preds = %321, %319
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %8, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %353

353:                                              ; preds = %349, %345
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #6
  br label %1297

354:                                              ; preds = %332
  %355 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.6)
          to label %356 unwind label %484

356:                                              ; preds = %354
  %357 = load i32, ptr %19, align 4, !tbaa !5
  %358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %355, i32 noundef %357)
          to label %359 unwind label %484

359:                                              ; preds = %356
  %360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %361 unwind label %484

361:                                              ; preds = %359
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %362

362:                                              ; preds = %1274, %361
  %363 = load i32, ptr %5, align 4, !tbaa !5
  %364 = icmp slt i32 %363, 100
  br i1 %364, label %365, label %1291

365:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  %366 = load i32, ptr %19, align 4, !tbaa !5
  %367 = icmp eq i32 %366, 0
  br i1 %367, label %368, label %620

368:                                              ; preds = %365
  %369 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.7)
          to label %370 unwind label %488

370:                                              ; preds = %368
  %371 = load i32, ptr %5, align 4, !tbaa !5
  %372 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %369, i32 noundef %371)
          to label %373 unwind label %488

373:                                              ; preds = %370
  %374 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %375 unwind label %488

375:                                              ; preds = %373
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  %376 = load i32, ptr %5, align 4, !tbaa !5
  %377 = add nsw i32 %376, 224
  %378 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %21, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %377, i32 noundef %378)
          to label %379 unwind label %492

379:                                              ; preds = %375
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_bv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %381 unwind label %496

381:                                              ; preds = %379
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %383 unwind label %496

383:                                              ; preds = %381
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  %384 = load i32, ptr %5, align 4, !tbaa !5
  %385 = add nsw i32 %384, 224
  %386 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %23, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %385, i32 noundef %386)
          to label %387 unwind label %501

387:                                              ; preds = %383
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %388 unwind label %505

388:                                              ; preds = %387
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %390 unwind label %509

390:                                              ; preds = %388
  %391 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %389, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %392 unwind label %509

392:                                              ; preds = %390
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  %393 = load i32, ptr %5, align 4, !tbaa !5
  %394 = add nsw i32 %393, 41
  %395 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %24, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %394, i32 noundef %395)
          to label %396 unwind label %515

396:                                              ; preds = %392
  %397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %398 unwind label %519

398:                                              ; preds = %396
  %399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %397, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %400 unwind label %519

400:                                              ; preds = %398
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  %401 = load i32, ptr %5, align 4, !tbaa !5
  %402 = add nsw i32 %401, 41
  %403 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %402, i32 noundef %403)
          to label %404 unwind label %524

404:                                              ; preds = %400
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %405 unwind label %528

405:                                              ; preds = %404
  %406 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %407 unwind label %532

407:                                              ; preds = %405
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %406, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %409 unwind label %532

409:                                              ; preds = %407
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  %410 = load i32, ptr %5, align 4, !tbaa !5
  %411 = add nsw i32 %410, 2
  %412 = load i32, ptr %5, align 4, !tbaa !5
  %413 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %411, i32 noundef %412)
          to label %414 unwind label %538

414:                                              ; preds = %409
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(28) %413)
          to label %415 unwind label %538

415:                                              ; preds = %414
  %416 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %417 unwind label %542

417:                                              ; preds = %415
  %418 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %416, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %419 unwind label %542

419:                                              ; preds = %417
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #6
  %420 = load i32, ptr %5, align 4, !tbaa !5
  %421 = add nsw i32 %420, 190
  %422 = load i32, ptr %5, align 4, !tbaa !5
  %423 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %421, i32 noundef %422)
          to label %424 unwind label %547

424:                                              ; preds = %419
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_unsigned") align 8 %28, ptr noundef nonnull align 8 dereferenceable(28) %423)
          to label %425 unwind label %547

425:                                              ; preds = %424
  %426 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %427 unwind label %551

427:                                              ; preds = %425
  %428 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %426, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %429 unwind label %551

429:                                              ; preds = %427
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  %430 = load i32, ptr %5, align 4, !tbaa !5
  %431 = load i32, ptr %5, align 4, !tbaa !5
  %432 = add nsw i32 %431, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %430, i32 noundef %432)
          to label %433 unwind label %556

433:                                              ; preds = %429
  %434 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_bv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %435 unwind label %560

435:                                              ; preds = %433
  %436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %434, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %437 unwind label %560

437:                                              ; preds = %435
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  %438 = load i32, ptr %5, align 4, !tbaa !5
  %439 = load i32, ptr %5, align 4, !tbaa !5
  %440 = add nsw i32 %439, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %438, i32 noundef %440)
          to label %441 unwind label %565

441:                                              ; preds = %437
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %442 unwind label %569

442:                                              ; preds = %441
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %444 unwind label %573

444:                                              ; preds = %442
  %445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %443, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %446 unwind label %573

446:                                              ; preds = %444
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  %447 = load i32, ptr %5, align 4, !tbaa !5
  %448 = load i32, ptr %5, align 4, !tbaa !5
  %449 = add nsw i32 %448, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %32, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %447, i32 noundef %449)
          to label %450 unwind label %579

450:                                              ; preds = %446
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %452 unwind label %583

452:                                              ; preds = %450
  %453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %451, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %454 unwind label %583

454:                                              ; preds = %452
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  %455 = load i32, ptr %5, align 4, !tbaa !5
  %456 = load i32, ptr %5, align 4, !tbaa !5
  %457 = add nsw i32 %456, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %34, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %455, i32 noundef %457)
          to label %458 unwind label %588

458:                                              ; preds = %454
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %459 unwind label %592

459:                                              ; preds = %458
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %461 unwind label %596

461:                                              ; preds = %459
  %462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %460, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %463 unwind label %596

463:                                              ; preds = %461
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  %464 = load i32, ptr %5, align 4, !tbaa !5
  %465 = load i32, ptr %5, align 4, !tbaa !5
  %466 = add nsw i32 %465, 2
  %467 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %464, i32 noundef %466)
          to label %468 unwind label %602

468:                                              ; preds = %463
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(28) %467)
          to label %469 unwind label %602

469:                                              ; preds = %468
  %470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %471 unwind label %606

471:                                              ; preds = %469
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %470, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %473 unwind label %606

473:                                              ; preds = %471
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  %474 = load i32, ptr %5, align 4, !tbaa !5
  %475 = load i32, ptr %5, align 4, !tbaa !5
  %476 = add nsw i32 %475, 190
  %477 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %474, i32 noundef %476)
          to label %478 unwind label %611

478:                                              ; preds = %473
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_unsigned") align 8 %36, ptr noundef nonnull align 8 dereferenceable(28) %477)
          to label %479 unwind label %611

479:                                              ; preds = %478
  %480 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %481 unwind label %615

481:                                              ; preds = %479
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %480, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %483 unwind label %615

483:                                              ; preds = %481
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %641

484:                                              ; preds = %359, %356, %354
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %8, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %9, align 4
  br label %1295

488:                                              ; preds = %639, %634, %633, %628, %624, %620, %373, %370, %368
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %8, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %9, align 4
  br label %1290

492:                                              ; preds = %375
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %8, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %9, align 4
  br label %500

496:                                              ; preds = %381, %379
  %497 = landingpad { ptr, i32 }
          cleanup
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %8, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %21) #6
  br label %500

500:                                              ; preds = %496, %492
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %1290

501:                                              ; preds = %383
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %8, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %9, align 4
  br label %514

505:                                              ; preds = %387
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %8, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %9, align 4
  br label %513

509:                                              ; preds = %390, %388
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %8, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %513

513:                                              ; preds = %509, %505
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %23) #6
  br label %514

514:                                              ; preds = %513, %501
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %1290

515:                                              ; preds = %392
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %8, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %9, align 4
  br label %523

519:                                              ; preds = %398, %396
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %8, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %24) #6
  br label %523

523:                                              ; preds = %519, %515
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  br label %1290

524:                                              ; preds = %400
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %8, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %9, align 4
  br label %537

528:                                              ; preds = %404
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %8, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %9, align 4
  br label %536

532:                                              ; preds = %407, %405
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %8, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %536

536:                                              ; preds = %532, %528
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %26) #6
  br label %537

537:                                              ; preds = %536, %524
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %1290

538:                                              ; preds = %414, %409
  %539 = landingpad { ptr, i32 }
          cleanup
  %540 = extractvalue { ptr, i32 } %539, 0
  store ptr %540, ptr %8, align 8
  %541 = extractvalue { ptr, i32 } %539, 1
  store i32 %541, ptr %9, align 4
  br label %546

542:                                              ; preds = %417, %415
  %543 = landingpad { ptr, i32 }
          cleanup
  %544 = extractvalue { ptr, i32 } %543, 0
  store ptr %544, ptr %8, align 8
  %545 = extractvalue { ptr, i32 } %543, 1
  store i32 %545, ptr %9, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %546

546:                                              ; preds = %542, %538
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %1290

547:                                              ; preds = %424, %419
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %8, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %9, align 4
  br label %555

551:                                              ; preds = %427, %425
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %8, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %9, align 4
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %555

555:                                              ; preds = %551, %547
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  br label %1290

556:                                              ; preds = %429
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %8, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %9, align 4
  br label %564

560:                                              ; preds = %435, %433
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %8, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %29) #6
  br label %564

564:                                              ; preds = %560, %556
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  br label %1290

565:                                              ; preds = %437
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %8, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %9, align 4
  br label %578

569:                                              ; preds = %441
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %8, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %9, align 4
  br label %577

573:                                              ; preds = %444, %442
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %8, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %577

577:                                              ; preds = %573, %569
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %31) #6
  br label %578

578:                                              ; preds = %577, %565
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %1290

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

583:                                              ; preds = %452, %450
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %8, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %32) #6
  br label %587

587:                                              ; preds = %583, %579
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %1290

588:                                              ; preds = %454
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %8, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %9, align 4
  br label %601

592:                                              ; preds = %458
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %8, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %9, align 4
  br label %600

596:                                              ; preds = %461, %459
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %8, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %600

600:                                              ; preds = %596, %592
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %34) #6
  br label %601

601:                                              ; preds = %600, %588
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %1290

602:                                              ; preds = %468, %463
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %8, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %9, align 4
  br label %610

606:                                              ; preds = %471, %469
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %8, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %9, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %610

610:                                              ; preds = %606, %602
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  br label %1290

611:                                              ; preds = %478, %473
  %612 = landingpad { ptr, i32 }
          cleanup
  %613 = extractvalue { ptr, i32 } %612, 0
  store ptr %613, ptr %8, align 8
  %614 = extractvalue { ptr, i32 } %612, 1
  store i32 %614, ptr %9, align 4
  br label %619

615:                                              ; preds = %481, %479
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %8, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %9, align 4
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %619

619:                                              ; preds = %615, %611
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %1290

620:                                              ; preds = %365
  %621 = load i32, ptr %5, align 4, !tbaa !5
  %622 = add nsw i32 %621, 224
  %623 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %622, i32 noundef %623)
          to label %624 unwind label %488

624:                                              ; preds = %620
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %37) #6
  %625 = load i32, ptr %5, align 4, !tbaa !5
  %626 = add nsw i32 %625, 41
  %627 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %38, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %626, i32 noundef %627)
          to label %628 unwind label %488

628:                                              ; preds = %624
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %38) #6
  %629 = load i32, ptr %5, align 4, !tbaa !5
  %630 = add nsw i32 %629, 2
  %631 = load i32, ptr %5, align 4, !tbaa !5
  %632 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %630, i32 noundef %631)
          to label %633 unwind label %488

633:                                              ; preds = %628
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(28) %632)
          to label %634 unwind label %488

634:                                              ; preds = %633
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  %635 = load i32, ptr %5, align 4, !tbaa !5
  %636 = add nsw i32 %635, 190
  %637 = load i32, ptr %5, align 4, !tbaa !5
  %638 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %636, i32 noundef %637)
          to label %639 unwind label %488

639:                                              ; preds = %634
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_unsigned") align 8 %40, ptr noundef nonnull align 8 dereferenceable(28) %638)
          to label %640 unwind label %488

640:                                              ; preds = %639
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %641

641:                                              ; preds = %640, %483
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #6
  invoke void @_ZN5sc_dt5sc_bvILi225EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %642 unwind label %710

642:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #6
  invoke void @_ZN5sc_dt5sc_bvILi225EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42)
          to label %643 unwind label %714

643:                                              ; preds = %642
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #6
  invoke void @_ZN5sc_dt5sc_bvILi450EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %644 unwind label %718

644:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  %645 = load i32, ptr %5, align 4, !tbaa !5
  %646 = add nsw i32 %645, 224
  %647 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %44, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %646, i32 noundef %647)
          to label %648 unwind label %722

648:                                              ; preds = %644
  %649 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi225EEaSINS_11sc_subref_rINS_10sc_bv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %650 unwind label %726

650:                                              ; preds = %648
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  %651 = load i32, ptr %5, align 4, !tbaa !5
  %652 = load i32, ptr %5, align 4, !tbaa !5
  %653 = add nsw i32 %652, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %45, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %651, i32 noundef %653)
          to label %654 unwind label %731

654:                                              ; preds = %650
  %655 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi225EEaSINS_11sc_subref_rINS_10sc_bv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %656 unwind label %735

656:                                              ; preds = %654
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %46) #6
  invoke void @_ZN5sc_dtcmINS_10sc_bv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %46, ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %657 unwind label %740

657:                                              ; preds = %656
  %658 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi450EEaSINS_12sc_concref_rINS_10sc_bv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %659 unwind label %744

659:                                              ; preds = %657
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #6
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %660

660:                                              ; preds = %707, %659
  %661 = load i32, ptr %20, align 4, !tbaa !5
  %662 = icmp slt i32 %661, 225
  br i1 %662, label %663, label %785

663:                                              ; preds = %660
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #6
  %664 = load i32, ptr %20, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %41, i32 noundef %664)
          to label %665 unwind label %749

665:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #6
  %666 = load i32, ptr %5, align 4, !tbaa !5
  %667 = load i32, ptr %20, align 4, !tbaa !5
  %668 = add nsw i32 %666, %667
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %668)
          to label %669 unwind label %753

669:                                              ; preds = %665
  %670 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %47, ptr noundef nonnull align 8 dereferenceable(12) %48)
          to label %671 unwind label %753

671:                                              ; preds = %669
  br i1 %670, label %672, label %673

672:                                              ; preds = %671
  br label %675

673:                                              ; preds = %671
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 117)
          to label %674 unwind label %753

674:                                              ; preds = %673
  br label %675

675:                                              ; preds = %674, %672
  %676 = phi i32 [ 0, %672 ], [ 0, %674 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #6
  %677 = load i32, ptr %20, align 4, !tbaa !5
  %678 = sub nsw i32 224, %677
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %49, ptr noundef nonnull align 8 dereferenceable(8) %42, i32 noundef %678)
          to label %679 unwind label %758

679:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #6
  %680 = load i32, ptr %5, align 4, !tbaa !5
  %681 = load i32, ptr %20, align 4, !tbaa !5
  %682 = add nsw i32 %680, %681
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %50, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %682)
          to label %683 unwind label %762

683:                                              ; preds = %679
  %684 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %49, ptr noundef nonnull align 8 dereferenceable(12) %50)
          to label %685 unwind label %762

685:                                              ; preds = %683
  br i1 %684, label %686, label %687

686:                                              ; preds = %685
  br label %689

687:                                              ; preds = %685
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 118)
          to label %688 unwind label %762

688:                                              ; preds = %687
  br label %689

689:                                              ; preds = %688, %686
  %690 = phi i32 [ 0, %686 ], [ 0, %688 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 449, i32 noundef 225)
          to label %691 unwind label %767

691:                                              ; preds = %689
  %692 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %693 unwind label %771

693:                                              ; preds = %691
  br i1 %692, label %694, label %695

694:                                              ; preds = %693
  br label %697

695:                                              ; preds = %693
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 119)
          to label %696 unwind label %771

696:                                              ; preds = %695
  br label %697

697:                                              ; preds = %696, %694
  %698 = phi i32 [ 0, %694 ], [ 0, %696 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 224, i32 noundef 0)
          to label %699 unwind label %776

699:                                              ; preds = %697
  %700 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %701 unwind label %780

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

702:                                              ; preds = %701
  br label %705

703:                                              ; preds = %701
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 120)
          to label %704 unwind label %780

704:                                              ; preds = %703
  br label %705

705:                                              ; preds = %704, %702
  %706 = phi i32 [ 0, %702 ], [ 0, %704 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %707

707:                                              ; preds = %705
  %708 = load i32, ptr %20, align 4, !tbaa !5
  %709 = add nsw i32 %708, 1
  store i32 %709, ptr %20, align 4, !tbaa !5
  br label %660, !llvm.loop !20

710:                                              ; preds = %641
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %8, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %9, align 4
  br label %1289

714:                                              ; preds = %642
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %8, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %9, align 4
  br label %1288

718:                                              ; preds = %643
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %8, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %9, align 4
  br label %1287

722:                                              ; preds = %644
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %8, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %9, align 4
  br label %730

726:                                              ; preds = %648
  %727 = landingpad { ptr, i32 }
          cleanup
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %8, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %44) #6
  br label %730

730:                                              ; preds = %726, %722
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %1286

731:                                              ; preds = %650
  %732 = landingpad { ptr, i32 }
          cleanup
  %733 = extractvalue { ptr, i32 } %732, 0
  store ptr %733, ptr %8, align 8
  %734 = extractvalue { ptr, i32 } %732, 1
  store i32 %734, ptr %9, align 4
  br label %739

735:                                              ; preds = %654
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %8, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %45) #6
  br label %739

739:                                              ; preds = %735, %731
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %1286

740:                                              ; preds = %656
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %8, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %9, align 4
  br label %748

744:                                              ; preds = %657
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %8, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %9, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  br label %748

748:                                              ; preds = %744, %740
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #6
  br label %1286

749:                                              ; preds = %663
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %8, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %9, align 4
  br label %757

753:                                              ; preds = %673, %669, %665
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %8, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #6
  br label %757

757:                                              ; preds = %753, %749
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #6
  br label %1286

758:                                              ; preds = %675
  %759 = landingpad { ptr, i32 }
          cleanup
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %8, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %9, align 4
  br label %766

762:                                              ; preds = %687, %683, %679
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %8, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  br label %766

766:                                              ; preds = %762, %758
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #6
  br label %1286

767:                                              ; preds = %689
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %8, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %9, align 4
  br label %775

771:                                              ; preds = %695, %691
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %8, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #6
  br label %775

775:                                              ; preds = %771, %767
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  br label %1286

776:                                              ; preds = %697
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %8, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %9, align 4
  br label %784

780:                                              ; preds = %703, %699
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %8, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %52) #6
  br label %784

784:                                              ; preds = %780, %776
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %1286

785:                                              ; preds = %660
  call void @llvm.lifetime.start.p0(i64 40, ptr %53) #6
  invoke void @_ZN5sc_dtcmINS_10sc_bv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_concref") align 8 %53, ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %786 unwind label %839

786:                                              ; preds = %785
  %787 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_bv_baseES1_EaSIS1_EERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %53, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %788 unwind label %843

788:                                              ; preds = %786
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %53) #6
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %789

789:                                              ; preds = %836, %788
  %790 = load i32, ptr %20, align 4, !tbaa !5
  %791 = icmp slt i32 %790, 225
  br i1 %791, label %792, label %884

792:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #6
  %793 = load i32, ptr %20, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %54, ptr noundef nonnull align 8 dereferenceable(8) %42, i32 noundef %793)
          to label %794 unwind label %848

794:                                              ; preds = %792
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #6
  %795 = load i32, ptr %5, align 4, !tbaa !5
  %796 = load i32, ptr %20, align 4, !tbaa !5
  %797 = add nsw i32 %795, %796
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %797)
          to label %798 unwind label %852

798:                                              ; preds = %794
  %799 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %54, ptr noundef nonnull align 8 dereferenceable(12) %55)
          to label %800 unwind label %852

800:                                              ; preds = %798
  br i1 %799, label %801, label %802

801:                                              ; preds = %800
  br label %804

802:                                              ; preds = %800
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 125)
          to label %803 unwind label %852

803:                                              ; preds = %802
  br label %804

804:                                              ; preds = %803, %801
  %805 = phi i32 [ 0, %801 ], [ 0, %803 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #6
  %806 = load i32, ptr %20, align 4, !tbaa !5
  %807 = sub nsw i32 224, %806
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %41, i32 noundef %807)
          to label %808 unwind label %857

808:                                              ; preds = %804
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #6
  %809 = load i32, ptr %5, align 4, !tbaa !5
  %810 = load i32, ptr %20, align 4, !tbaa !5
  %811 = add nsw i32 %809, %810
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %6, i32 noundef %811)
          to label %812 unwind label %861

812:                                              ; preds = %808
  %813 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %56, ptr noundef nonnull align 8 dereferenceable(12) %57)
          to label %814 unwind label %861

814:                                              ; preds = %812
  br i1 %813, label %815, label %816

815:                                              ; preds = %814
  br label %818

816:                                              ; preds = %814
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 126)
          to label %817 unwind label %861

817:                                              ; preds = %816
  br label %818

818:                                              ; preds = %817, %815
  %819 = phi i32 [ 0, %815 ], [ 0, %817 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %58, ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 449, i32 noundef 225)
          to label %820 unwind label %866

820:                                              ; preds = %818
  %821 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %822 unwind label %870

822:                                              ; preds = %820
  br i1 %821, label %823, label %824

823:                                              ; preds = %822
  br label %826

824:                                              ; preds = %822
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 127)
          to label %825 unwind label %870

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825, %823
  %827 = phi i32 [ 0, %823 ], [ 0, %825 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref") align 8 %59, ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 224, i32 noundef 0)
          to label %828 unwind label %875

828:                                              ; preds = %826
  %829 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %830 unwind label %879

830:                                              ; preds = %828
  br i1 %829, label %831, label %832

831:                                              ; preds = %830
  br label %834

832:                                              ; preds = %830
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 128)
          to label %833 unwind label %879

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %833, %831
  %835 = phi i32 [ 0, %831 ], [ 0, %833 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  br label %836

836:                                              ; preds = %834
  %837 = load i32, ptr %20, align 4, !tbaa !5
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr %20, align 4, !tbaa !5
  br label %789, !llvm.loop !21

839:                                              ; preds = %785
  %840 = landingpad { ptr, i32 }
          cleanup
  %841 = extractvalue { ptr, i32 } %840, 0
  store ptr %841, ptr %8, align 8
  %842 = extractvalue { ptr, i32 } %840, 1
  store i32 %842, ptr %9, align 4
  br label %847

843:                                              ; preds = %786
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %8, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %9, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #6
  br label %847

847:                                              ; preds = %843, %839
  call void @llvm.lifetime.end.p0(i64 40, ptr %53) #6
  br label %1286

848:                                              ; preds = %792
  %849 = landingpad { ptr, i32 }
          cleanup
  %850 = extractvalue { ptr, i32 } %849, 0
  store ptr %850, ptr %8, align 8
  %851 = extractvalue { ptr, i32 } %849, 1
  store i32 %851, ptr %9, align 4
  br label %856

852:                                              ; preds = %802, %798, %794
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %8, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #6
  br label %856

856:                                              ; preds = %852, %848
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #6
  br label %1286

857:                                              ; preds = %804
  %858 = landingpad { ptr, i32 }
          cleanup
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %8, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %9, align 4
  br label %865

861:                                              ; preds = %816, %812, %808
  %862 = landingpad { ptr, i32 }
          cleanup
  %863 = extractvalue { ptr, i32 } %862, 0
  store ptr %863, ptr %8, align 8
  %864 = extractvalue { ptr, i32 } %862, 1
  store i32 %864, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #6
  br label %865

865:                                              ; preds = %861, %857
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #6
  br label %1286

866:                                              ; preds = %818
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %8, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %9, align 4
  br label %874

870:                                              ; preds = %824, %820
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %8, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %58) #6
  br label %874

874:                                              ; preds = %870, %866
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %1286

875:                                              ; preds = %826
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %8, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %9, align 4
  br label %883

879:                                              ; preds = %832, %828
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %8, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %59) #6
  br label %883

883:                                              ; preds = %879, %875
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #6
  br label %1286

884:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #6
  invoke void @_ZN5sc_dt5sc_lvILi42EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %885 unwind label %953

885:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #6
  invoke void @_ZN5sc_dt5sc_lvILi42EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %886 unwind label %957

886:                                              ; preds = %885
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  invoke void @_ZN5sc_dt5sc_lvILi84EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %887 unwind label %961

887:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  %888 = load i32, ptr %5, align 4, !tbaa !5
  %889 = add nsw i32 %888, 41
  %890 = load i32, ptr %5, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %63, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %889, i32 noundef %890)
          to label %891 unwind label %965

891:                                              ; preds = %887
  %892 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %893 unwind label %969

893:                                              ; preds = %891
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  %894 = load i32, ptr %5, align 4, !tbaa !5
  %895 = load i32, ptr %5, align 4, !tbaa !5
  %896 = add nsw i32 %895, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %64, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %894, i32 noundef %896)
          to label %897 unwind label %974

897:                                              ; preds = %893
  %898 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %899 unwind label %978

899:                                              ; preds = %897
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #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.16") align 8 %65, ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %900 unwind label %983

900:                                              ; preds = %899
  %901 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi84EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(8) %65)
          to label %902 unwind label %987

902:                                              ; preds = %900
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %903

903:                                              ; preds = %950, %902
  %904 = load i32, ptr %20, align 4, !tbaa !5
  %905 = icmp slt i32 %904, 42
  br i1 %905, label %906, label %1028

906:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #6
  %907 = load i32, ptr %20, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %66, ptr noundef nonnull align 8 dereferenceable(8) %60, i32 noundef %907)
          to label %908 unwind label %992

908:                                              ; preds = %906
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #6
  %909 = load i32, ptr %5, align 4, !tbaa !5
  %910 = load i32, ptr %20, align 4, !tbaa !5
  %911 = add nsw i32 %909, %910
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %67, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %911)
          to label %912 unwind label %996

912:                                              ; preds = %908
  %913 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %66, ptr noundef nonnull align 8 dereferenceable(12) %67)
          to label %914 unwind label %996

914:                                              ; preds = %912
  br i1 %913, label %915, label %916

915:                                              ; preds = %914
  br label %918

916:                                              ; preds = %914
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 138)
          to label %917 unwind label %996

917:                                              ; preds = %916
  br label %918

918:                                              ; preds = %917, %915
  %919 = phi i32 [ 0, %915 ], [ 0, %917 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #6
  %920 = load i32, ptr %20, align 4, !tbaa !5
  %921 = sub nsw i32 41, %920
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %68, ptr noundef nonnull align 8 dereferenceable(8) %61, i32 noundef %921)
          to label %922 unwind label %1001

922:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #6
  %923 = load i32, ptr %5, align 4, !tbaa !5
  %924 = load i32, ptr %20, align 4, !tbaa !5
  %925 = add nsw i32 %923, %924
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %925)
          to label %926 unwind label %1005

926:                                              ; preds = %922
  %927 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %68, ptr noundef nonnull align 8 dereferenceable(12) %69)
          to label %928 unwind label %1005

928:                                              ; preds = %926
  br i1 %927, label %929, label %930

929:                                              ; preds = %928
  br label %932

930:                                              ; preds = %928
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 139)
          to label %931 unwind label %1005

931:                                              ; preds = %930
  br label %932

932:                                              ; preds = %931, %929
  %933 = phi i32 [ 0, %929 ], [ 0, %931 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %70, ptr noundef nonnull align 8 dereferenceable(8) %62, i32 noundef 83, i32 noundef 42)
          to label %934 unwind label %1010

934:                                              ; preds = %932
  %935 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %936 unwind label %1014

936:                                              ; preds = %934
  br i1 %935, label %937, label %938

937:                                              ; preds = %936
  br label %940

938:                                              ; preds = %936
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 140)
          to label %939 unwind label %1014

939:                                              ; preds = %938
  br label %940

940:                                              ; preds = %939, %937
  %941 = phi i32 [ 0, %937 ], [ 0, %939 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %62, i32 noundef 41, i32 noundef 0)
          to label %942 unwind label %1019

942:                                              ; preds = %940
  %943 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %944 unwind label %1023

944:                                              ; preds = %942
  br i1 %943, label %945, label %946

945:                                              ; preds = %944
  br label %948

946:                                              ; preds = %944
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 141)
          to label %947 unwind label %1023

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947, %945
  %949 = phi i32 [ 0, %945 ], [ 0, %947 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  br label %950

950:                                              ; preds = %948
  %951 = load i32, ptr %20, align 4, !tbaa !5
  %952 = add nsw i32 %951, 1
  store i32 %952, ptr %20, align 4, !tbaa !5
  br label %903, !llvm.loop !22

953:                                              ; preds = %884
  %954 = landingpad { ptr, i32 }
          cleanup
  %955 = extractvalue { ptr, i32 } %954, 0
  store ptr %955, ptr %8, align 8
  %956 = extractvalue { ptr, i32 } %954, 1
  store i32 %956, ptr %9, align 4
  br label %1285

957:                                              ; preds = %885
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %8, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %9, align 4
  br label %1284

961:                                              ; preds = %886
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %8, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %9, align 4
  br label %1283

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

969:                                              ; preds = %891
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %8, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %63) #6
  br label %973

973:                                              ; preds = %969, %965
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %1282

974:                                              ; preds = %893
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %8, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %9, align 4
  br label %982

978:                                              ; preds = %897
  %979 = landingpad { ptr, i32 }
          cleanup
  %980 = extractvalue { ptr, i32 } %979, 0
  store ptr %980, ptr %8, align 8
  %981 = extractvalue { ptr, i32 } %979, 1
  store i32 %981, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %64) #6
  br label %982

982:                                              ; preds = %978, %974
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  br label %1282

983:                                              ; preds = %899
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %8, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %9, align 4
  br label %991

987:                                              ; preds = %900
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %8, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %9, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  br label %991

991:                                              ; preds = %987, %983
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #6
  br label %1282

992:                                              ; preds = %906
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %8, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %9, align 4
  br label %1000

996:                                              ; preds = %916, %912, %908
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %8, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #6
  br label %1000

1000:                                             ; preds = %996, %992
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #6
  br label %1282

1001:                                             ; preds = %918
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %8, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %9, align 4
  br label %1009

1005:                                             ; preds = %930, %926, %922
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %8, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #6
  br label %1009

1009:                                             ; preds = %1005, %1001
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #6
  br label %1282

1010:                                             ; preds = %932
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %8, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %9, align 4
  br label %1018

1014:                                             ; preds = %938, %934
  %1015 = landingpad { ptr, i32 }
          cleanup
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %8, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %70) #6
  br label %1018

1018:                                             ; preds = %1014, %1010
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  br label %1282

1019:                                             ; preds = %940
  %1020 = landingpad { ptr, i32 }
          cleanup
  %1021 = extractvalue { ptr, i32 } %1020, 0
  store ptr %1021, ptr %8, align 8
  %1022 = extractvalue { ptr, i32 } %1020, 1
  store i32 %1022, ptr %9, align 4
  br label %1027

1023:                                             ; preds = %946, %942
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %8, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %71) #6
  br label %1027

1027:                                             ; preds = %1023, %1019
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  br label %1282

1028:                                             ; preds = %903
  call void @llvm.lifetime.start.p0(i64 40, ptr %72) #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.16") align 8 %72, ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %1029 unwind label %1082

1029:                                             ; preds = %1028
  %1030 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSIS1_EERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %72, ptr noundef nonnull align 8 dereferenceable(8) %62)
          to label %1031 unwind label %1086

1031:                                             ; preds = %1029
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %1032

1032:                                             ; preds = %1079, %1031
  %1033 = load i32, ptr %20, align 4, !tbaa !5
  %1034 = icmp slt i32 %1033, 42
  br i1 %1034, label %1035, label %1127

1035:                                             ; preds = %1032
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #6
  %1036 = load i32, ptr %20, align 4, !tbaa !5
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %73, ptr noundef nonnull align 8 dereferenceable(8) %61, i32 noundef %1036)
          to label %1037 unwind label %1091

1037:                                             ; preds = %1035
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #6
  %1038 = load i32, ptr %5, align 4, !tbaa !5
  %1039 = load i32, ptr %20, align 4, !tbaa !5
  %1040 = add nsw i32 %1038, %1039
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %74, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %1040)
          to label %1041 unwind label %1095

1041:                                             ; preds = %1037
  %1042 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %73, ptr noundef nonnull align 8 dereferenceable(12) %74)
          to label %1043 unwind label %1095

1043:                                             ; preds = %1041
  br i1 %1042, label %1044, label %1045

1044:                                             ; preds = %1043
  br label %1047

1045:                                             ; preds = %1043
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 146)
          to label %1046 unwind label %1095

1046:                                             ; preds = %1045
  br label %1047

1047:                                             ; preds = %1046, %1044
  %1048 = phi i32 [ 0, %1044 ], [ 0, %1046 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #6
  %1049 = load i32, ptr %20, align 4, !tbaa !5
  %1050 = sub nsw i32 41, %1049
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %75, ptr noundef nonnull align 8 dereferenceable(8) %60, i32 noundef %1050)
          to label %1051 unwind label %1100

1051:                                             ; preds = %1047
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #6
  %1052 = load i32, ptr %5, align 4, !tbaa !5
  %1053 = load i32, ptr %20, align 4, !tbaa !5
  %1054 = add nsw i32 %1052, %1053
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_bitref.1") align 8 %76, ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef %1054)
          to label %1055 unwind label %1104

1055:                                             ; preds = %1051
  %1056 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %75, ptr noundef nonnull align 8 dereferenceable(12) %76)
          to label %1057 unwind label %1104

1057:                                             ; preds = %1055
  br i1 %1056, label %1058, label %1059

1058:                                             ; preds = %1057
  br label %1061

1059:                                             ; preds = %1057
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 147)
          to label %1060 unwind label %1104

1060:                                             ; preds = %1059
  br label %1061

1061:                                             ; preds = %1060, %1058
  %1062 = phi i32 [ 0, %1058 ], [ 0, %1060 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %77, ptr noundef nonnull align 8 dereferenceable(8) %62, i32 noundef 83, i32 noundef 42)
          to label %1063 unwind label %1109

1063:                                             ; preds = %1061
  %1064 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %1065 unwind label %1113

1065:                                             ; preds = %1063
  br i1 %1064, label %1066, label %1067

1066:                                             ; preds = %1065
  br label %1069

1067:                                             ; preds = %1065
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 148)
          to label %1068 unwind label %1113

1068:                                             ; preds = %1067
  br label %1069

1069:                                             ; preds = %1068, %1066
  %1070 = phi i32 [ 0, %1066 ], [ 0, %1068 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_subref.6") align 8 %78, ptr noundef nonnull align 8 dereferenceable(8) %62, i32 noundef 41, i32 noundef 0)
          to label %1071 unwind label %1118

1071:                                             ; preds = %1069
  %1072 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %1073 unwind label %1122

1073:                                             ; preds = %1071
  br i1 %1072, label %1074, label %1075

1074:                                             ; preds = %1073
  br label %1077

1075:                                             ; preds = %1073
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 149)
          to label %1076 unwind label %1122

1076:                                             ; preds = %1075
  br label %1077

1077:                                             ; preds = %1076, %1074
  %1078 = phi i32 [ 0, %1074 ], [ 0, %1076 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  br label %1079

1079:                                             ; preds = %1077
  %1080 = load i32, ptr %20, align 4, !tbaa !5
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr %20, align 4, !tbaa !5
  br label %1032, !llvm.loop !23

1082:                                             ; preds = %1028
  %1083 = landingpad { ptr, i32 }
          cleanup
  %1084 = extractvalue { ptr, i32 } %1083, 0
  store ptr %1084, ptr %8, align 8
  %1085 = extractvalue { ptr, i32 } %1083, 1
  store i32 %1085, ptr %9, align 4
  br label %1090

1086:                                             ; preds = %1029
  %1087 = landingpad { ptr, i32 }
          cleanup
  %1088 = extractvalue { ptr, i32 } %1087, 0
  store ptr %1088, ptr %8, align 8
  %1089 = extractvalue { ptr, i32 } %1087, 1
  store i32 %1089, ptr %9, align 4
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  br label %1090

1090:                                             ; preds = %1086, %1082
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  br label %1282

1091:                                             ; preds = %1035
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %8, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %9, align 4
  br label %1099

1095:                                             ; preds = %1045, %1041, %1037
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %8, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #6
  br label %1099

1099:                                             ; preds = %1095, %1091
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #6
  br label %1282

1100:                                             ; preds = %1047
  %1101 = landingpad { ptr, i32 }
          cleanup
  %1102 = extractvalue { ptr, i32 } %1101, 0
  store ptr %1102, ptr %8, align 8
  %1103 = extractvalue { ptr, i32 } %1101, 1
  store i32 %1103, ptr %9, align 4
  br label %1108

1104:                                             ; preds = %1059, %1055, %1051
  %1105 = landingpad { ptr, i32 }
          cleanup
  %1106 = extractvalue { ptr, i32 } %1105, 0
  store ptr %1106, ptr %8, align 8
  %1107 = extractvalue { ptr, i32 } %1105, 1
  store i32 %1107, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #6
  br label %1108

1108:                                             ; preds = %1104, %1100
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #6
  br label %1282

1109:                                             ; preds = %1061
  %1110 = landingpad { ptr, i32 }
          cleanup
  %1111 = extractvalue { ptr, i32 } %1110, 0
  store ptr %1111, ptr %8, align 8
  %1112 = extractvalue { ptr, i32 } %1110, 1
  store i32 %1112, ptr %9, align 4
  br label %1117

1113:                                             ; preds = %1067, %1063
  %1114 = landingpad { ptr, i32 }
          cleanup
  %1115 = extractvalue { ptr, i32 } %1114, 0
  store ptr %1115, ptr %8, align 8
  %1116 = extractvalue { ptr, i32 } %1114, 1
  store i32 %1116, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %77) #6
  br label %1117

1117:                                             ; preds = %1113, %1109
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %1282

1118:                                             ; preds = %1069
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %8, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %9, align 4
  br label %1126

1122:                                             ; preds = %1075, %1071
  %1123 = landingpad { ptr, i32 }
          cleanup
  %1124 = extractvalue { ptr, i32 } %1123, 0
  store ptr %1124, ptr %8, align 8
  %1125 = extractvalue { ptr, i32 } %1123, 1
  store i32 %1125, ptr %9, align 4
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %78) #6
  br label %1126

1126:                                             ; preds = %1122, %1118
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  br label %1282

1127:                                             ; preds = %1032
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %79, i32 noundef 3)
          to label %1128 unwind label %1188

1128:                                             ; preds = %1127
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %80, i32 noundef 3)
          to label %1129 unwind label %1192

1129:                                             ; preds = %1128
  %1130 = load i32, ptr %5, align 4, !tbaa !5
  %1131 = add nsw i32 %1130, 2
  %1132 = load i32, ptr %5, align 4, !tbaa !5
  %1133 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %1131, i32 noundef %1132)
          to label %1134 unwind label %1196

1134:                                             ; preds = %1129
  %1135 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(28) %1133)
          to label %1136 unwind label %1196

1136:                                             ; preds = %1134
  %1137 = load i32, ptr %5, align 4, !tbaa !5
  %1138 = load i32, ptr %5, align 4, !tbaa !5
  %1139 = add nsw i32 %1138, 2
  %1140 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %1137, i32 noundef %1139)
          to label %1141 unwind label %1196

1141:                                             ; preds = %1136
  %1142 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(28) %1140)
          to label %1143 unwind label %1196

1143:                                             ; preds = %1141
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %1144

1144:                                             ; preds = %1185, %1143
  %1145 = load i32, ptr %20, align 4, !tbaa !5
  %1146 = icmp slt i32 %1145, 3
  br i1 %1146, label %1147, label %1200

1147:                                             ; preds = %1144
  %1148 = load i32, ptr %20, align 4, !tbaa !5
  %1149 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %79, i32 noundef %1148)
          to label %1150 unwind label %1196

1150:                                             ; preds = %1147
  %1151 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1149)
          to label %1152 unwind label %1196

1152:                                             ; preds = %1150
  %1153 = load i32, ptr %5, align 4, !tbaa !5
  %1154 = load i32, ptr %20, align 4, !tbaa !5
  %1155 = add nsw i32 %1153, %1154
  %1156 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %1155)
          to label %1157 unwind label %1196

1157:                                             ; preds = %1152
  %1158 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1156)
          to label %1159 unwind label %1196

1159:                                             ; preds = %1157
  %1160 = icmp eq i64 %1151, %1158
  br i1 %1160, label %1161, label %1162

1161:                                             ; preds = %1159
  br label %1164

1162:                                             ; preds = %1159
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 157)
          to label %1163 unwind label %1196

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163, %1161
  %1165 = phi i32 [ 0, %1161 ], [ 0, %1163 ]
  %1166 = load i32, ptr %20, align 4, !tbaa !5
  %1167 = sub nsw i32 2, %1166
  %1168 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %80, i32 noundef %1167)
          to label %1169 unwind label %1196

1169:                                             ; preds = %1164
  %1170 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1168)
          to label %1171 unwind label %1196

1171:                                             ; preds = %1169
  %1172 = load i32, ptr %5, align 4, !tbaa !5
  %1173 = load i32, ptr %20, align 4, !tbaa !5
  %1174 = add nsw i32 %1172, %1173
  %1175 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %1174)
          to label %1176 unwind label %1196

1176:                                             ; preds = %1171
  %1177 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1175)
          to label %1178 unwind label %1196

1178:                                             ; preds = %1176
  %1179 = icmp eq i64 %1170, %1177
  br i1 %1179, label %1180, label %1181

1180:                                             ; preds = %1178
  br label %1183

1181:                                             ; preds = %1178
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 158)
          to label %1182 unwind label %1196

1182:                                             ; preds = %1181
  br label %1183

1183:                                             ; preds = %1182, %1180
  %1184 = phi i32 [ 0, %1180 ], [ 0, %1182 ]
  br label %1185

1185:                                             ; preds = %1183
  %1186 = load i32, ptr %20, align 4, !tbaa !5
  %1187 = add nsw i32 %1186, 1
  store i32 %1187, ptr %20, align 4, !tbaa !5
  br label %1144, !llvm.loop !24

1188:                                             ; preds = %1127
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %8, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %9, align 4
  br label %1281

1192:                                             ; preds = %1128
  %1193 = landingpad { ptr, i32 }
          cleanup
  %1194 = extractvalue { ptr, i32 } %1193, 0
  store ptr %1194, ptr %8, align 8
  %1195 = extractvalue { ptr, i32 } %1193, 1
  store i32 %1195, ptr %9, align 4
  br label %1280

1196:                                             ; preds = %1181, %1176, %1171, %1169, %1164, %1162, %1157, %1152, %1150, %1147, %1141, %1136, %1134, %1129
  %1197 = landingpad { ptr, i32 }
          cleanup
  %1198 = extractvalue { ptr, i32 } %1197, 0
  store ptr %1198, ptr %8, align 8
  %1199 = extractvalue { ptr, i32 } %1197, 1
  store i32 %1199, ptr %9, align 4
  br label %1279

1200:                                             ; preds = %1144
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %81, i32 noundef 191)
          to label %1201 unwind label %1261

1201:                                             ; preds = %1200
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %82, i32 noundef 191)
          to label %1202 unwind label %1265

1202:                                             ; preds = %1201
  %1203 = load i32, ptr %5, align 4, !tbaa !5
  %1204 = add nsw i32 %1203, 190
  %1205 = load i32, ptr %5, align 4, !tbaa !5
  %1206 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %1204, i32 noundef %1205)
          to label %1207 unwind label %1269

1207:                                             ; preds = %1202
  %1208 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(28) %1206)
          to label %1209 unwind label %1269

1209:                                             ; preds = %1207
  %1210 = load i32, ptr %5, align 4, !tbaa !5
  %1211 = load i32, ptr %5, align 4, !tbaa !5
  %1212 = add nsw i32 %1211, 190
  %1213 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %1210, i32 noundef %1212)
          to label %1214 unwind label %1269

1214:                                             ; preds = %1209
  %1215 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(28) %1213)
          to label %1216 unwind label %1269

1216:                                             ; preds = %1214
  store i32 0, ptr %20, align 4, !tbaa !5
  br label %1217

1217:                                             ; preds = %1258, %1216
  %1218 = load i32, ptr %20, align 4, !tbaa !5
  %1219 = icmp slt i32 %1218, 191
  br i1 %1219, label %1220, label %1273

1220:                                             ; preds = %1217
  %1221 = load i32, ptr %20, align 4, !tbaa !5
  %1222 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %81, i32 noundef %1221)
          to label %1223 unwind label %1269

1223:                                             ; preds = %1220
  %1224 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1222)
          to label %1225 unwind label %1269

1225:                                             ; preds = %1223
  %1226 = load i32, ptr %5, align 4, !tbaa !5
  %1227 = load i32, ptr %20, align 4, !tbaa !5
  %1228 = add nsw i32 %1226, %1227
  %1229 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %1228)
          to label %1230 unwind label %1269

1230:                                             ; preds = %1225
  %1231 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1229)
          to label %1232 unwind label %1269

1232:                                             ; preds = %1230
  %1233 = icmp eq i64 %1224, %1231
  br i1 %1233, label %1234, label %1235

1234:                                             ; preds = %1232
  br label %1237

1235:                                             ; preds = %1232
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 166)
          to label %1236 unwind label %1269

1236:                                             ; preds = %1235
  br label %1237

1237:                                             ; preds = %1236, %1234
  %1238 = phi i32 [ 0, %1234 ], [ 0, %1236 ]
  %1239 = load i32, ptr %20, align 4, !tbaa !5
  %1240 = sub nsw i32 190, %1239
  %1241 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %82, i32 noundef %1240)
          to label %1242 unwind label %1269

1242:                                             ; preds = %1237
  %1243 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1241)
          to label %1244 unwind label %1269

1244:                                             ; preds = %1242
  %1245 = load i32, ptr %5, align 4, !tbaa !5
  %1246 = load i32, ptr %20, align 4, !tbaa !5
  %1247 = add nsw i32 %1245, %1246
  %1248 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %1247)
          to label %1249 unwind label %1269

1249:                                             ; preds = %1244
  %1250 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %1248)
          to label %1251 unwind label %1269

1251:                                             ; preds = %1249
  %1252 = icmp eq i64 %1243, %1250
  br i1 %1252, label %1253, label %1254

1253:                                             ; preds = %1251
  br label %1256

1254:                                             ; preds = %1251
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 167)
          to label %1255 unwind label %1269

1255:                                             ; preds = %1254
  br label %1256

1256:                                             ; preds = %1255, %1253
  %1257 = phi i32 [ 0, %1253 ], [ 0, %1255 ]
  br label %1258

1258:                                             ; preds = %1256
  %1259 = load i32, ptr %20, align 4, !tbaa !5
  %1260 = add nsw i32 %1259, 1
  store i32 %1260, ptr %20, align 4, !tbaa !5
  br label %1217, !llvm.loop !25

1261:                                             ; preds = %1200
  %1262 = landingpad { ptr, i32 }
          cleanup
  %1263 = extractvalue { ptr, i32 } %1262, 0
  store ptr %1263, ptr %8, align 8
  %1264 = extractvalue { ptr, i32 } %1262, 1
  store i32 %1264, ptr %9, align 4
  br label %1278

1265:                                             ; preds = %1201
  %1266 = landingpad { ptr, i32 }
          cleanup
  %1267 = extractvalue { ptr, i32 } %1266, 0
  store ptr %1267, ptr %8, align 8
  %1268 = extractvalue { ptr, i32 } %1266, 1
  store i32 %1268, ptr %9, align 4
  br label %1277

1269:                                             ; preds = %1254, %1249, %1244, %1242, %1237, %1235, %1230, %1225, %1223, %1220, %1214, %1209, %1207, %1202
  %1270 = landingpad { ptr, i32 }
          cleanup
  %1271 = extractvalue { ptr, i32 } %1270, 0
  store ptr %1271, ptr %8, align 8
  %1272 = extractvalue { ptr, i32 } %1270, 1
  store i32 %1272, ptr %9, align 4
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %1277

1273:                                             ; preds = %1217
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  br label %1274

1274:                                             ; preds = %1273
  %1275 = load i32, ptr %5, align 4, !tbaa !5
  %1276 = add nsw i32 %1275, 1
  store i32 %1276, ptr %5, align 4, !tbaa !5
  br label %362, !llvm.loop !26

1277:                                             ; preds = %1269, %1265
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %1278

1278:                                             ; preds = %1277, %1261
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  br label %1279

1279:                                             ; preds = %1278, %1196
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %1280

1280:                                             ; preds = %1279, %1192
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %1281

1281:                                             ; preds = %1280, %1188
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %1282

1282:                                             ; preds = %1281, %1126, %1117, %1108, %1099, %1090, %1027, %1018, %1009, %1000, %991, %982, %973
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %1283

1283:                                             ; preds = %1282, %961
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %1284

1284:                                             ; preds = %1283, %957
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %1285

1285:                                             ; preds = %1284, %953
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  br label %1286

1286:                                             ; preds = %1285, %883, %874, %865, %856, %847, %784, %775, %766, %757, %748, %739, %730
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #6
  br label %1287

1287:                                             ; preds = %1286, %718
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #6
  br label %1288

1288:                                             ; preds = %1287, %714
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #6
  br label %1289

1289:                                             ; preds = %1288, %710
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #6
  br label %1290

1290:                                             ; preds = %1289, %619, %610, %601, %587, %578, %564, %555, %546, %537, %523, %514, %500, %488
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  br label %1295

1291:                                             ; preds = %362
  br label %1292

1292:                                             ; preds = %1291
  %1293 = load i32, ptr %19, align 4, !tbaa !5
  %1294 = add nsw i32 %1293, 1
  store i32 %1294, ptr %19, align 4, !tbaa !5
  br label %332, !llvm.loop !27

1295:                                             ; preds = %1290, %484
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %1297

1296:                                             ; preds = %335
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  ret i32 0

1297:                                             ; preds = %1295, %353, %344, %224, %202, %166, %144, %115
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %1298

1298:                                             ; preds = %1297, %111
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %1299

1299:                                             ; preds = %1298, %107
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %1300

1300:                                             ; preds = %1299, %103
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #6
  br label %1301

1301:                                             ; preds = %1300
  %1302 = load ptr, ptr %8, align 8
  %1303 = load i32, ptr %9, align 4
  %1304 = insertvalue { ptr, i32 } poison, ptr %1302, 0
  %1305 = insertvalue { ptr, i32 } %1304, i32 %1303, 1
  resume { ptr, i32 } %1305
}

; 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_bvILi325EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

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

declare i32 @__gxx_personality_v0(...)

declare void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #2

declare void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_bv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12), i32 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK5sc_dt11sc_bitref_rINS_10sc_bv_baseEEcvKbEv(ptr noundef nonnull align 8 dereferenceable(12)) #0 align 2

declare void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqERKNS_8sc_logicEi(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) #3

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

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt16sc_signed_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #2

declare noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24)) #2

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt18sc_unsigned_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #2

declare noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24)) #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_10sc_bv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_10sc_bv_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: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #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.6") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

declare void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2

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

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

declare void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_unsigned") align 8, ptr noundef nonnull align 8 dereferenceable(28)) #2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_bv_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)) #3

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(12)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_bv_baseES1_EaSIS1_EERS2_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 void @_ZN5sc_dt5sc_lvILi42EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_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_lv_baseES1_EENS_10sc_concrefIT_T0_EERNS_8sc_proxyIS3_EERNS6_IS4_EE(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_concref.16") align 8, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi84EEaSINS_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 nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(12)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) #2

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) #2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_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: mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 #4 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 = { "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 = { 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 = { 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 = { 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, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = distinct !{!19, !12}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12}
!22 = distinct !{!22, !12}
!23 = distinct !{!23, !12}
!24 = distinct !{!24, !12}
!25 = distinct !{!25, !12}
!26 = distinct !{!26, !12}
!27 = distinct !{!27, !12}


; 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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.sc_dt::sc_bv" = type { %"class.sc_dt::sc_bv_base" }
%"class.sc_dt::sc_bv_base" = type { %"class.sc_dt::sc_proxy", i32, i32, ptr }
%"class.sc_dt::sc_proxy" = type { ptr }
%"class.sc_dt::sc_lv" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv_base" = type { %"class.sc_dt::sc_proxy.0", i32, i32, ptr, ptr }
%"class.sc_dt::sc_proxy.0" = type { ptr }
%"class.sc_dt::sc_signed" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_value_base" = type { ptr }
%"class.sc_dt::sc_unsigned" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_bitref" = type { %"class.sc_dt::sc_bitref_r.base", [4 x i8] }
%"class.sc_dt::sc_bitref_r.base" = type <{ ptr, i32 }>
%"class.sc_dt::sc_bitref.1" = type { %"class.sc_dt::sc_bitref_r.base.3", [4 x i8] }
%"class.sc_dt::sc_bitref_r.base.3" = type <{ ptr, i32 }>
%"class.sc_dt::sc_logic" = type { i32 }
%"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_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.5", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.5" = type { ptr }
%"class.sc_dt::sc_subref.6" = type { %"class.sc_dt::sc_subref_r.base.9", [4 x i8] }
%"class.sc_dt::sc_subref_r.base.9" = type <{ %"class.sc_dt::sc_proxy.8", ptr, i32, i32, i32 }>
%"class.sc_dt::sc_proxy.8" = type { ptr }
%"class.sc_dt::sc_bv.11" = type { %"class.sc_dt::sc_bv_base" }
%"class.sc_dt::sc_bv.12" = type { %"class.sc_dt::sc_bv_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.13", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.13" = type { ptr }
%"class.sc_dt::sc_lv.14" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_lv.15" = type { %"class.sc_dt::sc_lv_base" }
%"class.sc_dt::sc_concref.16" = type { %"class.sc_dt::sc_concref_r.17" }
%"class.sc_dt::sc_concref_r.17" = type { %"class.sc_dt::sc_proxy.18", ptr, ptr, i32, ptr }
%"class.sc_dt::sc_proxy.18" = type { ptr }

@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str = external hidden unnamed_addr constant [35 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [49 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [27 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @sc_main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.sc_dt::sc_bv", align 8
  %4 = alloca %"class.sc_dt::sc_lv", align 8
  %5 = alloca %"class.sc_dt::sc_signed", align 8
  %6 = alloca %"class.sc_dt::sc_unsigned", align 8
  %7 = alloca %"class.sc_dt::sc_bitref", align 8
  %8 = alloca %"class.sc_dt::sc_bitref", align 8
  %9 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %10 = alloca %"class.sc_dt::sc_logic", align 4
  %11 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.sc_dt::sc_subref", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.sc_dt::sc_subref", align 8
  %17 = alloca %"class.sc_dt::sc_subref.6", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.sc_dt::sc_subref.6", align 8
  %20 = alloca %"class.sc_dt::sc_signed", align 8
  %21 = alloca %"class.sc_dt::sc_unsigned", align 8
  %22 = alloca %"class.sc_dt::sc_subref", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.sc_dt::sc_subref", align 8
  %25 = alloca %"class.sc_dt::sc_subref.6", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.sc_dt::sc_subref.6", align 8
  %28 = alloca %"class.sc_dt::sc_signed", align 8
  %29 = alloca %"class.sc_dt::sc_unsigned", align 8
  %30 = alloca %"class.sc_dt::sc_subref", align 8
  %31 = alloca %"class.sc_dt::sc_subref.6", align 8
  %32 = alloca %"class.sc_dt::sc_signed", align 8
  %33 = alloca %"class.sc_dt::sc_unsigned", align 8
  %34 = alloca %"class.sc_dt::sc_bv.11", align 8
  %35 = alloca %"class.sc_dt::sc_bv.11", align 8
  %36 = alloca %"class.sc_dt::sc_bv.12", align 8
  %37 = alloca %"class.sc_dt::sc_subref", align 8
  %38 = alloca %"class.sc_dt::sc_subref", align 8
  %39 = alloca %"class.sc_dt::sc_concref", align 8
  %40 = alloca %"class.sc_dt::sc_bitref", align 8
  %41 = alloca %"class.sc_dt::sc_bitref", align 8
  %42 = alloca %"class.sc_dt::sc_bitref", align 8
  %43 = alloca %"class.sc_dt::sc_bitref", align 8
  %44 = alloca %"class.sc_dt::sc_subref", align 8
  %45 = alloca %"class.sc_dt::sc_subref", align 8
  %46 = alloca %"class.sc_dt::sc_concref", align 8
  %47 = alloca %"class.sc_dt::sc_bitref", align 8
  %48 = alloca %"class.sc_dt::sc_bitref", align 8
  %49 = alloca %"class.sc_dt::sc_bitref", align 8
  %50 = alloca %"class.sc_dt::sc_bitref", align 8
  %51 = alloca %"class.sc_dt::sc_subref", align 8
  %52 = alloca %"class.sc_dt::sc_subref", align 8
  %53 = alloca %"class.sc_dt::sc_lv.14", align 8
  %54 = alloca %"class.sc_dt::sc_lv.14", align 8
  %55 = alloca %"class.sc_dt::sc_lv.15", align 8
  %56 = alloca %"class.sc_dt::sc_subref.6", align 8
  %57 = alloca %"class.sc_dt::sc_subref.6", align 8
  %58 = alloca %"class.sc_dt::sc_concref.16", align 8
  %59 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %60 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %61 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %62 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %63 = alloca %"class.sc_dt::sc_subref.6", align 8
  %64 = alloca %"class.sc_dt::sc_subref.6", align 8
  %65 = alloca %"class.sc_dt::sc_concref.16", align 8
  %66 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %67 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %68 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %69 = alloca %"class.sc_dt::sc_bitref.1", align 8
  %70 = alloca %"class.sc_dt::sc_subref.6", align 8
  %71 = alloca %"class.sc_dt::sc_subref.6", align 8
  %72 = alloca %"class.sc_dt::sc_signed", align 8
  %73 = alloca %"class.sc_dt::sc_signed", align 8
  %74 = alloca %"class.sc_dt::sc_unsigned", align 8
  %75 = alloca %"class.sc_dt::sc_unsigned", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  call void @_ZN5sc_dt5sc_bvILi325EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  invoke void @_ZN5sc_dt5sc_lvILi142EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %76 unwind label %85

76:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef 103)
          to label %77 unwind label %87

77:                                               ; preds = %76
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef 291)
          to label %.preheader354 unwind label %89

.preheader354:                                    ; preds = %77, %83
  %.0213355 = phi i32 [ %84, %83 ], [ 0, %77 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %7, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %.0213355)
          to label %78 unwind label %91

78:                                               ; preds = %.preheader354
  %79 = lshr i32 %.0213355, 1
  %80 = xor i32 %79, %.0213355
  %81 = and i32 %80, 1
  %82 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_bv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12) %7, i32 noundef %81)
          to label %83 unwind label %91

83:                                               ; preds = %78
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #6
  %84 = add nuw nsw i32 %.0213355, 1
  %exitcond.not = icmp eq i32 %84, 325
  br i1 %exitcond.not, label %.preheader353, label %.preheader354, !llvm.loop !5

85:                                               ; preds = %2
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %793

87:                                               ; preds = %76
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %792

89:                                               ; preds = %77
  %90 = landingpad { ptr, i32 }
          cleanup
  br label %791

91:                                               ; preds = %78, %.preheader354
  %92 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #6
  br label %.loopexit.split-lp335

.preheader353:                                    ; preds = %83, %101
  %.1214356 = phi i32 [ %102, %101 ], [ 0, %83 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %8, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %.1214356)
          to label %93 unwind label %103

93:                                               ; preds = %.preheader353
  %94 = invoke noundef zeroext i1 @_ZNK5sc_dt11sc_bitref_rINS_10sc_bv_baseEEcvKbEv(ptr noundef nonnull align 8 dereferenceable(12) %8)
          to label %95 unwind label %103

95:                                               ; preds = %93
  %96 = lshr i32 %.1214356, 1
  %97 = xor i32 %96, %.1214356
  %98 = trunc i32 %97 to i1
  %99 = xor i1 %94, %98
  br i1 %99, label %100, label %101

100:                                              ; preds = %95
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str, ptr noundef nonnull @.str.2, i32 noundef 54)
          to label %101 unwind label %103

101:                                              ; preds = %100, %95
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #6
  %102 = add nuw nsw i32 %.1214356, 1
  %exitcond371.not = icmp eq i32 %102, 325
  br i1 %exitcond371.not, label %.preheader352, label %.preheader353, !llvm.loop !7

103:                                              ; preds = %100, %93, %.preheader353
  %104 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #6
  br label %.loopexit.split-lp335

.preheader352:                                    ; preds = %101, %110
  %.2215357 = phi i32 [ %111, %110 ], [ 0, %101 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %9, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %.2215357)
          to label %105 unwind label %112

105:                                              ; preds = %.preheader352
  %106 = lshr i32 %.2215357, 2
  %107 = xor i32 %106, %.2215357
  %108 = and i32 %107, 1
  %109 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_lv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12) %9, i32 noundef %108)
          to label %110 unwind label %112

110:                                              ; preds = %105
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #6
  %111 = add nuw nsw i32 %.2215357, 1
  %exitcond372.not = icmp eq i32 %111, 142
  br i1 %exitcond372.not, label %.preheader351, label %.preheader352, !llvm.loop !8

112:                                              ; preds = %105, %.preheader352
  %113 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #6
  br label %.loopexit.split-lp335

.preheader351:                                    ; preds = %110, %122
  %.3216358 = phi i32 [ %123, %122 ], [ 0, %110 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %11, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %.3216358)
          to label %114 unwind label %124

114:                                              ; preds = %.preheader351
  invoke void @_ZNK5sc_dt11sc_bitref_rINS_10sc_lv_baseEEcvKNS_8sc_logicEEv(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_logic") align 4 %10, ptr noundef nonnull align 8 dereferenceable(12) %11)
          to label %115 unwind label %124

115:                                              ; preds = %114
  %116 = lshr i32 %.3216358, 2
  %117 = xor i32 %116, %.3216358
  %118 = and i32 %117, 1
  %119 = invoke noundef zeroext i1 @_ZN5sc_dteqERKNS_8sc_logicEi(ptr noundef nonnull align 4 dereferenceable(4) %10, i32 noundef %118)
          to label %120 unwind label %126

120:                                              ; preds = %115
  br i1 %119, label %122, label %121

121:                                              ; preds = %120
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 61)
          to label %122 unwind label %126

122:                                              ; preds = %121, %120
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %10) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  %123 = add nuw nsw i32 %.3216358, 1
  %exitcond373.not = icmp eq i32 %123, 142
  br i1 %exitcond373.not, label %.preheader347, label %.preheader351, !llvm.loop !9

124:                                              ; preds = %114, %.preheader351
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %128

126:                                              ; preds = %121, %115
  %127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_logicD2Ev(ptr noundef nonnull align 4 dereferenceable(4) %10) #6
  br label %128

128:                                              ; preds = %126, %124
  %.pn318 = phi { ptr, i32 } [ %127, %126 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  br label %.loopexit.split-lp335

.preheader347:                                    ; preds = %122, %137
  %.4217359 = phi i32 [ %138, %137 ], [ 0, %122 ]
  %129 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.4217359)
          to label %130 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit

130:                                              ; preds = %.preheader347
  %131 = lshr i32 %.4217359, 2
  %132 = lshr i32 %.4217359, 1
  %133 = xor i32 %131, %132
  %134 = and i32 %133, 1
  %135 = icmp ne i32 %134, 0
  %136 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt16sc_signed_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %129, i1 noundef zeroext %135)
          to label %137 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit

137:                                              ; preds = %130
  %138 = add nuw nsw i32 %.4217359, 1
  %exitcond374.not = icmp eq i32 %138, 103
  br i1 %exitcond374.not, label %.preheader343, label %.preheader347, !llvm.loop !10

.loopexit334:                                     ; preds = %.preheader333, %163, %172
  %lpad.loopexit336 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

.loopexit.split-lp335.loopexit:                   ; preds = %153, %.preheader339
  %lpad.loopexit340 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

.loopexit.split-lp335.loopexit.split-lp.loopexit: ; preds = %.preheader343, %140, %149
  %lpad.loopexit344 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

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

.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %199, %197, %195, %193, %186, %184, %177, %175
  %lpad.loopexit.split-lp349 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

.preheader343:                                    ; preds = %137, %150
  %.5218360 = phi i32 [ %151, %150 ], [ 0, %137 ]
  %139 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.5218360)
          to label %140 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit

140:                                              ; preds = %.preheader343
  %141 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %139)
          to label %142 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit

142:                                              ; preds = %140
  %143 = lshr i32 %.5218360, 2
  %144 = lshr i32 %.5218360, 1
  %145 = xor i32 %143, %144
  %146 = trunc i32 %145 to i1
  %147 = icmp eq i64 %141, 0
  %148 = xor i1 %147, %146
  br i1 %148, label %150, label %149

149:                                              ; preds = %142
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, i32 noundef 67)
          to label %150 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit

150:                                              ; preds = %142, %149
  %151 = add nuw nsw i32 %.5218360, 1
  %exitcond375.not = icmp eq i32 %151, 103
  br i1 %exitcond375.not, label %.preheader339, label %.preheader343, !llvm.loop !11

.preheader339:                                    ; preds = %150, %160
  %.6219361 = phi i32 [ %161, %160 ], [ 0, %150 ]
  %152 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.6219361)
          to label %153 unwind label %.loopexit.split-lp335.loopexit

153:                                              ; preds = %.preheader339
  %154 = lshr i32 %.6219361, 3
  %155 = lshr i32 %.6219361, 1
  %156 = xor i32 %154, %155
  %157 = and i32 %156, 1
  %158 = icmp ne i32 %157, 0
  %159 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt18sc_unsigned_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24) %152, i1 noundef zeroext %158)
          to label %160 unwind label %.loopexit.split-lp335.loopexit

160:                                              ; preds = %153
  %161 = add nuw nsw i32 %.6219361, 1
  %exitcond376.not = icmp eq i32 %161, 291
  br i1 %exitcond376.not, label %.preheader333, label %.preheader339, !llvm.loop !12

.preheader333:                                    ; preds = %160, %173
  %.7220362 = phi i32 [ %174, %173 ], [ 0, %160 ]
  %162 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.7220362)
          to label %163 unwind label %.loopexit334

163:                                              ; preds = %.preheader333
  %164 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %162)
          to label %165 unwind label %.loopexit334

165:                                              ; preds = %163
  %166 = lshr i32 %.7220362, 3
  %167 = lshr i32 %.7220362, 1
  %168 = xor i32 %166, %167
  %169 = trunc i32 %168 to i1
  %170 = icmp eq i64 %164, 0
  %171 = xor i1 %170, %169
  br i1 %171, label %173, label %172

172:                                              ; preds = %165
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.2, i32 noundef 73)
          to label %173 unwind label %.loopexit334

173:                                              ; preds = %165, %172
  %174 = add nuw nsw i32 %.7220362, 1
  %exitcond377.not = icmp eq i32 %174, 291
  br i1 %exitcond377.not, label %175, label %.preheader333, !llvm.loop !13

175:                                              ; preds = %173
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_10sc_bv_baseEEERSoS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %177 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

177:                                              ; preds = %175
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %176, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %179 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

179:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  invoke void @_ZNK5sc_dt8sc_proxyINS_10sc_bv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(8) %3)
          to label %180 unwind label %202

180:                                              ; preds = %179
  %181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %182 unwind label %204

182:                                              ; preds = %180
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %181, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %184 unwind label %204

184:                                              ; preds = %182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_10sc_lv_baseEEERSoS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %186 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

186:                                              ; preds = %184
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %188 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

188:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  invoke void @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %189 unwind label %207

189:                                              ; preds = %188
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %191 unwind label %209

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %190, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %193 unwind label %209

193:                                              ; preds = %191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  %194 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %195 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

195:                                              ; preds = %193
  %196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %194, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %197 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

197:                                              ; preds = %195
  %198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %199 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %198, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader332 unwind label %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

201:                                              ; preds = %789
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  ret i32 0

202:                                              ; preds = %179
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %206

204:                                              ; preds = %182, %180
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %206

206:                                              ; preds = %204, %202
  %.pn = phi { ptr, i32 } [ %205, %204 ], [ %203, %202 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  br label %.loopexit.split-lp335

207:                                              ; preds = %188
  %208 = landingpad { ptr, i32 }
          cleanup
  br label %211

209:                                              ; preds = %191, %189
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %211

211:                                              ; preds = %209, %207
  %.pn223 = phi { ptr, i32 } [ %210, %209 ], [ %208, %207 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  br label %.loopexit.split-lp335

.preheader332:                                    ; preds = %199, %789
  %.0144370 = phi i32 [ %790, %789 ], [ 0, %199 ]
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.6)
          to label %213 unwind label %302

213:                                              ; preds = %.preheader332
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %212, i32 noundef %.0144370)
          to label %215 unwind label %302

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %214, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader331 unwind label %302

.preheader331:                                    ; preds = %215
  %217 = icmp eq i32 %.0144370, 0
  br label %218

218:                                              ; preds = %.preheader331, %775
  %.8221369 = phi i32 [ 0, %.preheader331 ], [ %691, %775 ]
  br i1 %217, label %219, label %378

219:                                              ; preds = %218
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.7)
          to label %221 unwind label %304

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %220, i32 noundef %.8221369)
          to label %223 unwind label %304

223:                                              ; preds = %221
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %225 unwind label %304

225:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  %226 = add nuw nsw i32 %.8221369, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %226, i32 noundef %.8221369)
          to label %227 unwind label %306

227:                                              ; preds = %225
  %228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_bv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %229 unwind label %308

229:                                              ; preds = %227
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %228, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %231 unwind label %308

231:                                              ; preds = %229
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %16, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %226, i32 noundef %.8221369)
          to label %232 unwind label %311

232:                                              ; preds = %231
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %233 unwind label %313

233:                                              ; preds = %232
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %235 unwind label %315

235:                                              ; preds = %233
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %237 unwind label %315

237:                                              ; preds = %235
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  %238 = add nuw nsw i32 %.8221369, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %17, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %238, i32 noundef %.8221369)
          to label %239 unwind label %319

239:                                              ; preds = %237
  %240 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %241 unwind label %321

241:                                              ; preds = %239
  %242 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %240, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %243 unwind label %321

243:                                              ; preds = %241
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %19, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %238, i32 noundef %.8221369)
          to label %244 unwind label %324

244:                                              ; preds = %243
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %245 unwind label %326

245:                                              ; preds = %244
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %247 unwind label %328

247:                                              ; preds = %245
  %248 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %246, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %249 unwind label %328

249:                                              ; preds = %247
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  %250 = add nuw nsw i32 %.8221369, 2
  %251 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %250, i32 noundef %.8221369)
          to label %252 unwind label %332

252:                                              ; preds = %249
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(28) %251)
          to label %253 unwind label %332

253:                                              ; preds = %252
  %254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %255 unwind label %334

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %254, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %257 unwind label %334

257:                                              ; preds = %255
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  %258 = add nuw nsw i32 %.8221369, 190
  %259 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %258, i32 noundef %.8221369)
          to label %260 unwind label %337

260:                                              ; preds = %257
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_unsigned") align 8 %21, ptr noundef nonnull align 8 dereferenceable(28) %259)
          to label %261 unwind label %337

261:                                              ; preds = %260
  %262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %263 unwind label %339

263:                                              ; preds = %261
  %264 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %265 unwind label %339

265:                                              ; preds = %263
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %.8221369, i32 noundef %226)
          to label %266 unwind label %342

266:                                              ; preds = %265
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_bv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %268 unwind label %344

268:                                              ; preds = %266
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %270 unwind label %344

270:                                              ; preds = %268
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %24, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %.8221369, i32 noundef %226)
          to label %271 unwind label %347

271:                                              ; preds = %270
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %272 unwind label %349

272:                                              ; preds = %271
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %274 unwind label %351

274:                                              ; preds = %272
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %273, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %276 unwind label %351

276:                                              ; preds = %274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %25, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %.8221369, i32 noundef %238)
          to label %277 unwind label %355

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %279 unwind label %357

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %281 unwind label %357

281:                                              ; preds = %279
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %27, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %.8221369, i32 noundef %238)
          to label %282 unwind label %360

282:                                              ; preds = %281
  invoke void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %283 unwind label %362

283:                                              ; preds = %282
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %285 unwind label %364

285:                                              ; preds = %283
  %286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %284, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %287 unwind label %364

287:                                              ; preds = %285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  %288 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.8221369, i32 noundef %250)
          to label %289 unwind label %368

289:                                              ; preds = %287
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(28) %288)
          to label %290 unwind label %368

290:                                              ; preds = %289
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %292 unwind label %370

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %291, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %294 unwind label %370

294:                                              ; preds = %292
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  %295 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.8221369, i32 noundef %258)
          to label %296 unwind label %373

296:                                              ; preds = %294
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_unsigned") align 8 %29, ptr noundef nonnull align 8 dereferenceable(28) %295)
          to label %297 unwind label %373

297:                                              ; preds = %296
  %298 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %299 unwind label %375

299:                                              ; preds = %297
  %300 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %301 unwind label %375

301:                                              ; preds = %299
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %391

302:                                              ; preds = %215, %213, %.preheader332
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

304:                                              ; preds = %389, %386, %385, %382, %380, %378, %223, %221, %219
  %305 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp335

306:                                              ; preds = %225
  %307 = landingpad { ptr, i32 }
          cleanup
  br label %310

308:                                              ; preds = %229, %227
  %309 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %14) #6
  br label %310

310:                                              ; preds = %308, %306
  %.pn225 = phi { ptr, i32 } [ %309, %308 ], [ %307, %306 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %.loopexit.split-lp335

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

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

315:                                              ; preds = %235, %233
  %316 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %317

317:                                              ; preds = %315, %313
  %.pn227 = phi { ptr, i32 } [ %316, %315 ], [ %314, %313 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %16) #6
  br label %318

318:                                              ; preds = %317, %311
  %.pn227.pn = phi { ptr, i32 } [ %.pn227, %317 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %.loopexit.split-lp335

319:                                              ; preds = %237
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %323

321:                                              ; preds = %241, %239
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %17) #6
  br label %323

323:                                              ; preds = %321, %319
  %.pn230 = phi { ptr, i32 } [ %322, %321 ], [ %320, %319 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %.loopexit.split-lp335

324:                                              ; preds = %243
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %331

326:                                              ; preds = %244
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %330

328:                                              ; preds = %247, %245
  %329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %330

330:                                              ; preds = %328, %326
  %.pn232 = phi { ptr, i32 } [ %329, %328 ], [ %327, %326 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %19) #6
  br label %331

331:                                              ; preds = %330, %324
  %.pn232.pn = phi { ptr, i32 } [ %.pn232, %330 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %.loopexit.split-lp335

332:                                              ; preds = %252, %249
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %336

334:                                              ; preds = %255, %253
  %335 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %336

336:                                              ; preds = %334, %332
  %.pn235 = phi { ptr, i32 } [ %335, %334 ], [ %333, %332 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %.loopexit.split-lp335

337:                                              ; preds = %260, %257
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %341

339:                                              ; preds = %263, %261
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %341

341:                                              ; preds = %339, %337
  %.pn237 = phi { ptr, i32 } [ %340, %339 ], [ %338, %337 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %.loopexit.split-lp335

342:                                              ; preds = %265
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %346

344:                                              ; preds = %268, %266
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %22) #6
  br label %346

346:                                              ; preds = %344, %342
  %.pn239 = phi { ptr, i32 } [ %345, %344 ], [ %343, %342 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %.loopexit.split-lp335

347:                                              ; preds = %270
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %354

349:                                              ; preds = %271
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %353

351:                                              ; preds = %274, %272
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %353

353:                                              ; preds = %351, %349
  %.pn241 = phi { ptr, i32 } [ %352, %351 ], [ %350, %349 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %24) #6
  br label %354

354:                                              ; preds = %353, %347
  %.pn241.pn = phi { ptr, i32 } [ %.pn241, %353 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %.loopexit.split-lp335

355:                                              ; preds = %276
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %359

357:                                              ; preds = %279, %277
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %25) #6
  br label %359

359:                                              ; preds = %357, %355
  %.pn244 = phi { ptr, i32 } [ %358, %357 ], [ %356, %355 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %.loopexit.split-lp335

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

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

364:                                              ; preds = %285, %283
  %365 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %366

366:                                              ; preds = %364, %362
  %.pn246 = phi { ptr, i32 } [ %365, %364 ], [ %363, %362 ]
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %27) #6
  br label %367

367:                                              ; preds = %366, %360
  %.pn246.pn = phi { ptr, i32 } [ %.pn246, %366 ], [ %361, %360 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  br label %.loopexit.split-lp335

368:                                              ; preds = %289, %287
  %369 = landingpad { ptr, i32 }
          cleanup
  br label %372

370:                                              ; preds = %292, %290
  %371 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %372

372:                                              ; preds = %370, %368
  %.pn249 = phi { ptr, i32 } [ %371, %370 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  br label %.loopexit.split-lp335

373:                                              ; preds = %296, %294
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %377

375:                                              ; preds = %299, %297
  %376 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %377

377:                                              ; preds = %375, %373
  %.pn251 = phi { ptr, i32 } [ %376, %375 ], [ %374, %373 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %.loopexit.split-lp335

378:                                              ; preds = %218
  %379 = add nuw nsw i32 %.8221369, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %30, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %379, i32 noundef %.8221369)
          to label %380 unwind label %304

380:                                              ; preds = %378
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %30) #6
  %381 = add nuw nsw i32 %.8221369, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %381, i32 noundef %.8221369)
          to label %382 unwind label %304

382:                                              ; preds = %380
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %31) #6
  %383 = add nuw nsw i32 %.8221369, 2
  %384 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %383, i32 noundef %.8221369)
          to label %385 unwind label %304

385:                                              ; preds = %382
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(28) %384)
          to label %386 unwind label %304

386:                                              ; preds = %385
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  %387 = add nuw nsw i32 %.8221369, 190
  %388 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %387, i32 noundef %.8221369)
          to label %389 unwind label %304

389:                                              ; preds = %386
  invoke void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_unsigned") align 8 %33, ptr noundef nonnull align 8 dereferenceable(28) %388)
          to label %390 unwind label %304

390:                                              ; preds = %389
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %391

391:                                              ; preds = %390, %301
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #6
  invoke void @_ZN5sc_dt5sc_bvILi225EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %392 unwind label %429

392:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #6
  invoke void @_ZN5sc_dt5sc_bvILi225EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35)
          to label %393 unwind label %431

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #6
  invoke void @_ZN5sc_dt5sc_bvILi450EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %394 unwind label %433

394:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  %395 = add nuw nsw i32 %.8221369, 224
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %37, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %395, i32 noundef %.8221369)
          to label %396 unwind label %435

396:                                              ; preds = %394
  %397 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi225EEaSINS_11sc_subref_rINS_10sc_bv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %398 unwind label %437

398:                                              ; preds = %396
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %38, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %.8221369, i32 noundef %395)
          to label %399 unwind label %440

399:                                              ; preds = %398
  %400 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi225EEaSINS_11sc_subref_rINS_10sc_bv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %401 unwind label %442

401:                                              ; preds = %399
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #6
  invoke void @_ZN5sc_dtcmINS_10sc_bv_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 %39, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %402 unwind label %445

402:                                              ; preds = %401
  %403 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt5sc_bvILi450EEaSINS_12sc_concref_rINS_10sc_bv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %404 unwind label %447

404:                                              ; preds = %402
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #6
  br label %405

405:                                              ; preds = %404, %427
  %.0363 = phi i32 [ 0, %404 ], [ %428, %427 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %40, ptr noundef nonnull align 8 dereferenceable(8) %34, i32 noundef %.0363)
          to label %406 unwind label %450

406:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #6
  %407 = add nuw nsw i32 %.0363, %.8221369
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %41, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %407)
          to label %408 unwind label %452

408:                                              ; preds = %406
  %409 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %40, ptr noundef nonnull align 8 dereferenceable(12) %41)
  br i1 %409, label %411, label %410

410:                                              ; preds = %408
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 117)
          to label %411 unwind label %452

411:                                              ; preds = %410, %408
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #6
  %412 = sub nuw nsw i32 224, %.0363
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %35, i32 noundef %412)
          to label %413 unwind label %455

413:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %43, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %407)
          to label %414 unwind label %457

414:                                              ; preds = %413
  %415 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %42, ptr noundef nonnull align 8 dereferenceable(12) %43)
  br i1 %415, label %417, label %416

416:                                              ; preds = %414
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 118)
          to label %417 unwind label %457

417:                                              ; preds = %416, %414
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %44, ptr noundef nonnull align 8 dereferenceable(8) %36, i32 noundef 449, i32 noundef 225)
          to label %418 unwind label %460

418:                                              ; preds = %417
  %419 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %420 unwind label %462

420:                                              ; preds = %418
  br i1 %419, label %422, label %421

421:                                              ; preds = %420
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i32 noundef 119)
          to label %422 unwind label %462

422:                                              ; preds = %421, %420
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %45, ptr noundef nonnull align 8 dereferenceable(8) %36, i32 noundef 224, i32 noundef 0)
          to label %423 unwind label %465

423:                                              ; preds = %422
  %424 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %425 unwind label %467

425:                                              ; preds = %423
  br i1 %424, label %427, label %426

426:                                              ; preds = %425
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 120)
          to label %427 unwind label %467

427:                                              ; preds = %426, %425
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  %428 = add nuw nsw i32 %.0363, 1
  %exitcond378.not = icmp eq i32 %428, 225
  br i1 %exitcond378.not, label %470, label %405, !llvm.loop !14

429:                                              ; preds = %391
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %788

431:                                              ; preds = %392
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %787

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

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

437:                                              ; preds = %396
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %37) #6
  br label %439

439:                                              ; preds = %437, %435
  %.pn253 = phi { ptr, i32 } [ %438, %437 ], [ %436, %435 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  br label %785

440:                                              ; preds = %398
  %441 = landingpad { ptr, i32 }
          cleanup
  br label %444

442:                                              ; preds = %399
  %443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %38) #6
  br label %444

444:                                              ; preds = %442, %440
  %.pn255 = phi { ptr, i32 } [ %443, %442 ], [ %441, %440 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %785

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

447:                                              ; preds = %402
  %448 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #6
  br label %449

449:                                              ; preds = %447, %445
  %.pn257 = phi { ptr, i32 } [ %448, %447 ], [ %446, %445 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #6
  br label %785

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

452:                                              ; preds = %410, %406
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #6
  br label %454

454:                                              ; preds = %452, %450
  %.pn304 = phi { ptr, i32 } [ %453, %452 ], [ %451, %450 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #6
  br label %785

455:                                              ; preds = %411
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %459

457:                                              ; preds = %416, %413
  %458 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #6
  br label %459

459:                                              ; preds = %457, %455
  %.pn306 = phi { ptr, i32 } [ %458, %457 ], [ %456, %455 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #6
  br label %785

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

462:                                              ; preds = %421, %418
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %44) #6
  br label %464

464:                                              ; preds = %462, %460
  %.pn308 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  br label %785

465:                                              ; preds = %422
  %466 = landingpad { ptr, i32 }
          cleanup
  br label %469

467:                                              ; preds = %426, %423
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %45) #6
  br label %469

469:                                              ; preds = %467, %465
  %.pn310 = phi { ptr, i32 } [ %468, %467 ], [ %466, %465 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br label %785

470:                                              ; preds = %427
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %46) #6
  invoke void @_ZN5sc_dtcmINS_10sc_bv_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 %46, ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %471 unwind label %498

471:                                              ; preds = %470
  %472 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_bv_baseES1_EaSIS1_EERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %46, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %473 unwind label %500

473:                                              ; preds = %471
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %46) #6
  br label %474

474:                                              ; preds = %473, %496
  %.1364 = phi i32 [ 0, %473 ], [ %497, %496 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %47, ptr noundef nonnull align 8 dereferenceable(8) %35, i32 noundef %.1364)
          to label %475 unwind label %503

475:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #6
  %476 = add nuw nsw i32 %.1364, %.8221369
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %48, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %476)
          to label %477 unwind label %505

477:                                              ; preds = %475
  %478 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %47, ptr noundef nonnull align 8 dereferenceable(12) %48)
  br i1 %478, label %480, label %479

479:                                              ; preds = %477
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 125)
          to label %480 unwind label %505

480:                                              ; preds = %479, %477
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #6
  %481 = sub nuw nsw i32 224, %.1364
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %49, ptr noundef nonnull align 8 dereferenceable(8) %34, i32 noundef %481)
          to label %482 unwind label %508

482:                                              ; preds = %480
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref") align 8 %50, ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef %476)
          to label %483 unwind label %510

483:                                              ; preds = %482
  %484 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %49, ptr noundef nonnull align 8 dereferenceable(12) %50)
  br i1 %484, label %486, label %485

485:                                              ; preds = %483
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 126)
          to label %486 unwind label %510

486:                                              ; preds = %485, %483
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %36, i32 noundef 449, i32 noundef 225)
          to label %487 unwind label %513

487:                                              ; preds = %486
  %488 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %489 unwind label %515

489:                                              ; preds = %487
  br i1 %488, label %491, label %490

490:                                              ; preds = %489
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 127)
          to label %491 unwind label %515

491:                                              ; preds = %490, %489
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_bv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %36, i32 noundef 224, i32 noundef 0)
          to label %492 unwind label %518

492:                                              ; preds = %491
  %493 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_bv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %494 unwind label %520

494:                                              ; preds = %492
  br i1 %493, label %496, label %495

495:                                              ; preds = %494
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 128)
          to label %496 unwind label %520

496:                                              ; preds = %495, %494
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  %497 = add nuw nsw i32 %.1364, 1
  %exitcond379.not = icmp eq i32 %497, 225
  br i1 %exitcond379.not, label %523, label %474, !llvm.loop !15

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

500:                                              ; preds = %471
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #6
  br label %502

502:                                              ; preds = %500, %498
  %.pn259 = phi { ptr, i32 } [ %501, %500 ], [ %499, %498 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %46) #6
  br label %785

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

505:                                              ; preds = %479, %475
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #6
  br label %507

507:                                              ; preds = %505, %503
  %.pn296 = phi { ptr, i32 } [ %506, %505 ], [ %504, %503 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #6
  br label %785

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

510:                                              ; preds = %485, %482
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #6
  br label %512

512:                                              ; preds = %510, %508
  %.pn298 = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #6
  br label %785

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

515:                                              ; preds = %490, %487
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %51) #6
  br label %517

517:                                              ; preds = %515, %513
  %.pn300 = phi { ptr, i32 } [ %516, %515 ], [ %514, %513 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %785

518:                                              ; preds = %491
  %519 = landingpad { ptr, i32 }
          cleanup
  br label %522

520:                                              ; preds = %495, %492
  %521 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %52) #6
  br label %522

522:                                              ; preds = %520, %518
  %.pn302 = phi { ptr, i32 } [ %521, %520 ], [ %519, %518 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #6
  br label %785

523:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  invoke void @_ZN5sc_dt5sc_lvILi42EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %524 unwind label %561

524:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  invoke void @_ZN5sc_dt5sc_lvILi42EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %525 unwind label %563

525:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  invoke void @_ZN5sc_dt5sc_lvILi84EEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %526 unwind label %565

526:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  %527 = add nuw nsw i32 %.8221369, 41
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %527, i32 noundef %.8221369)
          to label %528 unwind label %567

528:                                              ; preds = %526
  %529 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %530 unwind label %569

530:                                              ; preds = %528
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %.8221369, i32 noundef %527)
          to label %531 unwind label %572

531:                                              ; preds = %530
  %532 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %533 unwind label %574

533:                                              ; preds = %531
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %58) #6
  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.16") align 8 %58, ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %534 unwind label %577

534:                                              ; preds = %533
  %535 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi84EEaSINS_12sc_concref_rINS_10sc_lv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(8) %58)
          to label %536 unwind label %579

536:                                              ; preds = %534
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %58) #6
  br label %537

537:                                              ; preds = %536, %559
  %.2365 = phi i32 [ 0, %536 ], [ %560, %559 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %59, ptr noundef nonnull align 8 dereferenceable(8) %53, i32 noundef %.2365)
          to label %538 unwind label %582

538:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %60) #6
  %539 = add nuw nsw i32 %.2365, %.8221369
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %60, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %539)
          to label %540 unwind label %584

540:                                              ; preds = %538
  %541 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %59, ptr noundef nonnull align 8 dereferenceable(12) %60)
  br i1 %541, label %543, label %542

542:                                              ; preds = %540
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 138)
          to label %543 unwind label %584

543:                                              ; preds = %542, %540
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) #6
  %544 = sub nuw nsw i32 41, %.2365
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %61, ptr noundef nonnull align 8 dereferenceable(8) %54, i32 noundef %544)
          to label %545 unwind label %587

545:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %62, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %539)
          to label %546 unwind label %589

546:                                              ; preds = %545
  %547 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %61, ptr noundef nonnull align 8 dereferenceable(12) %62)
  br i1 %547, label %549, label %548

548:                                              ; preds = %546
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 139)
          to label %549 unwind label %589

549:                                              ; preds = %548, %546
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %63, ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 83, i32 noundef 42)
          to label %550 unwind label %592

550:                                              ; preds = %549
  %551 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %552 unwind label %594

552:                                              ; preds = %550
  br i1 %551, label %554, label %553

553:                                              ; preds = %552
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 140)
          to label %554 unwind label %594

554:                                              ; preds = %553, %552
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %64, ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 41, i32 noundef 0)
          to label %555 unwind label %597

555:                                              ; preds = %554
  %556 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %557 unwind label %599

557:                                              ; preds = %555
  br i1 %556, label %559, label %558

558:                                              ; preds = %557
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 141)
          to label %559 unwind label %599

559:                                              ; preds = %558, %557
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  %560 = add nuw nsw i32 %.2365, 1
  %exitcond380.not = icmp eq i32 %560, 42
  br i1 %exitcond380.not, label %602, label %537, !llvm.loop !16

561:                                              ; preds = %523
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %784

563:                                              ; preds = %524
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %783

565:                                              ; preds = %525
  %566 = landingpad { ptr, i32 }
          cleanup
  br label %782

567:                                              ; preds = %526
  %568 = landingpad { ptr, i32 }
          cleanup
  br label %571

569:                                              ; preds = %528
  %570 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %56) #6
  br label %571

571:                                              ; preds = %569, %567
  %.pn261 = phi { ptr, i32 } [ %570, %569 ], [ %568, %567 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  br label %781

572:                                              ; preds = %530
  %573 = landingpad { ptr, i32 }
          cleanup
  br label %576

574:                                              ; preds = %531
  %575 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %57) #6
  br label %576

576:                                              ; preds = %574, %572
  %.pn263 = phi { ptr, i32 } [ %575, %574 ], [ %573, %572 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  br label %781

577:                                              ; preds = %533
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %581

579:                                              ; preds = %534
  %580 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #6
  br label %581

581:                                              ; preds = %579, %577
  %.pn265 = phi { ptr, i32 } [ %580, %579 ], [ %578, %577 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %58) #6
  br label %781

582:                                              ; preds = %537
  %583 = landingpad { ptr, i32 }
          cleanup
  br label %586

584:                                              ; preds = %542, %538
  %585 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %60) #6
  br label %586

586:                                              ; preds = %584, %582
  %.pn284 = phi { ptr, i32 } [ %585, %584 ], [ %583, %582 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #6
  br label %781

587:                                              ; preds = %543
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %591

589:                                              ; preds = %548, %545
  %590 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #6
  br label %591

591:                                              ; preds = %589, %587
  %.pn286 = phi { ptr, i32 } [ %590, %589 ], [ %588, %587 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #6
  br label %781

592:                                              ; preds = %549
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %596

594:                                              ; preds = %553, %550
  %595 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %63) #6
  br label %596

596:                                              ; preds = %594, %592
  %.pn288 = phi { ptr, i32 } [ %595, %594 ], [ %593, %592 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  br label %781

597:                                              ; preds = %554
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %601

599:                                              ; preds = %558, %555
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %64) #6
  br label %601

601:                                              ; preds = %599, %597
  %.pn290 = phi { ptr, i32 } [ %600, %599 ], [ %598, %597 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  br label %781

602:                                              ; preds = %559
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %65) #6
  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.16") align 8 %65, ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %603 unwind label %630

603:                                              ; preds = %602
  %604 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5sc_dt10sc_concrefINS_10sc_lv_baseES1_EaSIS1_EERS2_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(40) %65, ptr noundef nonnull align 8 dereferenceable(8) %55)
          to label %605 unwind label %632

605:                                              ; preds = %603
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %65) #6
  br label %606

606:                                              ; preds = %605, %628
  %.3366 = phi i32 [ 0, %605 ], [ %629, %628 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %66, ptr noundef nonnull align 8 dereferenceable(8) %54, i32 noundef %.3366)
          to label %607 unwind label %635

607:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %67) #6
  %608 = add nuw nsw i32 %.3366, %.8221369
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %67, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %608)
          to label %609 unwind label %637

609:                                              ; preds = %607
  %610 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %66, ptr noundef nonnull align 8 dereferenceable(12) %67)
  br i1 %610, label %612, label %611

611:                                              ; preds = %609
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 146)
          to label %612 unwind label %637

612:                                              ; preds = %611, %609
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #6
  %613 = sub nuw nsw i32 41, %.3366
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %68, ptr noundef nonnull align 8 dereferenceable(8) %53, i32 noundef %613)
          to label %614 unwind label %640

614:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEEixEi(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_bitref.1") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %608)
          to label %615 unwind label %642

615:                                              ; preds = %614
  %616 = call noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12) %68, ptr noundef nonnull align 8 dereferenceable(12) %69)
  br i1 %616, label %618, label %617

617:                                              ; preds = %615
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 147)
          to label %618 unwind label %642

618:                                              ; preds = %617, %615
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %70, ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 83, i32 noundef 42)
          to label %619 unwind label %645

619:                                              ; preds = %618
  %620 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %621 unwind label %647

621:                                              ; preds = %619
  br i1 %620, label %623, label %622

622:                                              ; preds = %621
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 148)
          to label %623 unwind label %647

623:                                              ; preds = %622, %621
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  invoke void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_subref.6") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 41, i32 noundef 0)
          to label %624 unwind label %650

624:                                              ; preds = %623
  %625 = invoke noundef zeroext i1 @_ZN5sc_dteqINS_11sc_subref_rINS_10sc_lv_baseEEES2_EEbRKNS_8sc_proxyIT_EERKNS4_IT0_EE(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %626 unwind label %652

626:                                              ; preds = %624
  br i1 %625, label %628, label %627

627:                                              ; preds = %626
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 149)
          to label %628 unwind label %652

628:                                              ; preds = %627, %626
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %71) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  %629 = add nuw nsw i32 %.3366, 1
  %exitcond381.not = icmp eq i32 %629, 42
  br i1 %exitcond381.not, label %655, label %606, !llvm.loop !17

630:                                              ; preds = %602
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %634

632:                                              ; preds = %603
  %633 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt12sc_concref_rINS_10sc_lv_baseES1_ED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #6
  br label %634

634:                                              ; preds = %632, %630
  %.pn267 = phi { ptr, i32 } [ %633, %632 ], [ %631, %630 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %65) #6
  br label %781

635:                                              ; preds = %606
  %636 = landingpad { ptr, i32 }
          cleanup
  br label %639

637:                                              ; preds = %611, %607
  %638 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %67) #6
  br label %639

639:                                              ; preds = %637, %635
  %.pn276 = phi { ptr, i32 } [ %638, %637 ], [ %636, %635 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #6
  br label %781

640:                                              ; preds = %612
  %641 = landingpad { ptr, i32 }
          cleanup
  br label %644

642:                                              ; preds = %617, %614
  %643 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #6
  br label %644

644:                                              ; preds = %642, %640
  %.pn278 = phi { ptr, i32 } [ %643, %642 ], [ %641, %640 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #6
  br label %781

645:                                              ; preds = %618
  %646 = landingpad { ptr, i32 }
          cleanup
  br label %649

647:                                              ; preds = %622, %619
  %648 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %70) #6
  br label %649

649:                                              ; preds = %647, %645
  %.pn280 = phi { ptr, i32 } [ %648, %647 ], [ %646, %645 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  br label %781

650:                                              ; preds = %623
  %651 = landingpad { ptr, i32 }
          cleanup
  br label %654

652:                                              ; preds = %627, %624
  %653 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(28) %71) #6
  br label %654

654:                                              ; preds = %652, %650
  %.pn282 = phi { ptr, i32 } [ %653, %652 ], [ %651, %650 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  br label %781

655:                                              ; preds = %628
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %72, i32 noundef 3)
          to label %656 unwind label %731

656:                                              ; preds = %655
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 3)
          to label %657 unwind label %733

657:                                              ; preds = %656
  %658 = add nuw nsw i32 %.8221369, 2
  %659 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %658, i32 noundef %.8221369)
          to label %660 unwind label %.loopexit.split-lp327

660:                                              ; preds = %657
  %661 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(28) %659)
          to label %662 unwind label %.loopexit.split-lp327

662:                                              ; preds = %660
  %663 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.8221369, i32 noundef %658)
          to label %664 unwind label %.loopexit.split-lp327

664:                                              ; preds = %662
  %665 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(28) %663)
          to label %.preheader325.preheader unwind label %.loopexit.split-lp327

.preheader325.preheader:                          ; preds = %664
  %666 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %72, i32 noundef 0)
          to label %667 unwind label %.loopexit326

667:                                              ; preds = %.preheader325.preheader
  %668 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %666)
          to label %669 unwind label %.loopexit326

669:                                              ; preds = %667
  %670 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.8221369)
          to label %671 unwind label %.loopexit326

671:                                              ; preds = %669
  %672 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %670)
          to label %673 unwind label %.loopexit326

673:                                              ; preds = %671
  %674 = icmp eq i64 %668, %672
  br i1 %674, label %676, label %675

675:                                              ; preds = %673
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 157)
          to label %676 unwind label %.loopexit326

676:                                              ; preds = %675, %673
  %677 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 2)
          to label %678 unwind label %.loopexit326

678:                                              ; preds = %676
  %679 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %677)
          to label %680 unwind label %.loopexit326

680:                                              ; preds = %678
  %681 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.8221369)
          to label %682 unwind label %.loopexit326

682:                                              ; preds = %680
  %683 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %681)
          to label %684 unwind label %.loopexit326

684:                                              ; preds = %682
  %685 = icmp eq i64 %679, %683
  br i1 %685, label %.preheader325.1, label %686

686:                                              ; preds = %684
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 158)
          to label %.preheader325.1 unwind label %.loopexit326

.preheader325.1:                                  ; preds = %684, %686
  %687 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %72, i32 noundef 1)
          to label %688 unwind label %.loopexit326

688:                                              ; preds = %.preheader325.1
  %689 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %687)
          to label %690 unwind label %.loopexit326

690:                                              ; preds = %688
  %691 = add nuw nsw i32 %.8221369, 1
  %692 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %691)
          to label %693 unwind label %.loopexit326

693:                                              ; preds = %690
  %694 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %692)
          to label %695 unwind label %.loopexit326

695:                                              ; preds = %693
  %696 = icmp eq i64 %689, %694
  br i1 %696, label %698, label %697

697:                                              ; preds = %695
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 157)
          to label %698 unwind label %.loopexit326

698:                                              ; preds = %697, %695
  %699 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 1)
          to label %700 unwind label %.loopexit326

700:                                              ; preds = %698
  %701 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %699)
          to label %702 unwind label %.loopexit326

702:                                              ; preds = %700
  %703 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %691)
          to label %704 unwind label %.loopexit326

704:                                              ; preds = %702
  %705 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %703)
          to label %706 unwind label %.loopexit326

706:                                              ; preds = %704
  %707 = icmp eq i64 %701, %705
  br i1 %707, label %.preheader325.2, label %708

708:                                              ; preds = %706
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 158)
          to label %.preheader325.2 unwind label %.loopexit326

.preheader325.2:                                  ; preds = %708, %706
  %709 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %72, i32 noundef 2)
          to label %710 unwind label %.loopexit326

710:                                              ; preds = %.preheader325.2
  %711 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %709)
          to label %712 unwind label %.loopexit326

712:                                              ; preds = %710
  %713 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %658)
          to label %714 unwind label %.loopexit326

714:                                              ; preds = %712
  %715 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %713)
          to label %716 unwind label %.loopexit326

716:                                              ; preds = %714
  %717 = icmp eq i64 %711, %715
  br i1 %717, label %719, label %718

718:                                              ; preds = %716
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 157)
          to label %719 unwind label %.loopexit326

719:                                              ; preds = %718, %716
  %720 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 0)
          to label %721 unwind label %.loopexit326

721:                                              ; preds = %719
  %722 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %720)
          to label %723 unwind label %.loopexit326

723:                                              ; preds = %721
  %724 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt9sc_signedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %658)
          to label %725 unwind label %.loopexit326

725:                                              ; preds = %723
  %726 = invoke noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %724)
          to label %727 unwind label %.loopexit326

727:                                              ; preds = %725
  %728 = icmp eq i64 %722, %726
  br i1 %728, label %730, label %729

729:                                              ; preds = %727
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 158)
          to label %730 unwind label %.loopexit326

730:                                              ; preds = %729, %727
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %74, i32 noundef 191)
          to label %735 unwind label %770

731:                                              ; preds = %655
  %732 = landingpad { ptr, i32 }
          cleanup
  br label %780

733:                                              ; preds = %656
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %779

.loopexit326:                                     ; preds = %729, %725, %723, %721, %719, %718, %714, %712, %710, %.preheader325.2, %708, %704, %702, %700, %698, %697, %693, %690, %688, %.preheader325.1, %.preheader325.preheader, %667, %669, %671, %675, %676, %678, %680, %682, %686
  %lpad.loopexit328 = landingpad { ptr, i32 }
          cleanup
  br label %778

.loopexit.split-lp327:                            ; preds = %657, %660, %662, %664
  %lpad.loopexit.split-lp329 = landingpad { ptr, i32 }
          cleanup
  br label %778

735:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %75, i32 noundef 191)
          to label %736 unwind label %772

736:                                              ; preds = %735
  %737 = add nuw nsw i32 %.8221369, 190
  %738 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %737, i32 noundef %.8221369)
          to label %739 unwind label %.loopexit.split-lp

739:                                              ; preds = %736
  %740 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(28) %738)
          to label %741 unwind label %.loopexit.split-lp

741:                                              ; preds = %739
  %742 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt11sc_unsigned5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.8221369, i32 noundef %737)
          to label %743 unwind label %.loopexit.split-lp

743:                                              ; preds = %741
  %744 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(28) %742)
          to label %.preheader unwind label %.loopexit.split-lp

.preheader:                                       ; preds = %743, %768
  %.5368 = phi i32 [ %769, %768 ], [ 0, %743 ]
  %745 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %74, i32 noundef %.5368)
          to label %746 unwind label %.loopexit

746:                                              ; preds = %.preheader
  %747 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %745)
          to label %748 unwind label %.loopexit

748:                                              ; preds = %746
  %749 = add nuw nsw i32 %.5368, %.8221369
  %750 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %749)
          to label %751 unwind label %.loopexit

751:                                              ; preds = %748
  %752 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %750)
          to label %753 unwind label %.loopexit

753:                                              ; preds = %751
  %754 = icmp eq i64 %747, %752
  br i1 %754, label %756, label %755

755:                                              ; preds = %753
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 166)
          to label %756 unwind label %.loopexit

756:                                              ; preds = %755, %753
  %757 = sub nuw nsw i32 190, %.5368
  %758 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %75, i32 noundef %757)
          to label %759 unwind label %.loopexit

759:                                              ; preds = %756
  %760 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %758)
          to label %761 unwind label %.loopexit

761:                                              ; preds = %759
  %762 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %749)
          to label %763 unwind label %.loopexit

763:                                              ; preds = %761
  %764 = invoke noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24) %762)
          to label %765 unwind label %.loopexit

765:                                              ; preds = %763
  %766 = icmp eq i64 %760, %764
  br i1 %766, label %768, label %767

767:                                              ; preds = %765
  invoke void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef 3, ptr noundef nonnull @_ZN7sc_core23SC_ID_ASSERTION_FAILED_E, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 167)
          to label %768 unwind label %.loopexit

768:                                              ; preds = %765, %767
  %769 = add nuw nsw i32 %.5368, 1
  %exitcond383.not = icmp eq i32 %769, 191
  br i1 %exitcond383.not, label %775, label %.preheader, !llvm.loop !18

770:                                              ; preds = %730
  %771 = landingpad { ptr, i32 }
          cleanup
  br label %777

772:                                              ; preds = %735
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %776

.loopexit:                                        ; preds = %.preheader, %746, %748, %751, %755, %756, %759, %761, %763, %767
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %774

.loopexit.split-lp:                               ; preds = %736, %739, %741, %743
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %774

774:                                              ; preds = %.loopexit.split-lp, %.loopexit
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %776

775:                                              ; preds = %768
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #6
  %exitcond384.not = icmp eq i32 %691, 100
  br i1 %exitcond384.not, label %789, label %218, !llvm.loop !19

776:                                              ; preds = %774, %772
  %.pn269 = phi { ptr, i32 } [ %lpad.phi, %774 ], [ %773, %772 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %777

777:                                              ; preds = %776, %770
  %.pn269.pn = phi { ptr, i32 } [ %.pn269, %776 ], [ %771, %770 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  br label %778

778:                                              ; preds = %.loopexit326, %.loopexit.split-lp327, %777
  %.pn272 = phi { ptr, i32 } [ %.pn269.pn, %777 ], [ %lpad.loopexit328, %.loopexit326 ], [ %lpad.loopexit.split-lp329, %.loopexit.split-lp327 ]
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %779

779:                                              ; preds = %778, %733
  %.pn272.pn = phi { ptr, i32 } [ %.pn272, %778 ], [ %734, %733 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %780

780:                                              ; preds = %779, %731
  %.pn272.pn.pn = phi { ptr, i32 } [ %.pn272.pn, %779 ], [ %732, %731 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  br label %781

781:                                              ; preds = %780, %654, %649, %644, %639, %634, %601, %596, %591, %586, %581, %576, %571
  %.pn290.pn = phi { ptr, i32 } [ %.pn290, %601 ], [ %.pn288, %596 ], [ %.pn286, %591 ], [ %.pn284, %586 ], [ %.pn282, %654 ], [ %.pn280, %649 ], [ %.pn278, %644 ], [ %.pn276, %639 ], [ %.pn272.pn.pn, %780 ], [ %.pn267, %634 ], [ %.pn265, %581 ], [ %.pn263, %576 ], [ %.pn261, %571 ]
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %782

782:                                              ; preds = %781, %565
  %.pn290.pn.pn = phi { ptr, i32 } [ %.pn290.pn, %781 ], [ %566, %565 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %783

783:                                              ; preds = %782, %563
  %.pn290.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn, %782 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %784

784:                                              ; preds = %783, %561
  %.pn290.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn, %783 ], [ %562, %561 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %785

785:                                              ; preds = %784, %522, %517, %512, %507, %502, %469, %464, %459, %454, %449, %444, %439
  %.pn310.pn = phi { ptr, i32 } [ %.pn310, %469 ], [ %.pn308, %464 ], [ %.pn306, %459 ], [ %.pn304, %454 ], [ %.pn302, %522 ], [ %.pn300, %517 ], [ %.pn298, %512 ], [ %.pn296, %507 ], [ %.pn290.pn.pn.pn.pn, %784 ], [ %.pn259, %502 ], [ %.pn257, %449 ], [ %.pn255, %444 ], [ %.pn253, %439 ]
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #6
  br label %786

786:                                              ; preds = %785, %433
  %.pn310.pn.pn = phi { ptr, i32 } [ %.pn310.pn, %785 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #6
  br label %787

787:                                              ; preds = %786, %431
  %.pn310.pn.pn.pn = phi { ptr, i32 } [ %.pn310.pn.pn, %786 ], [ %432, %431 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #6
  br label %788

788:                                              ; preds = %787, %429
  %.pn310.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn310.pn.pn.pn, %787 ], [ %430, %429 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #6
  br label %.loopexit.split-lp335

789:                                              ; preds = %775
  %790 = add nuw nsw i32 %.0144370, 1
  %exitcond385.not = icmp eq i32 %790, 10
  br i1 %exitcond385.not, label %201, label %.preheader332, !llvm.loop !20

.loopexit.split-lp335:                            ; preds = %.loopexit334, %.loopexit.split-lp335.loopexit.split-lp.loopexit, %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp335.loopexit, %302, %788, %377, %372, %367, %359, %354, %346, %341, %336, %331, %323, %318, %310, %304, %211, %206, %128, %112, %103, %91
  %.pn320 = phi { ptr, i32 } [ %92, %91 ], [ %104, %103 ], [ %113, %112 ], [ %.pn318, %128 ], [ %.pn223, %211 ], [ %.pn, %206 ], [ %303, %302 ], [ %.pn310.pn.pn.pn.pn, %788 ], [ %.pn251, %377 ], [ %.pn249, %372 ], [ %.pn246.pn, %367 ], [ %.pn244, %359 ], [ %.pn241.pn, %354 ], [ %.pn239, %346 ], [ %.pn237, %341 ], [ %.pn235, %336 ], [ %.pn232.pn, %331 ], [ %.pn230, %323 ], [ %.pn227.pn, %318 ], [ %.pn225, %310 ], [ %305, %304 ], [ %lpad.loopexit336, %.loopexit334 ], [ %lpad.loopexit340, %.loopexit.split-lp335.loopexit ], [ %lpad.loopexit344, %.loopexit.split-lp335.loopexit.split-lp.loopexit ], [ %lpad.loopexit348, %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp349, %.loopexit.split-lp335.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ]
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %791

791:                                              ; preds = %.loopexit.split-lp335, %89
  %.pn320.pn = phi { ptr, i32 } [ %.pn320, %.loopexit.split-lp335 ], [ %90, %89 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %792

792:                                              ; preds = %791, %87
  %.pn320.pn.pn = phi { ptr, i32 } [ %.pn320.pn, %791 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN5sc_dt10sc_lv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %793

793:                                              ; preds = %792, %85
  %.pn320.pn.pn.pn = phi { ptr, i32 } [ %.pn320.pn.pn, %792 ], [ %86, %85 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  call void @_ZN5sc_dt10sc_bv_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn320.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_bvILi325EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

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

declare i32 @__gxx_personality_v0(...)

declare void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #2

declare void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(12) ptr @_ZN5sc_dt9sc_bitrefINS_10sc_bv_baseEEaSEi(ptr noundef nonnull align 8 dereferenceable(12), i32 noundef) local_unnamed_addr #0 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK5sc_dt11sc_bitref_rINS_10sc_bv_baseEEcvKbEv(ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #0 align 2

declare void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqERKNS_8sc_logicEi(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK5sc_dt11sc_bitref_rINS_10sc_lv_baseEEcvKNS_8sc_logicEEv(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_logic") align 4, ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #0 align 2

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

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt16sc_signed_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #2

declare noundef i64 @_ZNK5sc_dt18sc_signed_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

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

declare noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt18sc_unsigned_bitrefaSEb(ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #2

declare noundef i64 @_ZNK5sc_dt20sc_unsigned_bitref_rcvyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_10sc_bv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_10sc_lv_baseEEERSoS2_RKNS_8sc_proxyIT_EE(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 @_ZNK5sc_dt8sc_proxyINS_10sc_lv_baseEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #3

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_bv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(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 void @_ZN5sc_dt8sc_proxyINS_10sc_bv_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 #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsINS_11sc_subref_rINS_10sc_lv_baseEEEEERSoS4_RKNS_8sc_proxyIT_EE(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 void @_ZN5sc_dt8sc_proxyINS_10sc_lv_baseEE5rangeEii(ptr dead_on_unwind noalias writable sret(%"class.sc_dt::sc_subref.6") align 8, ptr noundef nonnull align 8 dereferenceable(8), i32 noundef, i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_lv_baseEEEE9to_stringB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

declare void @_ZN5sc_dt9sc_signedC1ERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) unnamed_addr #2

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

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

declare void @_ZNK5sc_dt20sc_unsigned_subref_rcvNS_11sc_unsignedEEv(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_unsigned") align 8, ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN5sc_dtcmINS_10sc_bv_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(24) ptr @_ZN5sc_dt5sc_bvILi450EEaSINS_12sc_concref_rINS_10sc_bv_baseES4_EEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_10sc_bv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt5sc_lvILi42EEaSINS_11sc_subref_rINS_10sc_lv_baseEEEEERS1_RKNS_8sc_proxyIT_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #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.16") 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_lvILi84EEaSINS_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 #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN5sc_dteqINS_10sc_lv_baseES1_EEbRKNS_11sc_bitref_rIT_EERKNS2_IT0_EE(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #5

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

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #2

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_20sc_unsigned_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt12sc_concref_rINS_10sc_bv_baseES1_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: mustprogress nounwind uwtable
declare dso_local void @_ZN5sc_dt8sc_proxyINS_11sc_subref_rINS_10sc_bv_baseEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(8)) 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 #4 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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 = { 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 = { 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 = { 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 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = distinct !{!7, !6}
!8 = distinct !{!8, !6}
!9 = distinct !{!9, !6}
!10 = distinct !{!10, !6}
!11 = distinct !{!11, !6}
!12 = distinct !{!12, !6}
!13 = distinct !{!13, !6}
!14 = distinct !{!14, !6}
!15 = distinct !{!15, !6}
!16 = distinct !{!16, !6}
!17 = distinct !{!17, !6}
!18 = distinct !{!18, !6}
!19 = distinct !{!19, !6}
!20 = distinct !{!20, !6}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass