; LLVM IR from gem5/gem5 :: src/systemc/tests/systemc/datatypes/int/arith/arith08 (arith08)

; 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.QTIsaac = type { ptr, %"struct.QTIsaac<>::randctx" }
%"struct.QTIsaac<>::randctx" = type <{ i32, [4 x i8], ptr, ptr, i32, i32, i32, [4 x i8] }>
%"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_unsigned" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_value_base" = type { ptr }
%"class.sc_dt::sc_signed" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_bigint" = type { %"class.sc_dt::sc_signed" }

@rng = external dso_local global %class.QTIsaac, align 8
@__const.sc_main.vali = external hidden unnamed_addr constant [5 x i32], align 16
@__const.sc_main.valj = external hidden unnamed_addr constant [5 x i32], align 16
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [5 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [18 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 [5 x i32], align 16
  %6 = alloca [5 x i32], align 16
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %"class.sc_dt::sc_unsigned", align 8
  %11 = alloca %"class.sc_dt::sc_signed", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.sc_dt::sc_signed", align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %"class.sc_dt::sc_signed", align 8
  %20 = alloca %"class.sc_dt::sc_signed", align 8
  %21 = alloca %"class.sc_dt::sc_bigint", align 8
  %22 = alloca %"class.sc_dt::sc_bigint", align 8
  %23 = alloca %"class.sc_dt::sc_signed", align 8
  %24 = alloca %"class.sc_dt::sc_bigint", align 8
  %25 = alloca %"class.sc_dt::sc_bigint", align 8
  %26 = alloca %"class.sc_dt::sc_signed", align 8
  %27 = alloca %"class.sc_dt::sc_bigint", align 8
  %28 = alloca %"class.sc_dt::sc_bigint", align 8
  %29 = alloca %"class.sc_dt::sc_unsigned", align 8
  %30 = alloca %"class.sc_dt::sc_unsigned", align 8
  %31 = alloca %"class.sc_dt::sc_signed", align 8
  %32 = alloca %"class.sc_dt::sc_bigint", align 8
  %33 = alloca %"class.sc_dt::sc_bigint", align 8
  %34 = alloca %"class.sc_dt::sc_signed", align 8
  %35 = alloca %"class.sc_dt::sc_bigint", align 8
  %36 = alloca %"class.sc_dt::sc_bigint", align 8
  %37 = alloca %"class.sc_dt::sc_signed", align 8
  %38 = alloca %"class.sc_dt::sc_bigint", align 8
  %39 = alloca %"class.sc_dt::sc_bigint", align 8
  %40 = alloca %"class.sc_dt::sc_signed", align 8
  %41 = alloca %"class.sc_dt::sc_bigint", align 8
  %42 = alloca %"class.sc_dt::sc_bigint", align 8
  %43 = alloca %"class.sc_dt::sc_signed", align 8
  %44 = alloca %"class.sc_dt::sc_bigint", align 8
  %45 = alloca %"class.sc_dt::sc_bigint", 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 20, ptr %5) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %5, ptr align 16 @__const.sc_main.vali, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 20, ptr %6) #6
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %6, ptr align 16 @__const.sc_main.valj, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  store i32 3, ptr %7, align 4, !tbaa !5
  br label %46

46:                                               ; preds = %826, %2
  %47 = load i32, ptr %7, align 4, !tbaa !5
  %48 = icmp slt i32 %47, 30
  br i1 %48, label %50, label %49

49:                                               ; preds = %46
  store i32 2, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  br label %829

50:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  store i32 3, ptr %9, align 4, !tbaa !5
  br label %51

51:                                               ; preds = %820, %50
  %52 = load i32, ptr %9, align 4, !tbaa !5
  %53 = icmp slt i32 %52, 30
  br i1 %53, label %55, label %54

54:                                               ; preds = %51
  store i32 5, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  br label %825

55:                                               ; preds = %51
  %56 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
  %57 = load i32, ptr %7, align 4, !tbaa !5
  %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %56, i32 noundef %57)
  %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef @.str.3)
  %60 = load i32, ptr %9, align 4, !tbaa !5
  %61 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %59, i32 noundef %60)
  %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #6
  %63 = load i32, ptr %7, align 4, !tbaa !5
  call void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %63)
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  %64 = load i32, ptr %9, align 4, !tbaa !5
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %64)
          to label %65 unwind label %91

65:                                               ; preds = %55
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 64)
          to label %66 unwind label %95

66:                                               ; preds = %65
  %67 = load i32, ptr %7, align 4, !tbaa !5
  %68 = sub nsw i32 %67, 1
  %69 = shl i32 1, %68
  %70 = sub nsw i32 %69, 1
  %71 = getelementptr inbounds [5 x i32], ptr %5, i64 0, i64 3
  store i32 %70, ptr %71, align 4, !tbaa !5
  %72 = load i32, ptr %7, align 4, !tbaa !5
  %73 = sub nsw i32 %72, 1
  %74 = shl i32 1, %73
  %75 = sub nsw i32 0, %74
  %76 = getelementptr inbounds [5 x i32], ptr %5, i64 0, i64 4
  store i32 %75, ptr %76, align 16, !tbaa !5
  %77 = load i32, ptr %9, align 4, !tbaa !5
  %78 = sub nsw i32 %77, 1
  %79 = shl i32 1, %78
  %80 = sub nsw i32 %79, 1
  %81 = getelementptr inbounds [5 x i32], ptr %6, i64 0, i64 3
  store i32 %80, ptr %81, align 4, !tbaa !5
  %82 = load i32, ptr %9, align 4, !tbaa !5
  %83 = sub nsw i32 %82, 1
  %84 = shl i32 1, %83
  %85 = sub nsw i32 0, %84
  %86 = getelementptr inbounds [5 x i32], ptr %6, i64 0, i64 4
  store i32 %85, ptr %86, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !5
  br label %87

87:                                               ; preds = %816, %66
  %88 = load i32, ptr %15, align 4, !tbaa !5
  %89 = icmp slt i32 %88, 100
  br i1 %89, label %99, label %90

90:                                               ; preds = %87
  store i32 8, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %819

91:                                               ; preds = %55
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %12, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %13, align 4
  br label %824

95:                                               ; preds = %65
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %12, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %13, align 4
  br label %823

99:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !5
  br label %100

100:                                              ; preds = %804, %99
  %101 = load i32, ptr %16, align 4, !tbaa !5
  %102 = icmp slt i32 %101, 100
  br i1 %102, label %104, label %103

103:                                              ; preds = %100
  store i32 11, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  br label %815

104:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  %105 = load i32, ptr %15, align 4, !tbaa !5
  %106 = icmp slt i32 %105, 5
  br i1 %106, label %107, label %112

107:                                              ; preds = %104
  %108 = load i32, ptr %15, align 4, !tbaa !5
  %109 = sext i32 %108 to i64
  %110 = getelementptr inbounds [5 x i32], ptr %5, i64 0, i64 %109
  %111 = load i32, ptr %110, align 4, !tbaa !5
  br label %119

112:                                              ; preds = %104
  %113 = invoke noundef i32 @_ZN7QTIsaacILj8EE4randEv(ptr noundef nonnull align 8 dereferenceable(48) @rng)
          to label %114 unwind label %151

114:                                              ; preds = %112
  %115 = load i32, ptr %7, align 4, !tbaa !5
  %116 = shl i32 1, %115
  %117 = sub nsw i32 %116, 1
  %118 = and i32 %113, %117
  br label %119

119:                                              ; preds = %114, %107
  %120 = phi i32 [ %111, %107 ], [ %118, %114 ]
  store i32 %120, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  %121 = load i32, ptr %16, align 4, !tbaa !5
  %122 = icmp slt i32 %121, 5
  br i1 %122, label %123, label %128

123:                                              ; preds = %119
  %124 = load i32, ptr %16, align 4, !tbaa !5
  %125 = sext i32 %124 to i64
  %126 = getelementptr inbounds [5 x i32], ptr %6, i64 0, i64 %125
  %127 = load i32, ptr %126, align 4, !tbaa !5
  br label %135

128:                                              ; preds = %119
  %129 = invoke noundef i32 @_ZN7QTIsaacILj8EE4randEv(ptr noundef nonnull align 8 dereferenceable(48) @rng)
          to label %130 unwind label %155

130:                                              ; preds = %128
  %131 = load i32, ptr %9, align 4, !tbaa !5
  %132 = shl i32 1, %131
  %133 = sub nsw i32 %132, 1
  %134 = and i32 %129, %133
  br label %135

135:                                              ; preds = %130, %123
  %136 = phi i32 [ %127, %123 ], [ %134, %130 ]
  store i32 %136, ptr %18, align 4, !tbaa !5
  %137 = load i32, ptr %17, align 4, !tbaa !5
  %138 = load i32, ptr %7, align 4, !tbaa !5
  %139 = sub nsw i32 %138, 1
  %140 = shl i32 1, %139
  %141 = and i32 %137, %140
  %142 = icmp ne i32 %141, 0
  br i1 %142, label %143, label %159

143:                                              ; preds = %135
  %144 = load i32, ptr %17, align 4, !tbaa !5
  %145 = load i32, ptr %7, align 4, !tbaa !5
  %146 = sub nsw i32 32, %145
  %147 = shl i32 %144, %146
  %148 = load i32, ptr %7, align 4, !tbaa !5
  %149 = sub nsw i32 32, %148
  %150 = lshr i32 %147, %149
  store i32 %150, ptr %17, align 4, !tbaa !5
  br label %159

151:                                              ; preds = %112
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %12, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %13, align 4
  br label %814

155:                                              ; preds = %177, %174, %128
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %12, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %13, align 4
  br label %813

159:                                              ; preds = %143, %135
  %160 = load i32, ptr %18, align 4, !tbaa !5
  %161 = load i32, ptr %9, align 4, !tbaa !5
  %162 = sub nsw i32 %161, 1
  %163 = shl i32 1, %162
  %164 = and i32 %160, %163
  %165 = icmp ne i32 %164, 0
  br i1 %165, label %166, label %174

166:                                              ; preds = %159
  %167 = load i32, ptr %18, align 4, !tbaa !5
  %168 = load i32, ptr %9, align 4, !tbaa !5
  %169 = sub nsw i32 32, %168
  %170 = shl i32 %167, %169
  %171 = load i32, ptr %9, align 4, !tbaa !5
  %172 = sub nsw i32 32, %171
  %173 = ashr i32 %170, %172
  store i32 %173, ptr %18, align 4, !tbaa !5
  br label %174

174:                                              ; preds = %166, %159
  %175 = load i32, ptr %17, align 4, !tbaa !5
  %176 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSEj(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %175)
          to label %177 unwind label %155

177:                                              ; preds = %174
  %178 = load i32, ptr %18, align 4, !tbaa !5
  %179 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef %178)
          to label %180 unwind label %155

180:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #6
  invoke void @_ZN5sc_dt9sc_signedC1ERKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %181 unwind label %203

181:                                              ; preds = %180
  %182 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %183 unwind label %207

183:                                              ; preds = %181
  br i1 %182, label %184, label %211

184:                                              ; preds = %183
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.4)
          to label %186 unwind label %207

186:                                              ; preds = %184
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef @.str.5)
          to label %188 unwind label %207

188:                                              ; preds = %186
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %190 unwind label %207

190:                                              ; preds = %188
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef @.str.6)
          to label %192 unwind label %207

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef @.str.7)
          to label %194 unwind label %207

194:                                              ; preds = %192
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef @.str.8)
          to label %196 unwind label %207

196:                                              ; preds = %194
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %198 unwind label %207

198:                                              ; preds = %196
  %199 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef @.str.9)
          to label %200 unwind label %207

200:                                              ; preds = %198
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %199, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %202 unwind label %207

202:                                              ; preds = %200
  br label %211

203:                                              ; preds = %180
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %12, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %13, align 4
  br label %812

207:                                              ; preds = %377, %375, %313, %311, %249, %247, %232, %225, %222, %217, %215, %211, %200, %198, %196, %194, %192, %190, %188, %186, %184, %181
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %12, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %13, align 4
  br label %811

211:                                              ; preds = %202, %183
  %212 = invoke noundef zeroext i1 @_ZN5sc_dtgeERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %19, i32 noundef 0)
          to label %213 unwind label %207

213:                                              ; preds = %211
  br i1 %212, label %214, label %215

214:                                              ; preds = %213
  br label %217

215:                                              ; preds = %213
  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.11, i32 noundef 87)
          to label %216 unwind label %207

216:                                              ; preds = %215
  br label %217

217:                                              ; preds = %216, %214
  %218 = phi i32 [ 0, %214 ], [ 0, %216 ]
  %219 = load i32, ptr %7, align 4, !tbaa !5
  %220 = sub nsw i32 %219, 1
  %221 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %220)
          to label %222 unwind label %207

222:                                              ; preds = %217
  %223 = invoke noundef zeroext i1 @_ZNK5sc_dt20sc_unsigned_bitref_rntEv(ptr noundef nonnull align 8 dereferenceable(24) %221)
          to label %224 unwind label %207

224:                                              ; preds = %222
  br i1 %223, label %231, label %225

225:                                              ; preds = %224
  %226 = invoke noundef i32 @_ZNK5sc_dt9sc_signed6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %227 unwind label %207

227:                                              ; preds = %225
  %228 = load i32, ptr %7, align 4, !tbaa !5
  %229 = add nsw i32 %228, 1
  %230 = icmp eq i32 %226, %229
  br i1 %230, label %231, label %232

231:                                              ; preds = %227, %224
  br label %234

232:                                              ; preds = %227
  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.11, i32 noundef 88)
          to label %233 unwind label %207

233:                                              ; preds = %232
  br label %234

234:                                              ; preds = %233, %231
  %235 = phi i32 [ 0, %231 ], [ 0, %233 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #6
  invoke void @_ZN5sc_dtplERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %236 unwind label %272

236:                                              ; preds = %234
  %237 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %238 unwind label %276

238:                                              ; preds = %236
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  %239 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %240 unwind label %281

240:                                              ; preds = %238
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(28) %239)
          to label %241 unwind label %281

241:                                              ; preds = %240
  %242 = load i32, ptr %17, align 4, !tbaa !5
  %243 = load i32, ptr %18, align 4, !tbaa !5
  %244 = add nsw i32 %242, %243
  %245 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %21, i32 noundef %244)
          to label %246 unwind label %285

246:                                              ; preds = %241
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br i1 %245, label %247, label %299

247:                                              ; preds = %246
  %248 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %249 unwind label %207

249:                                              ; preds = %247
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef @.str.5)
          to label %251 unwind label %207

251:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  %252 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %253 unwind label %290

253:                                              ; preds = %251
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(28) %252)
          to label %254 unwind label %290

254:                                              ; preds = %253
  %255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %256 unwind label %294

256:                                              ; preds = %254
  %257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %255, ptr noundef @.str.6)
          to label %258 unwind label %294

258:                                              ; preds = %256
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %257, ptr noundef @.str.14)
          to label %260 unwind label %294

260:                                              ; preds = %258
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef @.str.8)
          to label %262 unwind label %294

262:                                              ; preds = %260
  %263 = load i32, ptr %17, align 4, !tbaa !5
  %264 = load i32, ptr %18, align 4, !tbaa !5
  %265 = add nsw i32 %263, %264
  %266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %261, i32 noundef %265)
          to label %267 unwind label %294

267:                                              ; preds = %262
  %268 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %266, ptr noundef @.str.9)
          to label %269 unwind label %294

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

271:                                              ; preds = %269
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %299

272:                                              ; preds = %234
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %12, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %13, align 4
  br label %280

276:                                              ; preds = %236
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %12, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %280

280:                                              ; preds = %276, %272
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #6
  br label %811

281:                                              ; preds = %240, %238
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %12, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, ptr %13, align 4
  br label %289

285:                                              ; preds = %241
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %12, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %289

289:                                              ; preds = %285, %281
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %811

290:                                              ; preds = %253, %251
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %12, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %13, align 4
  br label %298

294:                                              ; preds = %269, %267, %262, %260, %258, %256, %254
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %12, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %298

298:                                              ; preds = %294, %290
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  br label %811

299:                                              ; preds = %271, %246
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  invoke void @_ZN5sc_dtmiERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %300 unwind label %336

300:                                              ; preds = %299
  %301 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %302 unwind label %340

302:                                              ; preds = %300
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  %303 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %304 unwind label %345

304:                                              ; preds = %302
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(28) %303)
          to label %305 unwind label %345

305:                                              ; preds = %304
  %306 = load i32, ptr %17, align 4, !tbaa !5
  %307 = load i32, ptr %18, align 4, !tbaa !5
  %308 = sub nsw i32 %306, %307
  %309 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %24, i32 noundef %308)
          to label %310 unwind label %349

310:                                              ; preds = %305
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  br i1 %309, label %311, label %363

311:                                              ; preds = %310
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %313 unwind label %207

313:                                              ; preds = %311
  %314 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef @.str.5)
          to label %315 unwind label %207

315:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  %316 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %317 unwind label %354

317:                                              ; preds = %315
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(28) %316)
          to label %318 unwind label %354

318:                                              ; preds = %317
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %320 unwind label %358

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %319, ptr noundef @.str.6)
          to label %322 unwind label %358

322:                                              ; preds = %320
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %321, ptr noundef @.str.15)
          to label %324 unwind label %358

324:                                              ; preds = %322
  %325 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %323, ptr noundef @.str.8)
          to label %326 unwind label %358

326:                                              ; preds = %324
  %327 = load i32, ptr %17, align 4, !tbaa !5
  %328 = load i32, ptr %18, align 4, !tbaa !5
  %329 = sub nsw i32 %327, %328
  %330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %325, i32 noundef %329)
          to label %331 unwind label %358

331:                                              ; preds = %326
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef @.str.9)
          to label %333 unwind label %358

333:                                              ; preds = %331
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %335 unwind label %358

335:                                              ; preds = %333
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %363

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

340:                                              ; preds = %300
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %12, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %344

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

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

349:                                              ; preds = %305
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %12, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %353

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

354:                                              ; preds = %317, %315
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %12, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %13, align 4
  br label %362

358:                                              ; preds = %333, %331, %326, %324, %322, %320, %318
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %12, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %362

362:                                              ; preds = %358, %354
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  br label %811

363:                                              ; preds = %335, %310
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #6
  invoke void @_ZN5sc_dtmlERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %364 unwind label %400

364:                                              ; preds = %363
  %365 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %366 unwind label %404

366:                                              ; preds = %364
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  %367 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %368 unwind label %409

368:                                              ; preds = %366
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(28) %367)
          to label %369 unwind label %409

369:                                              ; preds = %368
  %370 = load i32, ptr %17, align 4, !tbaa !5
  %371 = load i32, ptr %18, align 4, !tbaa !5
  %372 = mul nsw i32 %370, %371
  %373 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %27, i32 noundef %372)
          to label %374 unwind label %413

374:                                              ; preds = %369
  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
  br i1 %373, label %375, label %427

375:                                              ; preds = %374
  %376 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %377 unwind label %207

377:                                              ; preds = %375
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %376, ptr noundef @.str.5)
          to label %379 unwind label %207

379:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #6
  %380 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %381 unwind label %418

381:                                              ; preds = %379
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(28) %380)
          to label %382 unwind label %418

382:                                              ; preds = %381
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %378, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %384 unwind label %422

384:                                              ; preds = %382
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef @.str.6)
          to label %386 unwind label %422

386:                                              ; preds = %384
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef @.str.16)
          to label %388 unwind label %422

388:                                              ; preds = %386
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %387, ptr noundef @.str.8)
          to label %390 unwind label %422

390:                                              ; preds = %388
  %391 = load i32, ptr %17, align 4, !tbaa !5
  %392 = load i32, ptr %18, align 4, !tbaa !5
  %393 = mul nsw i32 %391, %392
  %394 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %389, i32 noundef %393)
          to label %395 unwind label %422

395:                                              ; preds = %390
  %396 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef @.str.9)
          to label %397 unwind label %422

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

399:                                              ; preds = %397
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  br label %427

400:                                              ; preds = %363
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %12, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %13, align 4
  br label %408

404:                                              ; preds = %364
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %12, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %408

408:                                              ; preds = %404, %400
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  br label %811

409:                                              ; preds = %368, %366
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %12, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %13, align 4
  br label %417

413:                                              ; preds = %369
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %12, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %417

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

418:                                              ; preds = %381, %379
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %12, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %13, align 4
  br label %426

422:                                              ; preds = %397, %395, %390, %388, %386, %384, %382
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %12, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %426

426:                                              ; preds = %422, %418
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #6
  br label %811

427:                                              ; preds = %399, %374
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  %428 = load i32, ptr %7, align 4, !tbaa !5
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %29, i32 noundef %428)
          to label %429 unwind label %463

429:                                              ; preds = %427
  %430 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %431 unwind label %467

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedmLERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %433 unwind label %467

433:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  %434 = load i32, ptr %7, align 4, !tbaa !5
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %30, i32 noundef %434)
          to label %435 unwind label %471

435:                                              ; preds = %433
  %436 = load i32, ptr %7, align 4, !tbaa !5
  %437 = sub nsw i32 %436, 1
  %438 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef %437, i32 noundef 0)
          to label %439 unwind label %475

439:                                              ; preds = %435
  %440 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(28) %438)
          to label %441 unwind label %475

441:                                              ; preds = %439
  %442 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedES2_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %443 unwind label %475

443:                                              ; preds = %441
  br i1 %442, label %444, label %479

444:                                              ; preds = %443
  %445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.17)
          to label %446 unwind label %475

446:                                              ; preds = %444
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %445, ptr noundef @.str.5)
          to label %448 unwind label %475

448:                                              ; preds = %446
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %447, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %450 unwind label %475

450:                                              ; preds = %448
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %449, ptr noundef @.str.6)
          to label %452 unwind label %475

452:                                              ; preds = %450
  %453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %451, ptr noundef @.str.18)
          to label %454 unwind label %475

454:                                              ; preds = %452
  %455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %453, ptr noundef @.str.8)
          to label %456 unwind label %475

456:                                              ; preds = %454
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %455, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %458 unwind label %475

458:                                              ; preds = %456
  %459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %457, ptr noundef @.str.9)
          to label %460 unwind label %475

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

462:                                              ; preds = %460
  br label %479

463:                                              ; preds = %427
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %12, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %13, align 4
  br label %810

467:                                              ; preds = %431, %429
  %468 = landingpad { ptr, i32 }
          cleanup
  %469 = extractvalue { ptr, i32 } %468, 0
  store ptr %469, ptr %12, align 8
  %470 = extractvalue { ptr, i32 } %468, 1
  store i32 %470, ptr %13, align 4
  br label %809

471:                                              ; preds = %433
  %472 = landingpad { ptr, i32 }
          cleanup
  %473 = extractvalue { ptr, i32 } %472, 0
  store ptr %473, ptr %12, align 8
  %474 = extractvalue { ptr, i32 } %472, 1
  store i32 %474, ptr %13, align 4
  br label %808

475:                                              ; preds = %753, %751, %689, %687, %625, %623, %560, %558, %496, %494, %479, %460, %458, %456, %454, %452, %450, %448, %446, %444, %441, %439, %435
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %12, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %13, align 4
  br label %807

479:                                              ; preds = %462, %443
  %480 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %11, i32 noundef 0)
          to label %481 unwind label %475

481:                                              ; preds = %479
  br i1 %480, label %482, label %611

482:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  invoke void @_ZN5sc_dtdvERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %483 unwind label %519

483:                                              ; preds = %482
  %484 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %485 unwind label %523

485:                                              ; preds = %483
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  %486 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %487 unwind label %528

487:                                              ; preds = %485
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(28) %486)
          to label %488 unwind label %528

488:                                              ; preds = %487
  %489 = load i32, ptr %17, align 4, !tbaa !5
  %490 = load i32, ptr %18, align 4, !tbaa !5
  %491 = sdiv i32 %489, %490
  %492 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %32, i32 noundef %491)
          to label %493 unwind label %532

493:                                              ; preds = %488
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br i1 %492, label %494, label %546

494:                                              ; preds = %493
  %495 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %496 unwind label %475

496:                                              ; preds = %494
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %495, ptr noundef @.str.5)
          to label %498 unwind label %475

498:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  %499 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %500 unwind label %537

500:                                              ; preds = %498
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(28) %499)
          to label %501 unwind label %537

501:                                              ; preds = %500
  %502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %497, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %503 unwind label %541

503:                                              ; preds = %501
  %504 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %502, ptr noundef @.str.6)
          to label %505 unwind label %541

505:                                              ; preds = %503
  %506 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %504, ptr noundef @.str.19)
          to label %507 unwind label %541

507:                                              ; preds = %505
  %508 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %506, ptr noundef @.str.8)
          to label %509 unwind label %541

509:                                              ; preds = %507
  %510 = load i32, ptr %17, align 4, !tbaa !5
  %511 = load i32, ptr %18, align 4, !tbaa !5
  %512 = sdiv i32 %510, %511
  %513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %508, i32 noundef %512)
          to label %514 unwind label %541

514:                                              ; preds = %509
  %515 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %513, ptr noundef @.str.9)
          to label %516 unwind label %541

516:                                              ; preds = %514
  %517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %515, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %518 unwind label %541

518:                                              ; preds = %516
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %546

519:                                              ; preds = %482
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %12, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %13, align 4
  br label %527

523:                                              ; preds = %483
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %12, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %527

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

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

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

536:                                              ; preds = %532, %528
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %807

537:                                              ; preds = %500, %498
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %12, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %13, align 4
  br label %545

541:                                              ; preds = %516, %514, %509, %507, %505, %503, %501
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %12, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %545

545:                                              ; preds = %541, %537
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  br label %807

546:                                              ; preds = %518, %493
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  invoke void @_ZN5sc_dtrmERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %547 unwind label %583

547:                                              ; preds = %546
  %548 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %549 unwind label %587

549:                                              ; preds = %547
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  %550 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %551 unwind label %592

551:                                              ; preds = %549
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(28) %550)
          to label %552 unwind label %592

552:                                              ; preds = %551
  %553 = load i32, ptr %17, align 4, !tbaa !5
  %554 = load i32, ptr %18, align 4, !tbaa !5
  %555 = srem i32 %553, %554
  %556 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %35, i32 noundef %555)
          to label %557 unwind label %596

557:                                              ; preds = %552
  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
  br i1 %556, label %558, label %610

558:                                              ; preds = %557
  %559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %560 unwind label %475

560:                                              ; preds = %558
  %561 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %559, ptr noundef @.str.5)
          to label %562 unwind label %475

562:                                              ; preds = %560
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  %563 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %564 unwind label %601

564:                                              ; preds = %562
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(28) %563)
          to label %565 unwind label %601

565:                                              ; preds = %564
  %566 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %561, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %567 unwind label %605

567:                                              ; preds = %565
  %568 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %566, ptr noundef @.str.6)
          to label %569 unwind label %605

569:                                              ; preds = %567
  %570 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %568, ptr noundef @.str.20)
          to label %571 unwind label %605

571:                                              ; preds = %569
  %572 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %570, ptr noundef @.str.8)
          to label %573 unwind label %605

573:                                              ; preds = %571
  %574 = load i32, ptr %17, align 4, !tbaa !5
  %575 = load i32, ptr %18, align 4, !tbaa !5
  %576 = srem i32 %574, %575
  %577 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %572, i32 noundef %576)
          to label %578 unwind label %605

578:                                              ; preds = %573
  %579 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %577, ptr noundef @.str.9)
          to label %580 unwind label %605

580:                                              ; preds = %578
  %581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %579, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %582 unwind label %605

582:                                              ; preds = %580
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %610

583:                                              ; preds = %546
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %12, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %13, align 4
  br label %591

587:                                              ; preds = %547
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %12, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %591

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

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

596:                                              ; preds = %552
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %12, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %600

600:                                              ; preds = %596, %592
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  br label %807

601:                                              ; preds = %564, %562
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %12, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %13, align 4
  br label %609

605:                                              ; preds = %580, %578, %573, %571, %569, %567, %565
  %606 = landingpad { ptr, i32 }
          cleanup
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %12, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %609

609:                                              ; preds = %605, %601
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %807

610:                                              ; preds = %582, %557
  br label %611

611:                                              ; preds = %610, %481
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #6
  invoke void @_ZN5sc_dtanERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %612 unwind label %648

612:                                              ; preds = %611
  %613 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %614 unwind label %652

614:                                              ; preds = %612
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  %615 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %616 unwind label %657

616:                                              ; preds = %614
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(28) %615)
          to label %617 unwind label %657

617:                                              ; preds = %616
  %618 = load i32, ptr %17, align 4, !tbaa !5
  %619 = load i32, ptr %18, align 4, !tbaa !5
  %620 = and i32 %618, %619
  %621 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %38, i32 noundef %620)
          to label %622 unwind label %661

622:                                              ; preds = %617
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br i1 %621, label %623, label %675

623:                                              ; preds = %622
  %624 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %625 unwind label %475

625:                                              ; preds = %623
  %626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %624, ptr noundef @.str.5)
          to label %627 unwind label %475

627:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %628 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %629 unwind label %666

629:                                              ; preds = %627
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(28) %628)
          to label %630 unwind label %666

630:                                              ; preds = %629
  %631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %626, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %632 unwind label %670

632:                                              ; preds = %630
  %633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %631, ptr noundef @.str.6)
          to label %634 unwind label %670

634:                                              ; preds = %632
  %635 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %633, ptr noundef @.str.21)
          to label %636 unwind label %670

636:                                              ; preds = %634
  %637 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %635, ptr noundef @.str.8)
          to label %638 unwind label %670

638:                                              ; preds = %636
  %639 = load i32, ptr %17, align 4, !tbaa !5
  %640 = load i32, ptr %18, align 4, !tbaa !5
  %641 = and i32 %639, %640
  %642 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %637, i32 noundef %641)
          to label %643 unwind label %670

643:                                              ; preds = %638
  %644 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %642, ptr noundef @.str.9)
          to label %645 unwind label %670

645:                                              ; preds = %643
  %646 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %644, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %647 unwind label %670

647:                                              ; preds = %645
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %675

648:                                              ; preds = %611
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %12, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %13, align 4
  br label %656

652:                                              ; preds = %612
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %12, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %656

656:                                              ; preds = %652, %648
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  br label %807

657:                                              ; preds = %616, %614
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %12, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %13, align 4
  br label %665

661:                                              ; preds = %617
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %12, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %665

665:                                              ; preds = %661, %657
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %807

666:                                              ; preds = %629, %627
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %12, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %13, align 4
  br label %674

670:                                              ; preds = %645, %643, %638, %636, %634, %632, %630
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %12, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %674

674:                                              ; preds = %670, %666
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %807

675:                                              ; preds = %647, %622
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  invoke void @_ZN5sc_dtorERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %676 unwind label %712

676:                                              ; preds = %675
  %677 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %678 unwind label %716

678:                                              ; preds = %676
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  %679 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %680 unwind label %721

680:                                              ; preds = %678
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(28) %679)
          to label %681 unwind label %721

681:                                              ; preds = %680
  %682 = load i32, ptr %17, align 4, !tbaa !5
  %683 = load i32, ptr %18, align 4, !tbaa !5
  %684 = or i32 %682, %683
  %685 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %41, i32 noundef %684)
          to label %686 unwind label %725

686:                                              ; preds = %681
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br i1 %685, label %687, label %739

687:                                              ; preds = %686
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %689 unwind label %475

689:                                              ; preds = %687
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %688, ptr noundef @.str.5)
          to label %691 unwind label %475

691:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  %692 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %693 unwind label %730

693:                                              ; preds = %691
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(28) %692)
          to label %694 unwind label %730

694:                                              ; preds = %693
  %695 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %690, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %696 unwind label %734

696:                                              ; preds = %694
  %697 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %695, ptr noundef @.str.6)
          to label %698 unwind label %734

698:                                              ; preds = %696
  %699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %697, ptr noundef @.str.22)
          to label %700 unwind label %734

700:                                              ; preds = %698
  %701 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %699, ptr noundef @.str.8)
          to label %702 unwind label %734

702:                                              ; preds = %700
  %703 = load i32, ptr %17, align 4, !tbaa !5
  %704 = load i32, ptr %18, align 4, !tbaa !5
  %705 = or i32 %703, %704
  %706 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %701, i32 noundef %705)
          to label %707 unwind label %734

707:                                              ; preds = %702
  %708 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %706, ptr noundef @.str.9)
          to label %709 unwind label %734

709:                                              ; preds = %707
  %710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %708, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %711 unwind label %734

711:                                              ; preds = %709
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %739

712:                                              ; preds = %675
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %12, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %13, align 4
  br label %720

716:                                              ; preds = %676
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %12, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %720

720:                                              ; preds = %716, %712
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %807

721:                                              ; preds = %680, %678
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %12, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %13, align 4
  br label %729

725:                                              ; preds = %681
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %12, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %729

729:                                              ; preds = %725, %721
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %807

730:                                              ; preds = %693, %691
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %12, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %13, align 4
  br label %738

734:                                              ; preds = %709, %707, %702, %700, %698, %696, %694
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %12, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %738

738:                                              ; preds = %734, %730
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %807

739:                                              ; preds = %711, %686
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  invoke void @_ZN5sc_dteoERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %740 unwind label %776

740:                                              ; preds = %739
  %741 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %742 unwind label %780

742:                                              ; preds = %740
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  %743 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %744 unwind label %785

744:                                              ; preds = %742
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(28) %743)
          to label %745 unwind label %785

745:                                              ; preds = %744
  %746 = load i32, ptr %17, align 4, !tbaa !5
  %747 = load i32, ptr %18, align 4, !tbaa !5
  %748 = xor i32 %746, %747
  %749 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %44, i32 noundef %748)
          to label %750 unwind label %789

750:                                              ; preds = %745
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br i1 %749, label %751, label %803

751:                                              ; preds = %750
  %752 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
          to label %753 unwind label %475

753:                                              ; preds = %751
  %754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %752, ptr noundef @.str.5)
          to label %755 unwind label %475

755:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  %756 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %14, i32 noundef 31, i32 noundef 0)
          to label %757 unwind label %794

757:                                              ; preds = %755
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(28) %756)
          to label %758 unwind label %794

758:                                              ; preds = %757
  %759 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %754, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %760 unwind label %798

760:                                              ; preds = %758
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %759, ptr noundef @.str.6)
          to label %762 unwind label %798

762:                                              ; preds = %760
  %763 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef @.str.23)
          to label %764 unwind label %798

764:                                              ; preds = %762
  %765 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %763, ptr noundef @.str.8)
          to label %766 unwind label %798

766:                                              ; preds = %764
  %767 = load i32, ptr %17, align 4, !tbaa !5
  %768 = load i32, ptr %18, align 4, !tbaa !5
  %769 = xor i32 %767, %768
  %770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %765, i32 noundef %769)
          to label %771 unwind label %798

771:                                              ; preds = %766
  %772 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %770, ptr noundef @.str.9)
          to label %773 unwind label %798

773:                                              ; preds = %771
  %774 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %772, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %775 unwind label %798

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

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

780:                                              ; preds = %740
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %12, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %784

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

785:                                              ; preds = %744, %742
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %12, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %13, align 4
  br label %793

789:                                              ; preds = %745
  %790 = landingpad { ptr, i32 }
          cleanup
  %791 = extractvalue { ptr, i32 } %790, 0
  store ptr %791, ptr %12, align 8
  %792 = extractvalue { ptr, i32 } %790, 1
  store i32 %792, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %793

793:                                              ; preds = %789, %785
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %807

794:                                              ; preds = %757, %755
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %12, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %13, align 4
  br label %802

798:                                              ; preds = %773, %771, %766, %764, %762, %760, %758
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %12, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %13, align 4
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %802

802:                                              ; preds = %798, %794
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %807

803:                                              ; preds = %775, %750
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  br label %804

804:                                              ; preds = %803
  %805 = load i32, ptr %16, align 4, !tbaa !5
  %806 = add nsw i32 %805, 1
  store i32 %806, ptr %16, align 4, !tbaa !5
  br label %100, !llvm.loop !11

807:                                              ; preds = %802, %793, %784, %738, %729, %720, %674, %665, %656, %609, %600, %591, %545, %536, %527, %475
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %808

808:                                              ; preds = %807, %471
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %809

809:                                              ; preds = %808, %467
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %810

810:                                              ; preds = %809, %463
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  br label %811

811:                                              ; preds = %810, %426, %417, %408, %362, %353, %344, %298, %289, %280, %207
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %812

812:                                              ; preds = %811, %203
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  br label %813

813:                                              ; preds = %812, %155
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  br label %814

814:                                              ; preds = %813, %151
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %823

815:                                              ; preds = %103
  br label %816

816:                                              ; preds = %815
  %817 = load i32, ptr %15, align 4, !tbaa !5
  %818 = add nsw i32 %817, 1
  store i32 %818, ptr %15, align 4, !tbaa !5
  br label %87, !llvm.loop !13

819:                                              ; preds = %90
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  br label %820

820:                                              ; preds = %819
  %821 = load i32, ptr %9, align 4, !tbaa !5
  %822 = add nsw i32 %821, 1
  store i32 %822, ptr %9, align 4, !tbaa !5
  br label %51, !llvm.loop !14

823:                                              ; preds = %814, %95
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %824

824:                                              ; preds = %823, %91
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr %5) #6
  br label %830

825:                                              ; preds = %54
  br label %826

826:                                              ; preds = %825
  %827 = load i32, ptr %7, align 4, !tbaa !5
  %828 = add nsw i32 %827, 1
  store i32 %828, ptr %7, align 4, !tbaa !5
  br label %46, !llvm.loop !15

829:                                              ; preds = %49
  store i32 1, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 20, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr %5) #6
  ret i32 0

830:                                              ; preds = %824
  %831 = load ptr, ptr %12, align 8
  %832 = load i32, ptr %13, align 4
  %833 = insertvalue { ptr, i32 } poison, ptr %831, 0
  %834 = insertvalue { ptr, i32 } %833, i32 %832, 1
  resume { ptr, i32 } %834
}

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

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

; Function Attrs: inlinehint mustprogress 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) #4

; 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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

declare noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

; 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 dso_local noundef zeroext i1 @_ZN5sc_dtgeERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #3

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

; 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 zeroext i1 @_ZNK5sc_dt20sc_unsigned_bitref_rntEv(ptr noundef nonnull align 8 dereferenceable(24)) #4

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

declare void @_ZN5sc_dtplERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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

; 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

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

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

declare void @_ZN5sc_dtmiERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dtmlERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedmLERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) #4

declare noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedES2_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dtdvERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dtrmERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dtanERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dtorERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

declare void @_ZN5sc_dteoERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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


; 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.QTIsaac = type { ptr, %"struct.QTIsaac<>::randctx" }
%"struct.QTIsaac<>::randctx" = type <{ i32, [4 x i8], ptr, ptr, i32, i32, i32, [4 x i8] }>
%"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_unsigned" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_value_base" = type { ptr }
%"class.sc_dt::sc_signed" = type { %"class.sc_dt::sc_value_base", i32, i32, i32, ptr }
%"class.sc_dt::sc_bigint" = type { %"class.sc_dt::sc_signed" }

@rng = external dso_local global %class.QTIsaac, align 8
@__const.sc_main.vali = external hidden unnamed_addr constant [5 x i32], align 16
@__const.sc_main.valj = external hidden unnamed_addr constant [5 x i32], align 16
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [5 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN7sc_core23SC_ID_ASSERTION_FAILED_E = external constant [0 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [18 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 [5 x i32], align 16
  %4 = alloca [5 x i32], align 16
  %5 = alloca %"class.sc_dt::sc_unsigned", align 8
  %6 = alloca %"class.sc_dt::sc_signed", align 8
  %7 = alloca %"class.sc_dt::sc_signed", align 8
  %8 = alloca %"class.sc_dt::sc_signed", align 8
  %9 = alloca %"class.sc_dt::sc_signed", align 8
  %10 = alloca %"class.sc_dt::sc_bigint", align 8
  %11 = alloca %"class.sc_dt::sc_bigint", align 8
  %12 = alloca %"class.sc_dt::sc_signed", align 8
  %13 = alloca %"class.sc_dt::sc_bigint", align 8
  %14 = alloca %"class.sc_dt::sc_bigint", align 8
  %15 = alloca %"class.sc_dt::sc_signed", align 8
  %16 = alloca %"class.sc_dt::sc_bigint", align 8
  %17 = alloca %"class.sc_dt::sc_bigint", align 8
  %18 = alloca %"class.sc_dt::sc_unsigned", align 8
  %19 = alloca %"class.sc_dt::sc_unsigned", align 8
  %20 = alloca %"class.sc_dt::sc_signed", align 8
  %21 = alloca %"class.sc_dt::sc_bigint", align 8
  %22 = alloca %"class.sc_dt::sc_bigint", align 8
  %23 = alloca %"class.sc_dt::sc_signed", align 8
  %24 = alloca %"class.sc_dt::sc_bigint", align 8
  %25 = alloca %"class.sc_dt::sc_bigint", align 8
  %26 = alloca %"class.sc_dt::sc_signed", align 8
  %27 = alloca %"class.sc_dt::sc_bigint", align 8
  %28 = alloca %"class.sc_dt::sc_bigint", align 8
  %29 = alloca %"class.sc_dt::sc_signed", align 8
  %30 = alloca %"class.sc_dt::sc_bigint", align 8
  %31 = alloca %"class.sc_dt::sc_bigint", align 8
  %32 = alloca %"class.sc_dt::sc_signed", align 8
  %33 = alloca %"class.sc_dt::sc_bigint", align 8
  %34 = alloca %"class.sc_dt::sc_bigint", align 8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %3) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %3, ptr noundef nonnull align 16 dereferenceable(20) @__const.sc_main.vali, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %4) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %4, ptr noundef nonnull align 16 dereferenceable(20) @__const.sc_main.valj, i64 16, i1 false)
  %35 = getelementptr inbounds i8, ptr %3, i64 12
  %36 = getelementptr inbounds i8, ptr %3, i64 16
  %37 = getelementptr inbounds i8, ptr %4, i64 12
  %38 = getelementptr inbounds i8, ptr %4, i64 16
  br label %.preheader171

.preheader171:                                    ; preds = %2, %48
  %.0111175 = phi i32 [ 3, %2 ], [ %46, %48 ]
  %39 = add nsw i32 %.0111175, -1
  %40 = shl nuw nsw i32 1, %39
  %41 = add nsw i32 %40, -1
  %42 = sub nsw i32 0, %40
  %notmask = shl nsw i32 -1, %.0111175
  %43 = xor i32 %notmask, -1
  %44 = sub nuw nsw i32 32, %.0111175
  %45 = lshr i32 -1, %44
  %46 = add nuw nsw i32 %.0111175, 1
  br label %49

47:                                               ; preds = %48
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %3) #6
  ret i32 0

48:                                               ; preds = %65
  %exitcond182.not = icmp eq i32 %46, 30
  br i1 %exitcond182.not, label %47, label %.preheader171, !llvm.loop !5

49:                                               ; preds = %.preheader171, %65
  %.0110174 = phi i32 [ 3, %.preheader171 ], [ %66, %65 ]
  %50 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
  %51 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %50, i32 noundef %.0111175)
  %52 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull @.str.3)
  %53 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %52, i32 noundef %.0110174)
  %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.0111175)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.0110174)
          to label %55 unwind label %67

55:                                               ; preds = %49
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  invoke void @_ZN5sc_dt9sc_signedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 64)
          to label %56 unwind label %69

56:                                               ; preds = %55
  store i32 %41, ptr %35, align 4, !tbaa !7
  store i32 %42, ptr %36, align 16, !tbaa !7
  %57 = add nsw i32 %.0110174, -1
  %58 = shl nuw nsw i32 1, %57
  %59 = add nsw i32 %58, -1
  store i32 %59, ptr %37, align 4, !tbaa !7
  %60 = sub nsw i32 0, %58
  store i32 %60, ptr %38, align 16, !tbaa !7
  %notmask112 = shl nsw i32 -1, %.0110174
  %61 = xor i32 %notmask112, -1
  %62 = sub nuw nsw i32 32, %.0110174
  br label %.preheader

.preheader:                                       ; preds = %56, %71
  %indvars.iv177 = phi i64 [ 0, %56 ], [ %indvars.iv.next178, %71 ]
  %63 = icmp ult i64 %indvars.iv177, 5
  %64 = getelementptr inbounds [5 x i32], ptr %3, i64 0, i64 %indvars.iv177
  br label %72

65:                                               ; preds = %71
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  %66 = add nuw nsw i32 %.0110174, 1
  %exitcond181.not = icmp eq i32 %66, 30
  br i1 %exitcond181.not, label %48, label %49, !llvm.loop !11

67:                                               ; preds = %49
  %68 = landingpad { ptr, i32 }
          cleanup
  br label %569

69:                                               ; preds = %55
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %568

71:                                               ; preds = %560
  %indvars.iv.next178 = add nuw nsw i64 %indvars.iv177, 1
  %exitcond180.not = icmp eq i64 %indvars.iv.next178, 100
  br i1 %exitcond180.not, label %65, label %.preheader, !llvm.loop !12

72:                                               ; preds = %.preheader, %560
  %indvars.iv = phi i64 [ 0, %.preheader ], [ %indvars.iv.next, %560 ]
  br i1 %63, label %73, label %75

73:                                               ; preds = %72
  %74 = load i32, ptr %64, align 4, !tbaa !7
  br label %79

75:                                               ; preds = %72
  %76 = invoke noundef i32 @_ZN7QTIsaacILj8EE4randEv(ptr noundef nonnull align 8 dereferenceable(48) @rng)
          to label %77 unwind label %97

77:                                               ; preds = %75
  %78 = and i32 %76, %43
  br label %79

79:                                               ; preds = %77, %73
  %80 = phi i32 [ %74, %73 ], [ %78, %77 ]
  %81 = icmp ult i64 %indvars.iv, 5
  br i1 %81, label %82, label %85

82:                                               ; preds = %79
  %83 = getelementptr inbounds [5 x i32], ptr %4, i64 0, i64 %indvars.iv
  %84 = load i32, ptr %83, align 4, !tbaa !7
  br label %89

85:                                               ; preds = %79
  %86 = invoke noundef i32 @_ZN7QTIsaacILj8EE4randEv(ptr noundef nonnull align 8 dereferenceable(48) @rng)
          to label %87 unwind label %99

87:                                               ; preds = %85
  %88 = and i32 %86, %61
  br label %89

89:                                               ; preds = %87, %82
  %90 = phi i32 [ %84, %82 ], [ %88, %87 ]
  %91 = and i32 %80, %40
  %.not = icmp eq i32 %91, 0
  %92 = select i1 %.not, i32 -1, i32 %45
  %.072 = and i32 %92, %80
  %93 = and i32 %90, %58
  %.not113 = icmp eq i32 %93, 0
  %94 = shl i32 %90, %62
  %95 = ashr exact i32 %94, %62
  %.0 = select i1 %.not113, i32 %90, i32 %95
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSEj(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %.072)
          to label %101 unwind label %99

97:                                               ; preds = %75
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %567

99:                                               ; preds = %101, %89, %85
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %567

101:                                              ; preds = %89
  %102 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef %.0)
          to label %103 unwind label %99

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

104:                                              ; preds = %103
  %105 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %106 unwind label %127

106:                                              ; preds = %104
  br i1 %105, label %107, label %129

107:                                              ; preds = %106
  %108 = 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.4)
          to label %109 unwind label %127

109:                                              ; preds = %107
  %110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef nonnull @.str.5)
          to label %111 unwind label %127

111:                                              ; preds = %109
  %112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %110, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %113 unwind label %127

113:                                              ; preds = %111
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull @.str.6)
          to label %115 unwind label %127

115:                                              ; preds = %113
  %116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull @.str.7)
          to label %117 unwind label %127

117:                                              ; preds = %115
  %118 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull @.str.8)
          to label %119 unwind label %127

119:                                              ; preds = %117
  %120 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %121 unwind label %127

121:                                              ; preds = %119
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull @.str.9)
          to label %123 unwind label %127

123:                                              ; preds = %121
  %124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %122, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %129 unwind label %127

125:                                              ; preds = %103
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %566

127:                                              ; preds = %248, %246, %201, %199, %154, %152, %141, %135, %133, %132, %129, %123, %121, %119, %117, %115, %113, %111, %109, %107, %104
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %565

129:                                              ; preds = %123, %106
  %130 = invoke noundef zeroext i1 @_ZN5sc_dtgeERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %8, i32 noundef 0)
          to label %131 unwind label %127

131:                                              ; preds = %129
  br i1 %130, label %133, label %132

132:                                              ; preds = %131
  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.11, i32 noundef 87)
          to label %133 unwind label %127

133:                                              ; preds = %132, %131
  %134 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN5sc_dt11sc_unsignedixEi(ptr noundef nonnull align 8 dereferenceable(32) %5, i32 noundef %39)
          to label %135 unwind label %127

135:                                              ; preds = %133
  %136 = invoke noundef zeroext i1 @_ZNK5sc_dt20sc_unsigned_bitref_rntEv(ptr noundef nonnull align 8 dereferenceable(24) %134)
          to label %137 unwind label %127

137:                                              ; preds = %135
  br i1 %136, label %142, label %138

138:                                              ; preds = %137
  %139 = call noundef i32 @_ZNK5sc_dt9sc_signed6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %140 = icmp eq i32 %139, %46
  br i1 %140, label %142, label %141

141:                                              ; preds = %138
  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.11, i32 noundef 88)
          to label %142 unwind label %127

142:                                              ; preds = %141, %137, %138
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  invoke void @_ZN5sc_dtplERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %143 unwind label %174

143:                                              ; preds = %142
  %144 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %145 unwind label %176

145:                                              ; preds = %143
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #6
  %146 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %147 unwind label %179

147:                                              ; preds = %145
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(28) %146)
          to label %148 unwind label %179

148:                                              ; preds = %147
  %149 = add nsw i32 %.0, %.072
  %150 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %10, i32 noundef %149)
          to label %151 unwind label %181

151:                                              ; preds = %148
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br i1 %150, label %152, label %189

152:                                              ; preds = %151
  %153 = 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.13)
          to label %154 unwind label %127

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %153, ptr noundef nonnull @.str.5)
          to label %156 unwind label %127

156:                                              ; preds = %154
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  %157 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %158 unwind label %184

158:                                              ; preds = %156
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(28) %157)
          to label %159 unwind label %184

159:                                              ; preds = %158
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %155, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %161 unwind label %186

161:                                              ; preds = %159
  %162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull @.str.6)
          to label %163 unwind label %186

163:                                              ; preds = %161
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull @.str.14)
          to label %165 unwind label %186

165:                                              ; preds = %163
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @.str.8)
          to label %167 unwind label %186

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %166, i32 noundef %149)
          to label %169 unwind label %186

169:                                              ; preds = %167
  %170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull @.str.9)
          to label %171 unwind label %186

171:                                              ; preds = %169
  %172 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %170, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %173 unwind label %186

173:                                              ; preds = %171
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %189

174:                                              ; preds = %142
  %175 = landingpad { ptr, i32 }
          cleanup
  br label %178

176:                                              ; preds = %143
  %177 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %178

178:                                              ; preds = %176, %174
  %.pn = phi { ptr, i32 } [ %177, %176 ], [ %175, %174 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  br label %565

179:                                              ; preds = %147, %145
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %183

181:                                              ; preds = %148
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %183

183:                                              ; preds = %181, %179
  %.pn115 = phi { ptr, i32 } [ %182, %181 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #6
  br label %565

184:                                              ; preds = %158, %156
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %188

186:                                              ; preds = %171, %169, %167, %165, %163, %161, %159
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %188

188:                                              ; preds = %186, %184
  %.pn117 = phi { ptr, i32 } [ %187, %186 ], [ %185, %184 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  br label %565

189:                                              ; preds = %173, %151
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  invoke void @_ZN5sc_dtmiERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %190 unwind label %221

190:                                              ; preds = %189
  %191 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %192 unwind label %223

192:                                              ; preds = %190
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  %193 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %194 unwind label %226

194:                                              ; preds = %192
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(28) %193)
          to label %195 unwind label %226

195:                                              ; preds = %194
  %196 = sub nsw i32 %.072, %.0
  %197 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %13, i32 noundef %196)
          to label %198 unwind label %228

198:                                              ; preds = %195
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  br i1 %197, label %199, label %236

199:                                              ; preds = %198
  %200 = 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.13)
          to label %201 unwind label %127

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef nonnull @.str.5)
          to label %203 unwind label %127

203:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  %204 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %205 unwind label %231

205:                                              ; preds = %203
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(28) %204)
          to label %206 unwind label %231

206:                                              ; preds = %205
  %207 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %208 unwind label %233

208:                                              ; preds = %206
  %209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef nonnull @.str.6)
          to label %210 unwind label %233

210:                                              ; preds = %208
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %209, ptr noundef nonnull @.str.15)
          to label %212 unwind label %233

212:                                              ; preds = %210
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @.str.8)
          to label %214 unwind label %233

214:                                              ; preds = %212
  %215 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %213, i32 noundef %196)
          to label %216 unwind label %233

216:                                              ; preds = %214
  %217 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %215, ptr noundef nonnull @.str.9)
          to label %218 unwind label %233

218:                                              ; preds = %216
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %220 unwind label %233

220:                                              ; preds = %218
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %236

221:                                              ; preds = %189
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %225

223:                                              ; preds = %190
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %225

225:                                              ; preds = %223, %221
  %.pn119 = phi { ptr, i32 } [ %224, %223 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  br label %565

226:                                              ; preds = %194, %192
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %230

228:                                              ; preds = %195
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %230

230:                                              ; preds = %228, %226
  %.pn121 = phi { ptr, i32 } [ %229, %228 ], [ %227, %226 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  br label %565

231:                                              ; preds = %205, %203
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %235

233:                                              ; preds = %218, %216, %214, %212, %210, %208, %206
  %234 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %235

235:                                              ; preds = %233, %231
  %.pn123 = phi { ptr, i32 } [ %234, %233 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %565

236:                                              ; preds = %220, %198
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  invoke void @_ZN5sc_dtmlERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %237 unwind label %268

237:                                              ; preds = %236
  %238 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %239 unwind label %270

239:                                              ; preds = %237
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  %240 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %241 unwind label %273

241:                                              ; preds = %239
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(28) %240)
          to label %242 unwind label %273

242:                                              ; preds = %241
  %243 = mul nsw i32 %.0, %.072
  %244 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %16, i32 noundef %243)
          to label %245 unwind label %275

245:                                              ; preds = %242
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  br i1 %244, label %246, label %283

246:                                              ; preds = %245
  %247 = 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.13)
          to label %248 unwind label %127

248:                                              ; preds = %246
  %249 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %247, ptr noundef nonnull @.str.5)
          to label %250 unwind label %127

250:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  %251 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %252 unwind label %278

252:                                              ; preds = %250
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(28) %251)
          to label %253 unwind label %278

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

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %254, ptr noundef nonnull @.str.6)
          to label %257 unwind label %280

257:                                              ; preds = %255
  %258 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef nonnull @.str.16)
          to label %259 unwind label %280

259:                                              ; preds = %257
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %258, ptr noundef nonnull @.str.8)
          to label %261 unwind label %280

261:                                              ; preds = %259
  %262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %260, i32 noundef %243)
          to label %263 unwind label %280

263:                                              ; preds = %261
  %264 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %262, ptr noundef nonnull @.str.9)
          to label %265 unwind label %280

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

267:                                              ; preds = %265
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %283

268:                                              ; preds = %236
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %272

270:                                              ; preds = %237
  %271 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %272

272:                                              ; preds = %270, %268
  %.pn125 = phi { ptr, i32 } [ %271, %270 ], [ %269, %268 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %565

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

275:                                              ; preds = %242
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %277

277:                                              ; preds = %275, %273
  %.pn127 = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  br label %565

278:                                              ; preds = %252, %250
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %282

280:                                              ; preds = %265, %263, %261, %259, %257, %255, %253
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %282

282:                                              ; preds = %280, %278
  %.pn129 = phi { ptr, i32 } [ %281, %280 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %565

283:                                              ; preds = %267, %245
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %18, i32 noundef %.0111175)
          to label %284 unwind label %314

284:                                              ; preds = %283
  %285 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %286 unwind label %316

286:                                              ; preds = %284
  %287 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedmLERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %288 unwind label %316

288:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  invoke void @_ZN5sc_dt11sc_unsignedC1Ei(ptr noundef nonnull align 8 dereferenceable(32) %19, i32 noundef %.0111175)
          to label %289 unwind label %318

289:                                              ; preds = %288
  %290 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef %39, i32 noundef 0)
          to label %291 unwind label %320

291:                                              ; preds = %289
  %292 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(28) %290)
          to label %293 unwind label %320

293:                                              ; preds = %291
  %294 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedES2_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %295 unwind label %320

295:                                              ; preds = %293
  br i1 %294, label %296, label %322

296:                                              ; preds = %295
  %297 = 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.17)
          to label %298 unwind label %320

298:                                              ; preds = %296
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %297, ptr noundef nonnull @.str.5)
          to label %300 unwind label %320

300:                                              ; preds = %298
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %299, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %302 unwind label %320

302:                                              ; preds = %300
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull @.str.6)
          to label %304 unwind label %320

304:                                              ; preds = %302
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %303, ptr noundef nonnull @.str.18)
          to label %306 unwind label %320

306:                                              ; preds = %304
  %307 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %305, ptr noundef nonnull @.str.8)
          to label %308 unwind label %320

308:                                              ; preds = %306
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_11sc_unsignedE(ptr noundef nonnull align 8 dereferenceable(8) %307, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %310 unwind label %320

310:                                              ; preds = %308
  %311 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %309, ptr noundef nonnull @.str.9)
          to label %312 unwind label %320

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

314:                                              ; preds = %283
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %564

316:                                              ; preds = %286, %284
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %563

318:                                              ; preds = %288
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %562

320:                                              ; preds = %525, %523, %478, %476, %431, %429, %384, %382, %338, %336, %322, %312, %310, %308, %306, %304, %302, %300, %298, %296, %293, %291, %289
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %561

322:                                              ; preds = %312, %295
  %323 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %6, i32 noundef 0)
          to label %324 unwind label %320

324:                                              ; preds = %322
  br i1 %323, label %325, label %419

325:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  invoke void @_ZN5sc_dtdvERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %326 unwind label %358

326:                                              ; preds = %325
  %327 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %328 unwind label %360

328:                                              ; preds = %326
  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
  %329 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %330 unwind label %363

330:                                              ; preds = %328
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(28) %329)
          to label %331 unwind label %363

331:                                              ; preds = %330
  %332 = sdiv i32 %.072, %.0
  %333 = srem i32 %.072, %.0
  %334 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %21, i32 noundef %332)
          to label %335 unwind label %365

335:                                              ; preds = %331
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br i1 %334, label %336, label %373

336:                                              ; preds = %335
  %337 = 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.13)
          to label %338 unwind label %320

338:                                              ; preds = %336
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull @.str.5)
          to label %340 unwind label %320

340:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  %341 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %342 unwind label %368

342:                                              ; preds = %340
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(28) %341)
          to label %343 unwind label %368

343:                                              ; preds = %342
  %344 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %345 unwind label %370

345:                                              ; preds = %343
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull @.str.6)
          to label %347 unwind label %370

347:                                              ; preds = %345
  %348 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %346, ptr noundef nonnull @.str.19)
          to label %349 unwind label %370

349:                                              ; preds = %347
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef nonnull @.str.8)
          to label %351 unwind label %370

351:                                              ; preds = %349
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %350, i32 noundef %332)
          to label %353 unwind label %370

353:                                              ; preds = %351
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull @.str.9)
          to label %355 unwind label %370

355:                                              ; preds = %353
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %354, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %357 unwind label %370

357:                                              ; preds = %355
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %373

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

360:                                              ; preds = %326
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %362

362:                                              ; preds = %360, %358
  %.pn131 = phi { ptr, i32 } [ %361, %360 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %561

363:                                              ; preds = %330, %328
  %364 = landingpad { ptr, i32 }
          cleanup
  br label %367

365:                                              ; preds = %331
  %366 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %367

367:                                              ; preds = %365, %363
  %.pn133 = phi { ptr, i32 } [ %366, %365 ], [ %364, %363 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %561

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

370:                                              ; preds = %355, %353, %351, %349, %347, %345, %343
  %371 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %372

372:                                              ; preds = %370, %368
  %.pn135 = phi { ptr, i32 } [ %371, %370 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %561

373:                                              ; preds = %357, %335
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  invoke void @_ZN5sc_dtrmERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %374 unwind label %404

374:                                              ; preds = %373
  %375 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %376 unwind label %406

376:                                              ; preds = %374
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  %377 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %378 unwind label %409

378:                                              ; preds = %376
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(28) %377)
          to label %379 unwind label %409

379:                                              ; preds = %378
  %380 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %24, i32 noundef %333)
          to label %381 unwind label %411

381:                                              ; preds = %379
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br i1 %380, label %382, label %419

382:                                              ; preds = %381
  %383 = 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.13)
          to label %384 unwind label %320

384:                                              ; preds = %382
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef nonnull @.str.5)
          to label %386 unwind label %320

386:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  %387 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %388 unwind label %414

388:                                              ; preds = %386
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(28) %387)
          to label %389 unwind label %414

389:                                              ; preds = %388
  %390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %391 unwind label %416

391:                                              ; preds = %389
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %390, ptr noundef nonnull @.str.6)
          to label %393 unwind label %416

393:                                              ; preds = %391
  %394 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %392, ptr noundef nonnull @.str.20)
          to label %395 unwind label %416

395:                                              ; preds = %393
  %396 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %394, ptr noundef nonnull @.str.8)
          to label %397 unwind label %416

397:                                              ; preds = %395
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %396, i32 noundef %333)
          to label %399 unwind label %416

399:                                              ; preds = %397
  %400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %398, ptr noundef nonnull @.str.9)
          to label %401 unwind label %416

401:                                              ; preds = %399
  %402 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %400, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %403 unwind label %416

403:                                              ; preds = %401
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %419

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

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

408:                                              ; preds = %406, %404
  %.pn137 = phi { ptr, i32 } [ %407, %406 ], [ %405, %404 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  br label %561

409:                                              ; preds = %378, %376
  %410 = landingpad { ptr, i32 }
          cleanup
  br label %413

411:                                              ; preds = %379
  %412 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %413

413:                                              ; preds = %411, %409
  %.pn139 = phi { ptr, i32 } [ %412, %411 ], [ %410, %409 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %561

414:                                              ; preds = %388, %386
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %418

416:                                              ; preds = %401, %399, %397, %395, %393, %391, %389
  %417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %418

418:                                              ; preds = %416, %414
  %.pn141 = phi { ptr, i32 } [ %417, %416 ], [ %415, %414 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %561

419:                                              ; preds = %381, %403, %324
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  invoke void @_ZN5sc_dtanERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %420 unwind label %451

420:                                              ; preds = %419
  %421 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %422 unwind label %453

422:                                              ; preds = %420
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  %423 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %424 unwind label %456

424:                                              ; preds = %422
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(28) %423)
          to label %425 unwind label %456

425:                                              ; preds = %424
  %426 = and i32 %.0, %.072
  %427 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %27, i32 noundef %426)
          to label %428 unwind label %458

428:                                              ; preds = %425
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br i1 %427, label %429, label %466

429:                                              ; preds = %428
  %430 = 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.13)
          to label %431 unwind label %320

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %430, ptr noundef nonnull @.str.5)
          to label %433 unwind label %320

433:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  %434 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %435 unwind label %461

435:                                              ; preds = %433
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(28) %434)
          to label %436 unwind label %461

436:                                              ; preds = %435
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %432, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %438 unwind label %463

438:                                              ; preds = %436
  %439 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %437, ptr noundef nonnull @.str.6)
          to label %440 unwind label %463

440:                                              ; preds = %438
  %441 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull @.str.21)
          to label %442 unwind label %463

442:                                              ; preds = %440
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %441, ptr noundef nonnull @.str.8)
          to label %444 unwind label %463

444:                                              ; preds = %442
  %445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %443, i32 noundef %426)
          to label %446 unwind label %463

446:                                              ; preds = %444
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %445, ptr noundef nonnull @.str.9)
          to label %448 unwind label %463

448:                                              ; preds = %446
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %447, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %450 unwind label %463

450:                                              ; preds = %448
  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
  br label %466

451:                                              ; preds = %419
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %455

453:                                              ; preds = %420
  %454 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %455

455:                                              ; preds = %453, %451
  %.pn143 = phi { ptr, i32 } [ %454, %453 ], [ %452, %451 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  br label %561

456:                                              ; preds = %424, %422
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %460

458:                                              ; preds = %425
  %459 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %460

460:                                              ; preds = %458, %456
  %.pn145 = phi { ptr, i32 } [ %459, %458 ], [ %457, %456 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %561

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

463:                                              ; preds = %448, %446, %444, %442, %440, %438, %436
  %464 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %465

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

466:                                              ; preds = %450, %428
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  invoke void @_ZN5sc_dtorERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %467 unwind label %498

467:                                              ; preds = %466
  %468 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %469 unwind label %500

469:                                              ; preds = %467
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  %470 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %471 unwind label %503

471:                                              ; preds = %469
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(28) %470)
          to label %472 unwind label %503

472:                                              ; preds = %471
  %473 = or i32 %.0, %.072
  %474 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %30, i32 noundef %473)
          to label %475 unwind label %505

475:                                              ; preds = %472
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br i1 %474, label %476, label %513

476:                                              ; preds = %475
  %477 = 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.13)
          to label %478 unwind label %320

478:                                              ; preds = %476
  %479 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull @.str.5)
          to label %480 unwind label %320

480:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  %481 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %482 unwind label %508

482:                                              ; preds = %480
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(28) %481)
          to label %483 unwind label %508

483:                                              ; preds = %482
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %479, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %485 unwind label %510

485:                                              ; preds = %483
  %486 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef nonnull @.str.6)
          to label %487 unwind label %510

487:                                              ; preds = %485
  %488 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %486, ptr noundef nonnull @.str.22)
          to label %489 unwind label %510

489:                                              ; preds = %487
  %490 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %488, ptr noundef nonnull @.str.8)
          to label %491 unwind label %510

491:                                              ; preds = %489
  %492 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %490, i32 noundef %473)
          to label %493 unwind label %510

493:                                              ; preds = %491
  %494 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %492, ptr noundef nonnull @.str.9)
          to label %495 unwind label %510

495:                                              ; preds = %493
  %496 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %494, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %497 unwind label %510

497:                                              ; preds = %495
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  br label %513

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

500:                                              ; preds = %467
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %502

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

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

505:                                              ; preds = %472
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %507

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

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

510:                                              ; preds = %495, %493, %491, %489, %487, %485, %483
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %512

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

513:                                              ; preds = %497, %475
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  invoke void @_ZN5sc_dteoERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind nonnull writable sret(%"class.sc_dt::sc_signed") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %514 unwind label %545

514:                                              ; preds = %513
  %515 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %516 unwind label %547

516:                                              ; preds = %514
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  %517 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %518 unwind label %550

518:                                              ; preds = %516
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(28) %517)
          to label %519 unwind label %550

519:                                              ; preds = %518
  %520 = xor i32 %.0, %.072
  %521 = invoke noundef zeroext i1 @_ZN5sc_dtneERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32) %33, i32 noundef %520)
          to label %522 unwind label %552

522:                                              ; preds = %519
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  br i1 %521, label %523, label %560

523:                                              ; preds = %522
  %524 = 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.13)
          to label %525 unwind label %320

525:                                              ; preds = %523
  %526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %524, ptr noundef nonnull @.str.5)
          to label %527 unwind label %320

527:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  %528 = invoke noundef nonnull align 8 dereferenceable(28) ptr @_ZN5sc_dt9sc_signed5rangeEii(ptr noundef nonnull align 8 dereferenceable(32) %7, i32 noundef 31, i32 noundef 0)
          to label %529 unwind label %555

529:                                              ; preds = %527
  invoke void @_ZN5sc_dt9sc_bigintILi32EEC2ERKNS_16sc_signed_subrefE(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(28) %528)
          to label %530 unwind label %555

530:                                              ; preds = %529
  %531 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN5sc_dtlsERSoRKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(8) %526, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %532 unwind label %557

532:                                              ; preds = %530
  %533 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %531, ptr noundef nonnull @.str.6)
          to label %534 unwind label %557

534:                                              ; preds = %532
  %535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %533, ptr noundef nonnull @.str.23)
          to label %536 unwind label %557

536:                                              ; preds = %534
  %537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %535, ptr noundef nonnull @.str.8)
          to label %538 unwind label %557

538:                                              ; preds = %536
  %539 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %537, i32 noundef %520)
          to label %540 unwind label %557

540:                                              ; preds = %538
  %541 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %539, ptr noundef nonnull @.str.9)
          to label %542 unwind label %557

542:                                              ; preds = %540
  %543 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %541, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %544 unwind label %557

544:                                              ; preds = %542
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  br label %560

545:                                              ; preds = %513
  %546 = landingpad { ptr, i32 }
          cleanup
  br label %549

547:                                              ; preds = %514
  %548 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %549

549:                                              ; preds = %547, %545
  %.pn155 = phi { ptr, i32 } [ %548, %547 ], [ %546, %545 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %561

550:                                              ; preds = %518, %516
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %554

552:                                              ; preds = %519
  %553 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %554

554:                                              ; preds = %552, %550
  %.pn157 = phi { ptr, i32 } [ %553, %552 ], [ %551, %550 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  br label %561

555:                                              ; preds = %529, %527
  %556 = landingpad { ptr, i32 }
          cleanup
  br label %559

557:                                              ; preds = %542, %540, %538, %536, %534, %532, %530
  %558 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %559

559:                                              ; preds = %557, %555
  %.pn159 = phi { ptr, i32 } [ %558, %557 ], [ %556, %555 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  br label %561

560:                                              ; preds = %544, %522
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 100
  br i1 %exitcond.not, label %71, label %72, !llvm.loop !13

561:                                              ; preds = %559, %554, %549, %512, %507, %502, %465, %460, %455, %418, %413, %408, %372, %367, %362, %320
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %559 ], [ %321, %320 ], [ %.pn157, %554 ], [ %.pn155, %549 ], [ %.pn153, %512 ], [ %.pn151, %507 ], [ %.pn149, %502 ], [ %.pn147, %465 ], [ %.pn145, %460 ], [ %.pn143, %455 ], [ %.pn141, %418 ], [ %.pn139, %413 ], [ %.pn137, %408 ], [ %.pn135, %372 ], [ %.pn133, %367 ], [ %.pn131, %362 ]
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %562

562:                                              ; preds = %561, %318
  %.pn159.pn.pn = phi { ptr, i32 } [ %.pn159.pn, %561 ], [ %319, %318 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %563

563:                                              ; preds = %562, %316
  %.pn159.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn, %562 ], [ %317, %316 ]
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %564

564:                                              ; preds = %563, %314
  %.pn159.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn, %563 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %565

565:                                              ; preds = %564, %282, %277, %272, %235, %230, %225, %188, %183, %178, %127
  %.pn159.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn.pn, %564 ], [ %.pn129, %282 ], [ %128, %127 ], [ %.pn127, %277 ], [ %.pn125, %272 ], [ %.pn123, %235 ], [ %.pn121, %230 ], [ %.pn119, %225 ], [ %.pn117, %188 ], [ %.pn115, %183 ], [ %.pn, %178 ]
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %566

566:                                              ; preds = %565, %125
  %.pn159.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn.pn.pn, %565 ], [ %126, %125 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  br label %567

567:                                              ; preds = %99, %566, %97
  %.pn159.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %98, %97 ], [ %.pn159.pn.pn.pn.pn.pn.pn, %566 ], [ %100, %99 ]
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %568

568:                                              ; preds = %567, %69
  %.pn159.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn.pn.pn.pn.pn.pn, %567 ], [ %70, %69 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @_ZN5sc_dt9sc_signedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  br label %569

569:                                              ; preds = %568, %67
  %.pn159.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn159.pn.pn.pn.pn.pn.pn.pn.pn.pn, %568 ], [ %68, %67 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZN5sc_dt11sc_unsignedD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %4) #6
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn159.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: inlinehint mustprogress 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 #4

; 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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

declare noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; 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 dso_local noundef zeroext i1 @_ZN5sc_dtgeERKNS_9sc_signedEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #3

declare void @_ZN7sc_core17sc_report_handler6reportENS_11sc_severityEPKcS3_S3_i(i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

; 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 zeroext i1 @_ZNK5sc_dt20sc_unsigned_bitref_rntEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

declare void @_ZN5sc_dtplERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt9sc_signedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

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

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

; 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

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

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

declare void @_ZN5sc_dtmiERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dtmlERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedmLERKNS_9sc_signedE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZN5sc_dt11sc_unsignedaSERKNS_18sc_signed_subref_rE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(28)) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN5sc_dtneERKNS_11sc_unsignedES2_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dtdvERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dtrmERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dtanERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dtorERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

declare void @_ZN5sc_dteoERKNS_11sc_unsignedERKNS_9sc_signedE(ptr dead_on_unwind writable sret(%"class.sc_dt::sc_signed") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

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

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


; Effective O3 passes: DSEPass,DivRemPairsPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,LoopSimplifyPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass