; LLVM IR from abeaumont/competitive-programming :: kattis (4thought)

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

%"class.std::basic_istream" = type { ptr, i64, %"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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Tuple_impl.2", %"struct.std::_Head_base.5" }
%"struct.std::_Tuple_impl.2" = type { %"struct.std::_Tuple_impl.3", %"struct.std::_Head_base.4" }
%"struct.std::_Tuple_impl.3" = type { %"struct.std::_Head_base" }
%"struct.std::_Head_base" = type { i32 }
%"struct.std::_Head_base.4" = type { i32 }
%"struct.std::_Head_base.5" = type { i32 }
%"struct.std::__detail::_Node_const_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"class.std::tuple.6" = type { %"struct.std::_Tuple_impl.7" }
%"struct.std::_Tuple_impl.7" = type { %"struct.std::_Tuple_impl.8", %"struct.std::_Head_base.12" }
%"struct.std::_Tuple_impl.8" = type { %"struct.std::_Tuple_impl.9", %"struct.std::_Head_base.11" }
%"struct.std::_Tuple_impl.9" = type { %"struct.std::_Head_base.10" }
%"struct.std::_Head_base.10" = type { ptr }
%"struct.std::_Head_base.11" = type { ptr }
%"struct.std::_Head_base.12" = type { ptr }
%"struct.std::pair" = type { i32, %"class.std::tuple" }

@_ZSt3cin = external global %"class.std::basic_istream", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca %"class.std::unordered_map", align 8
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::tuple", align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::tuple", align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %"class.std::tuple", align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::tuple", align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::tuple", align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %"class.std::tuple", align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca %"class.std::tuple", align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca %"class.std::tuple", align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca %"class.std::tuple", align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca %"class.std::tuple", align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca %"class.std::tuple", align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::tuple", align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca %"class.std::tuple", align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca %"class.std::tuple", align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca %"class.std::tuple", align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca %"class.std::tuple", align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca %"class.std::tuple", align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca %"class.std::tuple", align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca %"class.std::tuple", align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca %"class.std::tuple", align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca %"class.std::tuple", align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca %"class.std::tuple", align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca %"class.std::tuple", align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca %"class.std::tuple", align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca %"class.std::tuple", align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %"class.std::tuple", align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca %"class.std::tuple", align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca %"class.std::tuple", align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca %"class.std::tuple", align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca %"class.std::tuple", align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca %"class.std::tuple", align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca %"class.std::tuple", align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %"class.std::tuple", align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca %"class.std::tuple", align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca %"class.std::tuple", align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca %"class.std::tuple", align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca %"class.std::tuple", align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca %"class.std::tuple", align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca %"class.std::tuple", align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca %"class.std::tuple", align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca %"class.std::tuple", align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca %"class.std::tuple", align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca %"class.std::tuple", align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca %"class.std::tuple", align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca %"class.std::tuple", align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca %"class.std::tuple", align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca %"class.std::tuple", align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca %"class.std::tuple", align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca %"class.std::tuple", align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca %"class.std::tuple", align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca %"class.std::tuple", align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca %"class.std::tuple", align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca %"class.std::tuple", align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca %"class.std::tuple", align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca %"class.std::tuple", align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca %"class.std::tuple", align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca %"class.std::tuple", align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca %"class.std::tuple", align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca %"class.std::tuple", align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca %"class.std::tuple", align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca %"class.std::tuple", align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca %"class.std::tuple", align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca %"class.std::tuple", align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca %"class.std::tuple", align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %333 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %334 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca %"class.std::tuple.6", align 8
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 56, ptr %2) #7
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %2) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #7
  store i32 0, ptr %3, align 4, !tbaa !5
  br label %339

339:                                              ; preds = %1898, %0
  %340 = load i32, ptr %3, align 4, !tbaa !5
  %341 = icmp slt i32 %340, 4
  br i1 %341, label %343, label %342

342:                                              ; preds = %339
  store i32 2, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  br label %1901

343:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #7
  store i32 0, ptr %5, align 4, !tbaa !5
  br label %344

344:                                              ; preds = %1894, %343
  %345 = load i32, ptr %5, align 4, !tbaa !5
  %346 = icmp slt i32 %345, 4
  br i1 %346, label %348, label %347

347:                                              ; preds = %344
  store i32 5, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  br label %1897

348:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #7
  store i32 0, ptr %6, align 4, !tbaa !5
  br label %349

349:                                              ; preds = %1889, %348
  %350 = load i32, ptr %6, align 4, !tbaa !5
  %351 = icmp slt i32 %350, 4
  br i1 %351, label %353, label %352

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

353:                                              ; preds = %349
  %354 = load i32, ptr %3, align 4, !tbaa !5
  %355 = icmp eq i32 %354, 0
  br i1 %355, label %356, label %376

356:                                              ; preds = %353
  %357 = load i32, ptr %5, align 4, !tbaa !5
  %358 = icmp eq i32 %357, 0
  br i1 %358, label %359, label %376

359:                                              ; preds = %356
  %360 = load i32, ptr %6, align 4, !tbaa !5
  %361 = icmp eq i32 %360, 0
  br i1 %361, label %362, label %376

362:                                              ; preds = %359
  call void @llvm.lifetime.start.p0(i64 12, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #7
  store i32 0, ptr %8, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  store i32 0, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  store i32 0, ptr %10, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %363 unwind label %367

363:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  store i32 256, ptr %13, align 4, !tbaa !5
  %364 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %365 unwind label %371

365:                                              ; preds = %363
  %366 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %364, ptr noundef nonnull align 4 dereferenceable(12) %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %7) #7
  br label %1888

367:                                              ; preds = %362
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %11, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %12, align 4
  br label %375

371:                                              ; preds = %363
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %11, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  br label %375

375:                                              ; preds = %371, %367
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %7) #7
  br label %1892

376:                                              ; preds = %359, %356, %353
  %377 = load i32, ptr %3, align 4, !tbaa !5
  %378 = icmp eq i32 %377, 0
  br i1 %378, label %379, label %399

379:                                              ; preds = %376
  %380 = load i32, ptr %5, align 4, !tbaa !5
  %381 = icmp eq i32 %380, 0
  br i1 %381, label %382, label %399

382:                                              ; preds = %379
  %383 = load i32, ptr %6, align 4, !tbaa !5
  %384 = icmp eq i32 %383, 1
  br i1 %384, label %385, label %399

385:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 12, ptr %14) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  store i32 0, ptr %15, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  store i32 0, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #7
  store i32 1, ptr %17, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %14, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %386 unwind label %390

386:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  store i32 16, ptr %18, align 4, !tbaa !5
  %387 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %388 unwind label %394

388:                                              ; preds = %386
  %389 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %387, ptr noundef nonnull align 4 dereferenceable(12) %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %14) #7
  br label %1887

390:                                              ; preds = %385
  %391 = landingpad { ptr, i32 }
          cleanup
  %392 = extractvalue { ptr, i32 } %391, 0
  store ptr %392, ptr %11, align 8
  %393 = extractvalue { ptr, i32 } %391, 1
  store i32 %393, ptr %12, align 4
  br label %398

394:                                              ; preds = %386
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %11, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  br label %398

398:                                              ; preds = %394, %390
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %14) #7
  br label %1892

399:                                              ; preds = %382, %379, %376
  %400 = load i32, ptr %3, align 4, !tbaa !5
  %401 = icmp eq i32 %400, 0
  br i1 %401, label %402, label %422

402:                                              ; preds = %399
  %403 = load i32, ptr %5, align 4, !tbaa !5
  %404 = icmp eq i32 %403, 0
  br i1 %404, label %405, label %422

405:                                              ; preds = %402
  %406 = load i32, ptr %6, align 4, !tbaa !5
  %407 = icmp eq i32 %406, 2
  br i1 %407, label %408, label %422

408:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 12, ptr %19) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #7
  store i32 0, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  store i32 0, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 2, ptr %22, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %19, ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %409 unwind label %413

409:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  store i32 68, ptr %23, align 4, !tbaa !5
  %410 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %411 unwind label %417

411:                                              ; preds = %409
  %412 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %410, ptr noundef nonnull align 4 dereferenceable(12) %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %19) #7
  br label %1886

413:                                              ; preds = %408
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %11, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %12, align 4
  br label %421

417:                                              ; preds = %409
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %11, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  br label %421

421:                                              ; preds = %417, %413
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %19) #7
  br label %1892

422:                                              ; preds = %405, %402, %399
  %423 = load i32, ptr %3, align 4, !tbaa !5
  %424 = icmp eq i32 %423, 0
  br i1 %424, label %425, label %445

425:                                              ; preds = %422
  %426 = load i32, ptr %5, align 4, !tbaa !5
  %427 = icmp eq i32 %426, 0
  br i1 %427, label %428, label %445

428:                                              ; preds = %425
  %429 = load i32, ptr %6, align 4, !tbaa !5
  %430 = icmp eq i32 %429, 3
  br i1 %430, label %431, label %445

431:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 12, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  store i32 0, ptr %25, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 3, ptr %27, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %24, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27)
          to label %432 unwind label %436

432:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  store i32 60, ptr %28, align 4, !tbaa !5
  %433 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %434 unwind label %440

434:                                              ; preds = %432
  %435 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %433, ptr noundef nonnull align 4 dereferenceable(12) %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %24) #7
  br label %1885

436:                                              ; preds = %431
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %11, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %12, align 4
  br label %444

440:                                              ; preds = %432
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %11, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %444

444:                                              ; preds = %440, %436
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %24) #7
  br label %1892

445:                                              ; preds = %428, %425, %422
  %446 = load i32, ptr %3, align 4, !tbaa !5
  %447 = icmp eq i32 %446, 0
  br i1 %447, label %448, label %468

448:                                              ; preds = %445
  %449 = load i32, ptr %5, align 4, !tbaa !5
  %450 = icmp eq i32 %449, 1
  br i1 %450, label %451, label %468

451:                                              ; preds = %448
  %452 = load i32, ptr %6, align 4, !tbaa !5
  %453 = icmp eq i32 %452, 0
  br i1 %453, label %454, label %468

454:                                              ; preds = %451
  call void @llvm.lifetime.start.p0(i64 12, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  store i32 0, ptr %30, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store i32 1, ptr %31, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  store i32 0, ptr %32, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %29, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %455 unwind label %459

455:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  store i32 16, ptr %33, align 4, !tbaa !5
  %456 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %33)
          to label %457 unwind label %463

457:                                              ; preds = %455
  %458 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %456, ptr noundef nonnull align 4 dereferenceable(12) %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %29) #7
  br label %1884

459:                                              ; preds = %454
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %11, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %12, align 4
  br label %467

463:                                              ; preds = %455
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %11, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  br label %467

467:                                              ; preds = %463, %459
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %29) #7
  br label %1892

468:                                              ; preds = %451, %448, %445
  %469 = load i32, ptr %3, align 4, !tbaa !5
  %470 = icmp eq i32 %469, 0
  br i1 %470, label %471, label %491

471:                                              ; preds = %468
  %472 = load i32, ptr %5, align 4, !tbaa !5
  %473 = icmp eq i32 %472, 1
  br i1 %473, label %474, label %491

474:                                              ; preds = %471
  %475 = load i32, ptr %6, align 4, !tbaa !5
  %476 = icmp eq i32 %475, 1
  br i1 %476, label %477, label %491

477:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 12, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  store i32 0, ptr %35, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  store i32 1, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  store i32 1, ptr %37, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %34, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %478 unwind label %482

478:                                              ; preds = %477
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  store i32 1, ptr %38, align 4, !tbaa !5
  %479 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %480 unwind label %486

480:                                              ; preds = %478
  %481 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %479, ptr noundef nonnull align 4 dereferenceable(12) %34) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %34) #7
  br label %1883

482:                                              ; preds = %477
  %483 = landingpad { ptr, i32 }
          cleanup
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %11, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %12, align 4
  br label %490

486:                                              ; preds = %478
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %11, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  br label %490

490:                                              ; preds = %486, %482
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %34) #7
  br label %1892

491:                                              ; preds = %474, %471, %468
  %492 = load i32, ptr %3, align 4, !tbaa !5
  %493 = icmp eq i32 %492, 0
  br i1 %493, label %494, label %514

494:                                              ; preds = %491
  %495 = load i32, ptr %5, align 4, !tbaa !5
  %496 = icmp eq i32 %495, 1
  br i1 %496, label %497, label %514

497:                                              ; preds = %494
  %498 = load i32, ptr %6, align 4, !tbaa !5
  %499 = icmp eq i32 %498, 2
  br i1 %499, label %500, label %514

500:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 12, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  store i32 0, ptr %40, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #7
  store i32 1, ptr %41, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  store i32 2, ptr %42, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %39, ptr noundef nonnull align 4 dereferenceable(4) %40, ptr noundef nonnull align 4 dereferenceable(4) %41, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %501 unwind label %505

501:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  store i32 8, ptr %43, align 4, !tbaa !5
  %502 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %503 unwind label %509

503:                                              ; preds = %501
  %504 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %502, ptr noundef nonnull align 4 dereferenceable(12) %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %39) #7
  br label %1882

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

509:                                              ; preds = %501
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %11, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %513

513:                                              ; preds = %509, %505
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %39) #7
  br label %1892

514:                                              ; preds = %497, %494, %491
  %515 = load i32, ptr %3, align 4, !tbaa !5
  %516 = icmp eq i32 %515, 0
  br i1 %516, label %517, label %537

517:                                              ; preds = %514
  %518 = load i32, ptr %5, align 4, !tbaa !5
  %519 = icmp eq i32 %518, 1
  br i1 %519, label %520, label %537

520:                                              ; preds = %517
  %521 = load i32, ptr %6, align 4, !tbaa !5
  %522 = icmp eq i32 %521, 3
  br i1 %522, label %523, label %537

523:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 12, ptr %44) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #7
  store i32 0, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  store i32 1, ptr %46, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #7
  store i32 3, ptr %47, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %44, ptr noundef nonnull align 4 dereferenceable(4) %45, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %524 unwind label %528

524:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #7
  store i32 0, ptr %48, align 4, !tbaa !5
  %525 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %526 unwind label %532

526:                                              ; preds = %524
  %527 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %525, ptr noundef nonnull align 4 dereferenceable(12) %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %44) #7
  br label %1881

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

532:                                              ; preds = %524
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %11, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  br label %536

536:                                              ; preds = %532, %528
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %44) #7
  br label %1892

537:                                              ; preds = %520, %517, %514
  %538 = load i32, ptr %3, align 4, !tbaa !5
  %539 = icmp eq i32 %538, 0
  br i1 %539, label %540, label %560

540:                                              ; preds = %537
  %541 = load i32, ptr %5, align 4, !tbaa !5
  %542 = icmp eq i32 %541, 2
  br i1 %542, label %543, label %560

543:                                              ; preds = %540
  %544 = load i32, ptr %6, align 4, !tbaa !5
  %545 = icmp eq i32 %544, 0
  br i1 %545, label %546, label %560

546:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 12, ptr %49) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #7
  store i32 0, ptr %50, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #7
  store i32 2, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #7
  store i32 0, ptr %52, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %49, ptr noundef nonnull align 4 dereferenceable(4) %50, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %547 unwind label %551

547:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #7
  store i32 32, ptr %53, align 4, !tbaa !5
  %548 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %549 unwind label %555

549:                                              ; preds = %547
  %550 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %548, ptr noundef nonnull align 4 dereferenceable(12) %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %49) #7
  br label %1880

551:                                              ; preds = %546
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %11, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %12, align 4
  br label %559

555:                                              ; preds = %547
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %11, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  br label %559

559:                                              ; preds = %555, %551
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %49) #7
  br label %1892

560:                                              ; preds = %543, %540, %537
  %561 = load i32, ptr %3, align 4, !tbaa !5
  %562 = icmp eq i32 %561, 0
  br i1 %562, label %563, label %583

563:                                              ; preds = %560
  %564 = load i32, ptr %5, align 4, !tbaa !5
  %565 = icmp eq i32 %564, 2
  br i1 %565, label %566, label %583

566:                                              ; preds = %563
  %567 = load i32, ptr %6, align 4, !tbaa !5
  %568 = icmp eq i32 %567, 1
  br i1 %568, label %569, label %583

569:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 12, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #7
  store i32 0, ptr %55, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #7
  store i32 2, ptr %56, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #7
  store i32 1, ptr %57, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %54, ptr noundef nonnull align 4 dereferenceable(4) %55, ptr noundef nonnull align 4 dereferenceable(4) %56, ptr noundef nonnull align 4 dereferenceable(4) %57)
          to label %570 unwind label %574

570:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #7
  store i32 17, ptr %58, align 4, !tbaa !5
  %571 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %58)
          to label %572 unwind label %578

572:                                              ; preds = %570
  %573 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %571, ptr noundef nonnull align 4 dereferenceable(12) %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %54) #7
  br label %1879

574:                                              ; preds = %569
  %575 = landingpad { ptr, i32 }
          cleanup
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %11, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %12, align 4
  br label %582

578:                                              ; preds = %570
  %579 = landingpad { ptr, i32 }
          cleanup
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %11, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  br label %582

582:                                              ; preds = %578, %574
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %54) #7
  br label %1892

583:                                              ; preds = %566, %563, %560
  %584 = load i32, ptr %3, align 4, !tbaa !5
  %585 = icmp eq i32 %584, 0
  br i1 %585, label %586, label %606

586:                                              ; preds = %583
  %587 = load i32, ptr %5, align 4, !tbaa !5
  %588 = icmp eq i32 %587, 2
  br i1 %588, label %589, label %606

589:                                              ; preds = %586
  %590 = load i32, ptr %6, align 4, !tbaa !5
  %591 = icmp eq i32 %590, 2
  br i1 %591, label %592, label %606

592:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 12, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #7
  store i32 0, ptr %60, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  store i32 2, ptr %61, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #7
  store i32 2, ptr %62, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %59, ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 4 dereferenceable(4) %61, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %593 unwind label %597

593:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  store i32 24, ptr %63, align 4, !tbaa !5
  %594 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %595 unwind label %601

595:                                              ; preds = %593
  %596 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %594, ptr noundef nonnull align 4 dereferenceable(12) %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %59) #7
  br label %1878

597:                                              ; preds = %592
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %11, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %12, align 4
  br label %605

601:                                              ; preds = %593
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %11, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %605

605:                                              ; preds = %601, %597
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %59) #7
  br label %1892

606:                                              ; preds = %589, %586, %583
  %607 = load i32, ptr %3, align 4, !tbaa !5
  %608 = icmp eq i32 %607, 0
  br i1 %608, label %609, label %629

609:                                              ; preds = %606
  %610 = load i32, ptr %5, align 4, !tbaa !5
  %611 = icmp eq i32 %610, 2
  br i1 %611, label %612, label %629

612:                                              ; preds = %609
  %613 = load i32, ptr %6, align 4, !tbaa !5
  %614 = icmp eq i32 %613, 3
  br i1 %614, label %615, label %629

615:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 12, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #7
  store i32 0, ptr %65, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #7
  store i32 2, ptr %66, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #7
  store i32 3, ptr %67, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %64, ptr noundef nonnull align 4 dereferenceable(4) %65, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %616 unwind label %620

616:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #7
  store i32 16, ptr %68, align 4, !tbaa !5
  %617 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %618 unwind label %624

618:                                              ; preds = %616
  %619 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %617, ptr noundef nonnull align 4 dereferenceable(12) %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %64) #7
  br label %1877

620:                                              ; preds = %615
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %11, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %12, align 4
  br label %628

624:                                              ; preds = %616
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %11, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #7
  br label %628

628:                                              ; preds = %624, %620
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %64) #7
  br label %1892

629:                                              ; preds = %612, %609, %606
  %630 = load i32, ptr %3, align 4, !tbaa !5
  %631 = icmp eq i32 %630, 0
  br i1 %631, label %632, label %652

632:                                              ; preds = %629
  %633 = load i32, ptr %5, align 4, !tbaa !5
  %634 = icmp eq i32 %633, 3
  br i1 %634, label %635, label %652

635:                                              ; preds = %632
  %636 = load i32, ptr %6, align 4, !tbaa !5
  %637 = icmp eq i32 %636, 0
  br i1 %637, label %638, label %652

638:                                              ; preds = %635
  call void @llvm.lifetime.start.p0(i64 12, ptr %69) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #7
  store i32 0, ptr %70, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  store i32 3, ptr %71, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #7
  store i32 0, ptr %72, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %69, ptr noundef nonnull align 4 dereferenceable(4) %70, ptr noundef nonnull align 4 dereferenceable(4) %71, ptr noundef nonnull align 4 dereferenceable(4) %72)
          to label %639 unwind label %643

639:                                              ; preds = %638
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #7
  store i32 0, ptr %73, align 4, !tbaa !5
  %640 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %73)
          to label %641 unwind label %647

641:                                              ; preds = %639
  %642 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %640, ptr noundef nonnull align 4 dereferenceable(12) %69) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %69) #7
  br label %1876

643:                                              ; preds = %638
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %11, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %12, align 4
  br label %651

647:                                              ; preds = %639
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %11, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #7
  br label %651

651:                                              ; preds = %647, %643
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %69) #7
  br label %1892

652:                                              ; preds = %635, %632, %629
  %653 = load i32, ptr %3, align 4, !tbaa !5
  %654 = icmp eq i32 %653, 0
  br i1 %654, label %655, label %675

655:                                              ; preds = %652
  %656 = load i32, ptr %5, align 4, !tbaa !5
  %657 = icmp eq i32 %656, 3
  br i1 %657, label %658, label %675

658:                                              ; preds = %655
  %659 = load i32, ptr %6, align 4, !tbaa !5
  %660 = icmp eq i32 %659, 1
  br i1 %660, label %661, label %675

661:                                              ; preds = %658
  call void @llvm.lifetime.start.p0(i64 12, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #7
  store i32 0, ptr %75, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #7
  store i32 3, ptr %76, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #7
  store i32 1, ptr %77, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %74, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull align 4 dereferenceable(4) %76, ptr noundef nonnull align 4 dereferenceable(4) %77)
          to label %662 unwind label %666

662:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #7
  store i32 15, ptr %78, align 4, !tbaa !5
  %663 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %78)
          to label %664 unwind label %670

664:                                              ; preds = %662
  %665 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %663, ptr noundef nonnull align 4 dereferenceable(12) %74) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #7
  br label %1875

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

670:                                              ; preds = %662
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %11, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  br label %674

674:                                              ; preds = %670, %666
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #7
  br label %1892

675:                                              ; preds = %658, %655, %652
  %676 = load i32, ptr %3, align 4, !tbaa !5
  %677 = icmp eq i32 %676, 0
  br i1 %677, label %678, label %698

678:                                              ; preds = %675
  %679 = load i32, ptr %5, align 4, !tbaa !5
  %680 = icmp eq i32 %679, 3
  br i1 %680, label %681, label %698

681:                                              ; preds = %678
  %682 = load i32, ptr %6, align 4, !tbaa !5
  %683 = icmp eq i32 %682, 2
  br i1 %683, label %684, label %698

684:                                              ; preds = %681
  call void @llvm.lifetime.start.p0(i64 12, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #7
  store i32 0, ptr %80, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #7
  store i32 3, ptr %81, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #7
  store i32 2, ptr %82, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %79, ptr noundef nonnull align 4 dereferenceable(4) %80, ptr noundef nonnull align 4 dereferenceable(4) %81, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %685 unwind label %689

685:                                              ; preds = %684
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 16, ptr %83, align 4, !tbaa !5
  %686 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %687 unwind label %693

687:                                              ; preds = %685
  %688 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %686, ptr noundef nonnull align 4 dereferenceable(12) %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %79) #7
  br label %1874

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

693:                                              ; preds = %685
  %694 = landingpad { ptr, i32 }
          cleanup
  %695 = extractvalue { ptr, i32 } %694, 0
  store ptr %695, ptr %11, align 8
  %696 = extractvalue { ptr, i32 } %694, 1
  store i32 %696, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %697

697:                                              ; preds = %693, %689
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %79) #7
  br label %1892

698:                                              ; preds = %681, %678, %675
  %699 = load i32, ptr %3, align 4, !tbaa !5
  %700 = icmp eq i32 %699, 0
  br i1 %700, label %701, label %721

701:                                              ; preds = %698
  %702 = load i32, ptr %5, align 4, !tbaa !5
  %703 = icmp eq i32 %702, 3
  br i1 %703, label %704, label %721

704:                                              ; preds = %701
  %705 = load i32, ptr %6, align 4, !tbaa !5
  %706 = icmp eq i32 %705, 3
  br i1 %706, label %707, label %721

707:                                              ; preds = %704
  call void @llvm.lifetime.start.p0(i64 12, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #7
  store i32 0, ptr %85, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #7
  store i32 3, ptr %86, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #7
  store i32 3, ptr %87, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %84, ptr noundef nonnull align 4 dereferenceable(4) %85, ptr noundef nonnull align 4 dereferenceable(4) %86, ptr noundef nonnull align 4 dereferenceable(4) %87)
          to label %708 unwind label %712

708:                                              ; preds = %707
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #7
  store i32 8, ptr %88, align 4, !tbaa !5
  %709 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %88)
          to label %710 unwind label %716

710:                                              ; preds = %708
  %711 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %709, ptr noundef nonnull align 4 dereferenceable(12) %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %84) #7
  br label %1873

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

716:                                              ; preds = %708
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %11, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  br label %720

720:                                              ; preds = %716, %712
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %84) #7
  br label %1892

721:                                              ; preds = %704, %701, %698
  %722 = load i32, ptr %3, align 4, !tbaa !5
  %723 = icmp eq i32 %722, 1
  br i1 %723, label %724, label %744

724:                                              ; preds = %721
  %725 = load i32, ptr %5, align 4, !tbaa !5
  %726 = icmp eq i32 %725, 0
  br i1 %726, label %727, label %744

727:                                              ; preds = %724
  %728 = load i32, ptr %6, align 4, !tbaa !5
  %729 = icmp eq i32 %728, 0
  br i1 %729, label %730, label %744

730:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 12, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #7
  store i32 1, ptr %90, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #7
  store i32 0, ptr %91, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #7
  store i32 0, ptr %92, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %89, ptr noundef nonnull align 4 dereferenceable(4) %90, ptr noundef nonnull align 4 dereferenceable(4) %91, ptr noundef nonnull align 4 dereferenceable(4) %92)
          to label %731 unwind label %735

731:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #7
  store i32 16, ptr %93, align 4, !tbaa !5
  %732 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %93)
          to label %733 unwind label %739

733:                                              ; preds = %731
  %734 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %732, ptr noundef nonnull align 4 dereferenceable(12) %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %89) #7
  br label %1872

735:                                              ; preds = %730
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %11, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %12, align 4
  br label %743

739:                                              ; preds = %731
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %11, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  br label %743

743:                                              ; preds = %739, %735
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %89) #7
  br label %1892

744:                                              ; preds = %727, %724, %721
  %745 = load i32, ptr %3, align 4, !tbaa !5
  %746 = icmp eq i32 %745, 1
  br i1 %746, label %747, label %767

747:                                              ; preds = %744
  %748 = load i32, ptr %5, align 4, !tbaa !5
  %749 = icmp eq i32 %748, 0
  br i1 %749, label %750, label %767

750:                                              ; preds = %747
  %751 = load i32, ptr %6, align 4, !tbaa !5
  %752 = icmp eq i32 %751, 1
  br i1 %752, label %753, label %767

753:                                              ; preds = %750
  call void @llvm.lifetime.start.p0(i64 12, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #7
  store i32 1, ptr %95, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #7
  store i32 0, ptr %96, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #7
  store i32 1, ptr %97, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %94, ptr noundef nonnull align 4 dereferenceable(4) %95, ptr noundef nonnull align 4 dereferenceable(4) %96, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %754 unwind label %758

754:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #7
  store i32 1, ptr %98, align 4, !tbaa !5
  %755 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %98)
          to label %756 unwind label %762

756:                                              ; preds = %754
  %757 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %755, ptr noundef nonnull align 4 dereferenceable(12) %94) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %94) #7
  br label %1871

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

762:                                              ; preds = %754
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %11, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #7
  br label %766

766:                                              ; preds = %762, %758
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %94) #7
  br label %1892

767:                                              ; preds = %750, %747, %744
  %768 = load i32, ptr %3, align 4, !tbaa !5
  %769 = icmp eq i32 %768, 1
  br i1 %769, label %770, label %790

770:                                              ; preds = %767
  %771 = load i32, ptr %5, align 4, !tbaa !5
  %772 = icmp eq i32 %771, 0
  br i1 %772, label %773, label %790

773:                                              ; preds = %770
  %774 = load i32, ptr %6, align 4, !tbaa !5
  %775 = icmp eq i32 %774, 2
  br i1 %775, label %776, label %790

776:                                              ; preds = %773
  call void @llvm.lifetime.start.p0(i64 12, ptr %99) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #7
  store i32 1, ptr %100, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #7
  store i32 0, ptr %101, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #7
  store i32 2, ptr %102, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %99, ptr noundef nonnull align 4 dereferenceable(4) %100, ptr noundef nonnull align 4 dereferenceable(4) %101, ptr noundef nonnull align 4 dereferenceable(4) %102)
          to label %777 unwind label %781

777:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #7
  store i32 8, ptr %103, align 4, !tbaa !5
  %778 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %779 unwind label %785

779:                                              ; preds = %777
  %780 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %778, ptr noundef nonnull align 4 dereferenceable(12) %99) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %99) #7
  br label %1870

781:                                              ; preds = %776
  %782 = landingpad { ptr, i32 }
          cleanup
  %783 = extractvalue { ptr, i32 } %782, 0
  store ptr %783, ptr %11, align 8
  %784 = extractvalue { ptr, i32 } %782, 1
  store i32 %784, ptr %12, align 4
  br label %789

785:                                              ; preds = %777
  %786 = landingpad { ptr, i32 }
          cleanup
  %787 = extractvalue { ptr, i32 } %786, 0
  store ptr %787, ptr %11, align 8
  %788 = extractvalue { ptr, i32 } %786, 1
  store i32 %788, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  br label %789

789:                                              ; preds = %785, %781
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %99) #7
  br label %1892

790:                                              ; preds = %773, %770, %767
  %791 = load i32, ptr %3, align 4, !tbaa !5
  %792 = icmp eq i32 %791, 1
  br i1 %792, label %793, label %813

793:                                              ; preds = %790
  %794 = load i32, ptr %5, align 4, !tbaa !5
  %795 = icmp eq i32 %794, 0
  br i1 %795, label %796, label %813

796:                                              ; preds = %793
  %797 = load i32, ptr %6, align 4, !tbaa !5
  %798 = icmp eq i32 %797, 3
  br i1 %798, label %799, label %813

799:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 12, ptr %104) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #7
  store i32 1, ptr %105, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #7
  store i32 0, ptr %106, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #7
  store i32 3, ptr %107, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %104, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 4 dereferenceable(4) %106, ptr noundef nonnull align 4 dereferenceable(4) %107)
          to label %800 unwind label %804

800:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #7
  store i32 0, ptr %108, align 4, !tbaa !5
  %801 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %108)
          to label %802 unwind label %808

802:                                              ; preds = %800
  %803 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %801, ptr noundef nonnull align 4 dereferenceable(12) %104) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %104) #7
  br label %1869

804:                                              ; preds = %799
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %11, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %12, align 4
  br label %812

808:                                              ; preds = %800
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %11, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  br label %812

812:                                              ; preds = %808, %804
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %104) #7
  br label %1892

813:                                              ; preds = %796, %793, %790
  %814 = load i32, ptr %3, align 4, !tbaa !5
  %815 = icmp eq i32 %814, 1
  br i1 %815, label %816, label %836

816:                                              ; preds = %813
  %817 = load i32, ptr %5, align 4, !tbaa !5
  %818 = icmp eq i32 %817, 1
  br i1 %818, label %819, label %836

819:                                              ; preds = %816
  %820 = load i32, ptr %6, align 4, !tbaa !5
  %821 = icmp eq i32 %820, 0
  br i1 %821, label %822, label %836

822:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 12, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #7
  store i32 1, ptr %110, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #7
  store i32 1, ptr %111, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #7
  store i32 0, ptr %112, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %109, ptr noundef nonnull align 4 dereferenceable(4) %110, ptr noundef nonnull align 4 dereferenceable(4) %111, ptr noundef nonnull align 4 dereferenceable(4) %112)
          to label %823 unwind label %827

823:                                              ; preds = %822
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #7
  store i32 0, ptr %113, align 4, !tbaa !5
  %824 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %113)
          to label %825 unwind label %831

825:                                              ; preds = %823
  %826 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %824, ptr noundef nonnull align 4 dereferenceable(12) %109) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %109) #7
  br label %1868

827:                                              ; preds = %822
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %11, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %12, align 4
  br label %835

831:                                              ; preds = %823
  %832 = landingpad { ptr, i32 }
          cleanup
  %833 = extractvalue { ptr, i32 } %832, 0
  store ptr %833, ptr %11, align 8
  %834 = extractvalue { ptr, i32 } %832, 1
  store i32 %834, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  br label %835

835:                                              ; preds = %831, %827
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %109) #7
  br label %1892

836:                                              ; preds = %819, %816, %813
  %837 = load i32, ptr %3, align 4, !tbaa !5
  %838 = icmp eq i32 %837, 1
  br i1 %838, label %839, label %859

839:                                              ; preds = %836
  %840 = load i32, ptr %5, align 4, !tbaa !5
  %841 = icmp eq i32 %840, 1
  br i1 %841, label %842, label %859

842:                                              ; preds = %839
  %843 = load i32, ptr %6, align 4, !tbaa !5
  %844 = icmp eq i32 %843, 1
  br i1 %844, label %845, label %859

845:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 12, ptr %114) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #7
  store i32 1, ptr %115, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #7
  store i32 1, ptr %116, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #7
  store i32 1, ptr %117, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %114, ptr noundef nonnull align 4 dereferenceable(4) %115, ptr noundef nonnull align 4 dereferenceable(4) %116, ptr noundef nonnull align 4 dereferenceable(4) %117)
          to label %846 unwind label %850

846:                                              ; preds = %845
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #7
  store i32 0, ptr %118, align 4, !tbaa !5
  %847 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %118)
          to label %848 unwind label %854

848:                                              ; preds = %846
  %849 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %847, ptr noundef nonnull align 4 dereferenceable(12) %114) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %114) #7
  br label %1867

850:                                              ; preds = %845
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %11, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %12, align 4
  br label %858

854:                                              ; preds = %846
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %11, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  br label %858

858:                                              ; preds = %854, %850
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %114) #7
  br label %1892

859:                                              ; preds = %842, %839, %836
  %860 = load i32, ptr %3, align 4, !tbaa !5
  %861 = icmp eq i32 %860, 1
  br i1 %861, label %862, label %882

862:                                              ; preds = %859
  %863 = load i32, ptr %5, align 4, !tbaa !5
  %864 = icmp eq i32 %863, 1
  br i1 %864, label %865, label %882

865:                                              ; preds = %862
  %866 = load i32, ptr %6, align 4, !tbaa !5
  %867 = icmp eq i32 %866, 2
  br i1 %867, label %868, label %882

868:                                              ; preds = %865
  call void @llvm.lifetime.start.p0(i64 12, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #7
  store i32 1, ptr %120, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #7
  store i32 1, ptr %121, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #7
  store i32 2, ptr %122, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %119, ptr noundef nonnull align 4 dereferenceable(4) %120, ptr noundef nonnull align 4 dereferenceable(4) %121, ptr noundef nonnull align 4 dereferenceable(4) %122)
          to label %869 unwind label %873

869:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #7
  store i32 4, ptr %123, align 4, !tbaa !5
  %870 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %123)
          to label %871 unwind label %877

871:                                              ; preds = %869
  %872 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %870, ptr noundef nonnull align 4 dereferenceable(12) %119) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %119) #7
  br label %1866

873:                                              ; preds = %868
  %874 = landingpad { ptr, i32 }
          cleanup
  %875 = extractvalue { ptr, i32 } %874, 0
  store ptr %875, ptr %11, align 8
  %876 = extractvalue { ptr, i32 } %874, 1
  store i32 %876, ptr %12, align 4
  br label %881

877:                                              ; preds = %869
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %11, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  br label %881

881:                                              ; preds = %877, %873
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %119) #7
  br label %1892

882:                                              ; preds = %865, %862, %859
  %883 = load i32, ptr %3, align 4, !tbaa !5
  %884 = icmp eq i32 %883, 1
  br i1 %884, label %885, label %905

885:                                              ; preds = %882
  %886 = load i32, ptr %5, align 4, !tbaa !5
  %887 = icmp eq i32 %886, 1
  br i1 %887, label %888, label %905

888:                                              ; preds = %885
  %889 = load i32, ptr %6, align 4, !tbaa !5
  %890 = icmp eq i32 %889, 3
  br i1 %890, label %891, label %905

891:                                              ; preds = %888
  call void @llvm.lifetime.start.p0(i64 12, ptr %124) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #7
  store i32 1, ptr %125, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #7
  store i32 1, ptr %126, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #7
  store i32 3, ptr %127, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %124, ptr noundef nonnull align 4 dereferenceable(4) %125, ptr noundef nonnull align 4 dereferenceable(4) %126, ptr noundef nonnull align 4 dereferenceable(4) %127)
          to label %892 unwind label %896

892:                                              ; preds = %891
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #7
  store i32 -4, ptr %128, align 4, !tbaa !5
  %893 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %128)
          to label %894 unwind label %900

894:                                              ; preds = %892
  %895 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %893, ptr noundef nonnull align 4 dereferenceable(12) %124) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %124) #7
  br label %1865

896:                                              ; preds = %891
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %11, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %12, align 4
  br label %904

900:                                              ; preds = %892
  %901 = landingpad { ptr, i32 }
          cleanup
  %902 = extractvalue { ptr, i32 } %901, 0
  store ptr %902, ptr %11, align 8
  %903 = extractvalue { ptr, i32 } %901, 1
  store i32 %903, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #7
  br label %904

904:                                              ; preds = %900, %896
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %124) #7
  br label %1892

905:                                              ; preds = %888, %885, %882
  %906 = load i32, ptr %3, align 4, !tbaa !5
  %907 = icmp eq i32 %906, 1
  br i1 %907, label %908, label %928

908:                                              ; preds = %905
  %909 = load i32, ptr %5, align 4, !tbaa !5
  %910 = icmp eq i32 %909, 2
  br i1 %910, label %911, label %928

911:                                              ; preds = %908
  %912 = load i32, ptr %6, align 4, !tbaa !5
  %913 = icmp eq i32 %912, 0
  br i1 %913, label %914, label %928

914:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 12, ptr %129) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #7
  store i32 1, ptr %130, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #7
  store i32 2, ptr %131, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #7
  store i32 0, ptr %132, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %129, ptr noundef nonnull align 4 dereferenceable(4) %130, ptr noundef nonnull align 4 dereferenceable(4) %131, ptr noundef nonnull align 4 dereferenceable(4) %132)
          to label %915 unwind label %919

915:                                              ; preds = %914
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #7
  store i32 17, ptr %133, align 4, !tbaa !5
  %916 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %133)
          to label %917 unwind label %923

917:                                              ; preds = %915
  %918 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %916, ptr noundef nonnull align 4 dereferenceable(12) %129) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %129) #7
  br label %1864

919:                                              ; preds = %914
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %11, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %12, align 4
  br label %927

923:                                              ; preds = %915
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %11, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  br label %927

927:                                              ; preds = %923, %919
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %129) #7
  br label %1892

928:                                              ; preds = %911, %908, %905
  %929 = load i32, ptr %3, align 4, !tbaa !5
  %930 = icmp eq i32 %929, 1
  br i1 %930, label %931, label %951

931:                                              ; preds = %928
  %932 = load i32, ptr %5, align 4, !tbaa !5
  %933 = icmp eq i32 %932, 2
  br i1 %933, label %934, label %951

934:                                              ; preds = %931
  %935 = load i32, ptr %6, align 4, !tbaa !5
  %936 = icmp eq i32 %935, 1
  br i1 %936, label %937, label %951

937:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 12, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #7
  store i32 1, ptr %135, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #7
  store i32 2, ptr %136, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #7
  store i32 1, ptr %137, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %134, ptr noundef nonnull align 4 dereferenceable(4) %135, ptr noundef nonnull align 4 dereferenceable(4) %136, ptr noundef nonnull align 4 dereferenceable(4) %137)
          to label %938 unwind label %942

938:                                              ; preds = %937
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #7
  store i32 2, ptr %138, align 4, !tbaa !5
  %939 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %138)
          to label %940 unwind label %946

940:                                              ; preds = %938
  %941 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %939, ptr noundef nonnull align 4 dereferenceable(12) %134) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %134) #7
  br label %1863

942:                                              ; preds = %937
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %11, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %12, align 4
  br label %950

946:                                              ; preds = %938
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %11, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  br label %950

950:                                              ; preds = %946, %942
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %134) #7
  br label %1892

951:                                              ; preds = %934, %931, %928
  %952 = load i32, ptr %3, align 4, !tbaa !5
  %953 = icmp eq i32 %952, 1
  br i1 %953, label %954, label %974

954:                                              ; preds = %951
  %955 = load i32, ptr %5, align 4, !tbaa !5
  %956 = icmp eq i32 %955, 2
  br i1 %956, label %957, label %974

957:                                              ; preds = %954
  %958 = load i32, ptr %6, align 4, !tbaa !5
  %959 = icmp eq i32 %958, 2
  br i1 %959, label %960, label %974

960:                                              ; preds = %957
  call void @llvm.lifetime.start.p0(i64 12, ptr %139) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #7
  store i32 1, ptr %140, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #7
  store i32 2, ptr %141, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #7
  store i32 2, ptr %142, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %139, ptr noundef nonnull align 4 dereferenceable(4) %140, ptr noundef nonnull align 4 dereferenceable(4) %141, ptr noundef nonnull align 4 dereferenceable(4) %142)
          to label %961 unwind label %965

961:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #7
  store i32 9, ptr %143, align 4, !tbaa !5
  %962 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %143)
          to label %963 unwind label %969

963:                                              ; preds = %961
  %964 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %962, ptr noundef nonnull align 4 dereferenceable(12) %139) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %139) #7
  br label %1862

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

969:                                              ; preds = %961
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %11, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #7
  br label %973

973:                                              ; preds = %969, %965
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %139) #7
  br label %1892

974:                                              ; preds = %957, %954, %951
  %975 = load i32, ptr %3, align 4, !tbaa !5
  %976 = icmp eq i32 %975, 1
  br i1 %976, label %977, label %997

977:                                              ; preds = %974
  %978 = load i32, ptr %5, align 4, !tbaa !5
  %979 = icmp eq i32 %978, 2
  br i1 %979, label %980, label %997

980:                                              ; preds = %977
  %981 = load i32, ptr %6, align 4, !tbaa !5
  %982 = icmp eq i32 %981, 3
  br i1 %982, label %983, label %997

983:                                              ; preds = %980
  call void @llvm.lifetime.start.p0(i64 12, ptr %144) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #7
  store i32 1, ptr %145, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #7
  store i32 2, ptr %146, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #7
  store i32 3, ptr %147, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %144, ptr noundef nonnull align 4 dereferenceable(4) %145, ptr noundef nonnull align 4 dereferenceable(4) %146, ptr noundef nonnull align 4 dereferenceable(4) %147)
          to label %984 unwind label %988

984:                                              ; preds = %983
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #7
  store i32 1, ptr %148, align 4, !tbaa !5
  %985 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %148)
          to label %986 unwind label %992

986:                                              ; preds = %984
  %987 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %985, ptr noundef nonnull align 4 dereferenceable(12) %144) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %144) #7
  br label %1861

988:                                              ; preds = %983
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %11, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %12, align 4
  br label %996

992:                                              ; preds = %984
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %11, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #7
  br label %996

996:                                              ; preds = %992, %988
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %144) #7
  br label %1892

997:                                              ; preds = %980, %977, %974
  %998 = load i32, ptr %3, align 4, !tbaa !5
  %999 = icmp eq i32 %998, 1
  br i1 %999, label %1000, label %1020

1000:                                             ; preds = %997
  %1001 = load i32, ptr %5, align 4, !tbaa !5
  %1002 = icmp eq i32 %1001, 3
  br i1 %1002, label %1003, label %1020

1003:                                             ; preds = %1000
  %1004 = load i32, ptr %6, align 4, !tbaa !5
  %1005 = icmp eq i32 %1004, 0
  br i1 %1005, label %1006, label %1020

1006:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 12, ptr %149) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #7
  store i32 1, ptr %150, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #7
  store i32 3, ptr %151, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #7
  store i32 0, ptr %152, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %149, ptr noundef nonnull align 4 dereferenceable(4) %150, ptr noundef nonnull align 4 dereferenceable(4) %151, ptr noundef nonnull align 4 dereferenceable(4) %152)
          to label %1007 unwind label %1011

1007:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #7
  store i32 -15, ptr %153, align 4, !tbaa !5
  %1008 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %153)
          to label %1009 unwind label %1015

1009:                                             ; preds = %1007
  %1010 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1008, ptr noundef nonnull align 4 dereferenceable(12) %149) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %149) #7
  br label %1860

1011:                                             ; preds = %1006
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %11, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %12, align 4
  br label %1019

1015:                                             ; preds = %1007
  %1016 = landingpad { ptr, i32 }
          cleanup
  %1017 = extractvalue { ptr, i32 } %1016, 0
  store ptr %1017, ptr %11, align 8
  %1018 = extractvalue { ptr, i32 } %1016, 1
  store i32 %1018, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #7
  br label %1019

1019:                                             ; preds = %1015, %1011
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %149) #7
  br label %1892

1020:                                             ; preds = %1003, %1000, %997
  %1021 = load i32, ptr %3, align 4, !tbaa !5
  %1022 = icmp eq i32 %1021, 1
  br i1 %1022, label %1023, label %1043

1023:                                             ; preds = %1020
  %1024 = load i32, ptr %5, align 4, !tbaa !5
  %1025 = icmp eq i32 %1024, 3
  br i1 %1025, label %1026, label %1043

1026:                                             ; preds = %1023
  %1027 = load i32, ptr %6, align 4, !tbaa !5
  %1028 = icmp eq i32 %1027, 1
  br i1 %1028, label %1029, label %1043

1029:                                             ; preds = %1026
  call void @llvm.lifetime.start.p0(i64 12, ptr %154) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #7
  store i32 1, ptr %155, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #7
  store i32 3, ptr %156, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #7
  store i32 1, ptr %157, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %154, ptr noundef nonnull align 4 dereferenceable(4) %155, ptr noundef nonnull align 4 dereferenceable(4) %156, ptr noundef nonnull align 4 dereferenceable(4) %157)
          to label %1030 unwind label %1034

1030:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #7
  store i32 0, ptr %158, align 4, !tbaa !5
  %1031 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %158)
          to label %1032 unwind label %1038

1032:                                             ; preds = %1030
  %1033 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1031, ptr noundef nonnull align 4 dereferenceable(12) %154) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %154) #7
  br label %1859

1034:                                             ; preds = %1029
  %1035 = landingpad { ptr, i32 }
          cleanup
  %1036 = extractvalue { ptr, i32 } %1035, 0
  store ptr %1036, ptr %11, align 8
  %1037 = extractvalue { ptr, i32 } %1035, 1
  store i32 %1037, ptr %12, align 4
  br label %1042

1038:                                             ; preds = %1030
  %1039 = landingpad { ptr, i32 }
          cleanup
  %1040 = extractvalue { ptr, i32 } %1039, 0
  store ptr %1040, ptr %11, align 8
  %1041 = extractvalue { ptr, i32 } %1039, 1
  store i32 %1041, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #7
  br label %1042

1042:                                             ; preds = %1038, %1034
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %154) #7
  br label %1892

1043:                                             ; preds = %1026, %1023, %1020
  %1044 = load i32, ptr %3, align 4, !tbaa !5
  %1045 = icmp eq i32 %1044, 1
  br i1 %1045, label %1046, label %1066

1046:                                             ; preds = %1043
  %1047 = load i32, ptr %5, align 4, !tbaa !5
  %1048 = icmp eq i32 %1047, 3
  br i1 %1048, label %1049, label %1066

1049:                                             ; preds = %1046
  %1050 = load i32, ptr %6, align 4, !tbaa !5
  %1051 = icmp eq i32 %1050, 2
  br i1 %1051, label %1052, label %1066

1052:                                             ; preds = %1049
  call void @llvm.lifetime.start.p0(i64 12, ptr %159) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #7
  store i32 1, ptr %160, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #7
  store i32 3, ptr %161, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #7
  store i32 2, ptr %162, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %159, ptr noundef nonnull align 4 dereferenceable(4) %160, ptr noundef nonnull align 4 dereferenceable(4) %161, ptr noundef nonnull align 4 dereferenceable(4) %162)
          to label %1053 unwind label %1057

1053:                                             ; preds = %1052
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #7
  store i32 1, ptr %163, align 4, !tbaa !5
  %1054 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %163)
          to label %1055 unwind label %1061

1055:                                             ; preds = %1053
  %1056 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1054, ptr noundef nonnull align 4 dereferenceable(12) %159) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %159) #7
  br label %1858

1057:                                             ; preds = %1052
  %1058 = landingpad { ptr, i32 }
          cleanup
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %11, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %12, align 4
  br label %1065

1061:                                             ; preds = %1053
  %1062 = landingpad { ptr, i32 }
          cleanup
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %11, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #7
  br label %1065

1065:                                             ; preds = %1061, %1057
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %159) #7
  br label %1892

1066:                                             ; preds = %1049, %1046, %1043
  %1067 = load i32, ptr %3, align 4, !tbaa !5
  %1068 = icmp eq i32 %1067, 1
  br i1 %1068, label %1069, label %1089

1069:                                             ; preds = %1066
  %1070 = load i32, ptr %5, align 4, !tbaa !5
  %1071 = icmp eq i32 %1070, 3
  br i1 %1071, label %1072, label %1089

1072:                                             ; preds = %1069
  %1073 = load i32, ptr %6, align 4, !tbaa !5
  %1074 = icmp eq i32 %1073, 3
  br i1 %1074, label %1075, label %1089

1075:                                             ; preds = %1072
  call void @llvm.lifetime.start.p0(i64 12, ptr %164) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #7
  store i32 1, ptr %165, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #7
  store i32 3, ptr %166, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #7
  store i32 3, ptr %167, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %164, ptr noundef nonnull align 4 dereferenceable(4) %165, ptr noundef nonnull align 4 dereferenceable(4) %166, ptr noundef nonnull align 4 dereferenceable(4) %167)
          to label %1076 unwind label %1080

1076:                                             ; preds = %1075
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #7
  store i32 -7, ptr %168, align 4, !tbaa !5
  %1077 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %168)
          to label %1078 unwind label %1084

1078:                                             ; preds = %1076
  %1079 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1077, ptr noundef nonnull align 4 dereferenceable(12) %164) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %164) #7
  br label %1857

1080:                                             ; preds = %1075
  %1081 = landingpad { ptr, i32 }
          cleanup
  %1082 = extractvalue { ptr, i32 } %1081, 0
  store ptr %1082, ptr %11, align 8
  %1083 = extractvalue { ptr, i32 } %1081, 1
  store i32 %1083, ptr %12, align 4
  br label %1088

1084:                                             ; preds = %1076
  %1085 = landingpad { ptr, i32 }
          cleanup
  %1086 = extractvalue { ptr, i32 } %1085, 0
  store ptr %1086, ptr %11, align 8
  %1087 = extractvalue { ptr, i32 } %1085, 1
  store i32 %1087, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #7
  br label %1088

1088:                                             ; preds = %1084, %1080
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %164) #7
  br label %1892

1089:                                             ; preds = %1072, %1069, %1066
  %1090 = load i32, ptr %3, align 4, !tbaa !5
  %1091 = icmp eq i32 %1090, 2
  br i1 %1091, label %1092, label %1112

1092:                                             ; preds = %1089
  %1093 = load i32, ptr %5, align 4, !tbaa !5
  %1094 = icmp eq i32 %1093, 0
  br i1 %1094, label %1095, label %1112

1095:                                             ; preds = %1092
  %1096 = load i32, ptr %6, align 4, !tbaa !5
  %1097 = icmp eq i32 %1096, 0
  br i1 %1097, label %1098, label %1112

1098:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 12, ptr %169) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #7
  store i32 2, ptr %170, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #7
  store i32 0, ptr %171, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #7
  store i32 0, ptr %172, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %169, ptr noundef nonnull align 4 dereferenceable(4) %170, ptr noundef nonnull align 4 dereferenceable(4) %171, ptr noundef nonnull align 4 dereferenceable(4) %172)
          to label %1099 unwind label %1103

1099:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #7
  store i32 68, ptr %173, align 4, !tbaa !5
  %1100 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %173)
          to label %1101 unwind label %1107

1101:                                             ; preds = %1099
  %1102 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1100, ptr noundef nonnull align 4 dereferenceable(12) %169) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %169) #7
  br label %1856

1103:                                             ; preds = %1098
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %11, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %12, align 4
  br label %1111

1107:                                             ; preds = %1099
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %11, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #7
  br label %1111

1111:                                             ; preds = %1107, %1103
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %169) #7
  br label %1892

1112:                                             ; preds = %1095, %1092, %1089
  %1113 = load i32, ptr %3, align 4, !tbaa !5
  %1114 = icmp eq i32 %1113, 2
  br i1 %1114, label %1115, label %1135

1115:                                             ; preds = %1112
  %1116 = load i32, ptr %5, align 4, !tbaa !5
  %1117 = icmp eq i32 %1116, 0
  br i1 %1117, label %1118, label %1135

1118:                                             ; preds = %1115
  %1119 = load i32, ptr %6, align 4, !tbaa !5
  %1120 = icmp eq i32 %1119, 1
  br i1 %1120, label %1121, label %1135

1121:                                             ; preds = %1118
  call void @llvm.lifetime.start.p0(i64 12, ptr %174) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #7
  store i32 2, ptr %175, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #7
  store i32 0, ptr %176, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #7
  store i32 1, ptr %177, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %174, ptr noundef nonnull align 4 dereferenceable(4) %175, ptr noundef nonnull align 4 dereferenceable(4) %176, ptr noundef nonnull align 4 dereferenceable(4) %177)
          to label %1122 unwind label %1126

1122:                                             ; preds = %1121
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #7
  store i32 8, ptr %178, align 4, !tbaa !5
  %1123 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %178)
          to label %1124 unwind label %1130

1124:                                             ; preds = %1122
  %1125 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1123, ptr noundef nonnull align 4 dereferenceable(12) %174) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %174) #7
  br label %1855

1126:                                             ; preds = %1121
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %11, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %12, align 4
  br label %1134

1130:                                             ; preds = %1122
  %1131 = landingpad { ptr, i32 }
          cleanup
  %1132 = extractvalue { ptr, i32 } %1131, 0
  store ptr %1132, ptr %11, align 8
  %1133 = extractvalue { ptr, i32 } %1131, 1
  store i32 %1133, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #7
  br label %1134

1134:                                             ; preds = %1130, %1126
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %174) #7
  br label %1892

1135:                                             ; preds = %1118, %1115, %1112
  %1136 = load i32, ptr %3, align 4, !tbaa !5
  %1137 = icmp eq i32 %1136, 2
  br i1 %1137, label %1138, label %1158

1138:                                             ; preds = %1135
  %1139 = load i32, ptr %5, align 4, !tbaa !5
  %1140 = icmp eq i32 %1139, 0
  br i1 %1140, label %1141, label %1158

1141:                                             ; preds = %1138
  %1142 = load i32, ptr %6, align 4, !tbaa !5
  %1143 = icmp eq i32 %1142, 2
  br i1 %1143, label %1144, label %1158

1144:                                             ; preds = %1141
  call void @llvm.lifetime.start.p0(i64 12, ptr %179) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #7
  store i32 2, ptr %180, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #7
  store i32 0, ptr %181, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #7
  store i32 2, ptr %182, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %179, ptr noundef nonnull align 4 dereferenceable(4) %180, ptr noundef nonnull align 4 dereferenceable(4) %181, ptr noundef nonnull align 4 dereferenceable(4) %182)
          to label %1145 unwind label %1149

1145:                                             ; preds = %1144
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #7
  store i32 24, ptr %183, align 4, !tbaa !5
  %1146 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %183)
          to label %1147 unwind label %1153

1147:                                             ; preds = %1145
  %1148 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1146, ptr noundef nonnull align 4 dereferenceable(12) %179) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %179) #7
  br label %1854

1149:                                             ; preds = %1144
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %11, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %12, align 4
  br label %1157

1153:                                             ; preds = %1145
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %11, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #7
  br label %1157

1157:                                             ; preds = %1153, %1149
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %179) #7
  br label %1892

1158:                                             ; preds = %1141, %1138, %1135
  %1159 = load i32, ptr %3, align 4, !tbaa !5
  %1160 = icmp eq i32 %1159, 2
  br i1 %1160, label %1161, label %1181

1161:                                             ; preds = %1158
  %1162 = load i32, ptr %5, align 4, !tbaa !5
  %1163 = icmp eq i32 %1162, 0
  br i1 %1163, label %1164, label %1181

1164:                                             ; preds = %1161
  %1165 = load i32, ptr %6, align 4, !tbaa !5
  %1166 = icmp eq i32 %1165, 3
  br i1 %1166, label %1167, label %1181

1167:                                             ; preds = %1164
  call void @llvm.lifetime.start.p0(i64 12, ptr %184) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #7
  store i32 2, ptr %185, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #7
  store i32 0, ptr %186, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #7
  store i32 3, ptr %187, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %184, ptr noundef nonnull align 4 dereferenceable(4) %185, ptr noundef nonnull align 4 dereferenceable(4) %186, ptr noundef nonnull align 4 dereferenceable(4) %187)
          to label %1168 unwind label %1172

1168:                                             ; preds = %1167
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #7
  store i32 16, ptr %188, align 4, !tbaa !5
  %1169 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %188)
          to label %1170 unwind label %1176

1170:                                             ; preds = %1168
  %1171 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1169, ptr noundef nonnull align 4 dereferenceable(12) %184) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %184) #7
  br label %1853

1172:                                             ; preds = %1167
  %1173 = landingpad { ptr, i32 }
          cleanup
  %1174 = extractvalue { ptr, i32 } %1173, 0
  store ptr %1174, ptr %11, align 8
  %1175 = extractvalue { ptr, i32 } %1173, 1
  store i32 %1175, ptr %12, align 4
  br label %1180

1176:                                             ; preds = %1168
  %1177 = landingpad { ptr, i32 }
          cleanup
  %1178 = extractvalue { ptr, i32 } %1177, 0
  store ptr %1178, ptr %11, align 8
  %1179 = extractvalue { ptr, i32 } %1177, 1
  store i32 %1179, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #7
  br label %1180

1180:                                             ; preds = %1176, %1172
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %184) #7
  br label %1892

1181:                                             ; preds = %1164, %1161, %1158
  %1182 = load i32, ptr %3, align 4, !tbaa !5
  %1183 = icmp eq i32 %1182, 2
  br i1 %1183, label %1184, label %1204

1184:                                             ; preds = %1181
  %1185 = load i32, ptr %5, align 4, !tbaa !5
  %1186 = icmp eq i32 %1185, 1
  br i1 %1186, label %1187, label %1204

1187:                                             ; preds = %1184
  %1188 = load i32, ptr %6, align 4, !tbaa !5
  %1189 = icmp eq i32 %1188, 0
  br i1 %1189, label %1190, label %1204

1190:                                             ; preds = %1187
  call void @llvm.lifetime.start.p0(i64 12, ptr %189) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #7
  store i32 2, ptr %190, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #7
  store i32 1, ptr %191, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #7
  store i32 0, ptr %192, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %189, ptr noundef nonnull align 4 dereferenceable(4) %190, ptr noundef nonnull align 4 dereferenceable(4) %191, ptr noundef nonnull align 4 dereferenceable(4) %192)
          to label %1191 unwind label %1195

1191:                                             ; preds = %1190
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #7
  store i32 8, ptr %193, align 4, !tbaa !5
  %1192 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %193)
          to label %1193 unwind label %1199

1193:                                             ; preds = %1191
  %1194 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1192, ptr noundef nonnull align 4 dereferenceable(12) %189) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %189) #7
  br label %1852

1195:                                             ; preds = %1190
  %1196 = landingpad { ptr, i32 }
          cleanup
  %1197 = extractvalue { ptr, i32 } %1196, 0
  store ptr %1197, ptr %11, align 8
  %1198 = extractvalue { ptr, i32 } %1196, 1
  store i32 %1198, ptr %12, align 4
  br label %1203

1199:                                             ; preds = %1191
  %1200 = landingpad { ptr, i32 }
          cleanup
  %1201 = extractvalue { ptr, i32 } %1200, 0
  store ptr %1201, ptr %11, align 8
  %1202 = extractvalue { ptr, i32 } %1200, 1
  store i32 %1202, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #7
  br label %1203

1203:                                             ; preds = %1199, %1195
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %189) #7
  br label %1892

1204:                                             ; preds = %1187, %1184, %1181
  %1205 = load i32, ptr %3, align 4, !tbaa !5
  %1206 = icmp eq i32 %1205, 2
  br i1 %1206, label %1207, label %1227

1207:                                             ; preds = %1204
  %1208 = load i32, ptr %5, align 4, !tbaa !5
  %1209 = icmp eq i32 %1208, 1
  br i1 %1209, label %1210, label %1227

1210:                                             ; preds = %1207
  %1211 = load i32, ptr %6, align 4, !tbaa !5
  %1212 = icmp eq i32 %1211, 1
  br i1 %1212, label %1213, label %1227

1213:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 12, ptr %194) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #7
  store i32 2, ptr %195, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #7
  store i32 1, ptr %196, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #7
  store i32 1, ptr %197, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %194, ptr noundef nonnull align 4 dereferenceable(4) %195, ptr noundef nonnull align 4 dereferenceable(4) %196, ptr noundef nonnull align 4 dereferenceable(4) %197)
          to label %1214 unwind label %1218

1214:                                             ; preds = %1213
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #7
  store i32 4, ptr %198, align 4, !tbaa !5
  %1215 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %198)
          to label %1216 unwind label %1222

1216:                                             ; preds = %1214
  %1217 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1215, ptr noundef nonnull align 4 dereferenceable(12) %194) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %194) #7
  br label %1851

1218:                                             ; preds = %1213
  %1219 = landingpad { ptr, i32 }
          cleanup
  %1220 = extractvalue { ptr, i32 } %1219, 0
  store ptr %1220, ptr %11, align 8
  %1221 = extractvalue { ptr, i32 } %1219, 1
  store i32 %1221, ptr %12, align 4
  br label %1226

1222:                                             ; preds = %1214
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %11, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #7
  br label %1226

1226:                                             ; preds = %1222, %1218
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %194) #7
  br label %1892

1227:                                             ; preds = %1210, %1207, %1204
  %1228 = load i32, ptr %3, align 4, !tbaa !5
  %1229 = icmp eq i32 %1228, 2
  br i1 %1229, label %1230, label %1250

1230:                                             ; preds = %1227
  %1231 = load i32, ptr %5, align 4, !tbaa !5
  %1232 = icmp eq i32 %1231, 1
  br i1 %1232, label %1233, label %1250

1233:                                             ; preds = %1230
  %1234 = load i32, ptr %6, align 4, !tbaa !5
  %1235 = icmp eq i32 %1234, 2
  br i1 %1235, label %1236, label %1250

1236:                                             ; preds = %1233
  call void @llvm.lifetime.start.p0(i64 12, ptr %199) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #7
  store i32 2, ptr %200, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #7
  store i32 1, ptr %201, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #7
  store i32 2, ptr %202, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %199, ptr noundef nonnull align 4 dereferenceable(4) %200, ptr noundef nonnull align 4 dereferenceable(4) %201, ptr noundef nonnull align 4 dereferenceable(4) %202)
          to label %1237 unwind label %1241

1237:                                             ; preds = %1236
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #7
  store i32 9, ptr %203, align 4, !tbaa !5
  %1238 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %203)
          to label %1239 unwind label %1245

1239:                                             ; preds = %1237
  %1240 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1238, ptr noundef nonnull align 4 dereferenceable(12) %199) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %199) #7
  br label %1850

1241:                                             ; preds = %1236
  %1242 = landingpad { ptr, i32 }
          cleanup
  %1243 = extractvalue { ptr, i32 } %1242, 0
  store ptr %1243, ptr %11, align 8
  %1244 = extractvalue { ptr, i32 } %1242, 1
  store i32 %1244, ptr %12, align 4
  br label %1249

1245:                                             ; preds = %1237
  %1246 = landingpad { ptr, i32 }
          cleanup
  %1247 = extractvalue { ptr, i32 } %1246, 0
  store ptr %1247, ptr %11, align 8
  %1248 = extractvalue { ptr, i32 } %1246, 1
  store i32 %1248, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #7
  br label %1249

1249:                                             ; preds = %1245, %1241
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %199) #7
  br label %1892

1250:                                             ; preds = %1233, %1230, %1227
  %1251 = load i32, ptr %3, align 4, !tbaa !5
  %1252 = icmp eq i32 %1251, 2
  br i1 %1252, label %1253, label %1273

1253:                                             ; preds = %1250
  %1254 = load i32, ptr %5, align 4, !tbaa !5
  %1255 = icmp eq i32 %1254, 1
  br i1 %1255, label %1256, label %1273

1256:                                             ; preds = %1253
  %1257 = load i32, ptr %6, align 4, !tbaa !5
  %1258 = icmp eq i32 %1257, 3
  br i1 %1258, label %1259, label %1273

1259:                                             ; preds = %1256
  call void @llvm.lifetime.start.p0(i64 12, ptr %204) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #7
  store i32 2, ptr %205, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #7
  store i32 1, ptr %206, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #7
  store i32 3, ptr %207, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %204, ptr noundef nonnull align 4 dereferenceable(4) %205, ptr noundef nonnull align 4 dereferenceable(4) %206, ptr noundef nonnull align 4 dereferenceable(4) %207)
          to label %1260 unwind label %1264

1260:                                             ; preds = %1259
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #7
  store i32 1, ptr %208, align 4, !tbaa !5
  %1261 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %208)
          to label %1262 unwind label %1268

1262:                                             ; preds = %1260
  %1263 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1261, ptr noundef nonnull align 4 dereferenceable(12) %204) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %204) #7
  br label %1849

1264:                                             ; preds = %1259
  %1265 = landingpad { ptr, i32 }
          cleanup
  %1266 = extractvalue { ptr, i32 } %1265, 0
  store ptr %1266, ptr %11, align 8
  %1267 = extractvalue { ptr, i32 } %1265, 1
  store i32 %1267, ptr %12, align 4
  br label %1272

1268:                                             ; preds = %1260
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %11, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #7
  br label %1272

1272:                                             ; preds = %1268, %1264
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %204) #7
  br label %1892

1273:                                             ; preds = %1256, %1253, %1250
  %1274 = load i32, ptr %3, align 4, !tbaa !5
  %1275 = icmp eq i32 %1274, 2
  br i1 %1275, label %1276, label %1296

1276:                                             ; preds = %1273
  %1277 = load i32, ptr %5, align 4, !tbaa !5
  %1278 = icmp eq i32 %1277, 2
  br i1 %1278, label %1279, label %1296

1279:                                             ; preds = %1276
  %1280 = load i32, ptr %6, align 4, !tbaa !5
  %1281 = icmp eq i32 %1280, 0
  br i1 %1281, label %1282, label %1296

1282:                                             ; preds = %1279
  call void @llvm.lifetime.start.p0(i64 12, ptr %209) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #7
  store i32 2, ptr %210, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #7
  store i32 2, ptr %211, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #7
  store i32 0, ptr %212, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %209, ptr noundef nonnull align 4 dereferenceable(4) %210, ptr noundef nonnull align 4 dereferenceable(4) %211, ptr noundef nonnull align 4 dereferenceable(4) %212)
          to label %1283 unwind label %1287

1283:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #7
  store i32 24, ptr %213, align 4, !tbaa !5
  %1284 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %213)
          to label %1285 unwind label %1291

1285:                                             ; preds = %1283
  %1286 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1284, ptr noundef nonnull align 4 dereferenceable(12) %209) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %209) #7
  br label %1848

1287:                                             ; preds = %1282
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %11, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %12, align 4
  br label %1295

1291:                                             ; preds = %1283
  %1292 = landingpad { ptr, i32 }
          cleanup
  %1293 = extractvalue { ptr, i32 } %1292, 0
  store ptr %1293, ptr %11, align 8
  %1294 = extractvalue { ptr, i32 } %1292, 1
  store i32 %1294, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #7
  br label %1295

1295:                                             ; preds = %1291, %1287
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %209) #7
  br label %1892

1296:                                             ; preds = %1279, %1276, %1273
  %1297 = load i32, ptr %3, align 4, !tbaa !5
  %1298 = icmp eq i32 %1297, 2
  br i1 %1298, label %1299, label %1319

1299:                                             ; preds = %1296
  %1300 = load i32, ptr %5, align 4, !tbaa !5
  %1301 = icmp eq i32 %1300, 2
  br i1 %1301, label %1302, label %1319

1302:                                             ; preds = %1299
  %1303 = load i32, ptr %6, align 4, !tbaa !5
  %1304 = icmp eq i32 %1303, 1
  br i1 %1304, label %1305, label %1319

1305:                                             ; preds = %1302
  call void @llvm.lifetime.start.p0(i64 12, ptr %214) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #7
  store i32 2, ptr %215, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #7
  store i32 2, ptr %216, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #7
  store i32 1, ptr %217, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %214, ptr noundef nonnull align 4 dereferenceable(4) %215, ptr noundef nonnull align 4 dereferenceable(4) %216, ptr noundef nonnull align 4 dereferenceable(4) %217)
          to label %1306 unwind label %1310

1306:                                             ; preds = %1305
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #7
  store i32 9, ptr %218, align 4, !tbaa !5
  %1307 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %218)
          to label %1308 unwind label %1314

1308:                                             ; preds = %1306
  %1309 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1307, ptr noundef nonnull align 4 dereferenceable(12) %214) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %214) #7
  br label %1847

1310:                                             ; preds = %1305
  %1311 = landingpad { ptr, i32 }
          cleanup
  %1312 = extractvalue { ptr, i32 } %1311, 0
  store ptr %1312, ptr %11, align 8
  %1313 = extractvalue { ptr, i32 } %1311, 1
  store i32 %1313, ptr %12, align 4
  br label %1318

1314:                                             ; preds = %1306
  %1315 = landingpad { ptr, i32 }
          cleanup
  %1316 = extractvalue { ptr, i32 } %1315, 0
  store ptr %1316, ptr %11, align 8
  %1317 = extractvalue { ptr, i32 } %1315, 1
  store i32 %1317, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #7
  br label %1318

1318:                                             ; preds = %1314, %1310
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %214) #7
  br label %1892

1319:                                             ; preds = %1302, %1299, %1296
  %1320 = load i32, ptr %3, align 4, !tbaa !5
  %1321 = icmp eq i32 %1320, 2
  br i1 %1321, label %1322, label %1342

1322:                                             ; preds = %1319
  %1323 = load i32, ptr %5, align 4, !tbaa !5
  %1324 = icmp eq i32 %1323, 2
  br i1 %1324, label %1325, label %1342

1325:                                             ; preds = %1322
  %1326 = load i32, ptr %6, align 4, !tbaa !5
  %1327 = icmp eq i32 %1326, 2
  br i1 %1327, label %1328, label %1342

1328:                                             ; preds = %1325
  call void @llvm.lifetime.start.p0(i64 12, ptr %219) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #7
  store i32 2, ptr %220, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #7
  store i32 2, ptr %221, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #7
  store i32 2, ptr %222, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %219, ptr noundef nonnull align 4 dereferenceable(4) %220, ptr noundef nonnull align 4 dereferenceable(4) %221, ptr noundef nonnull align 4 dereferenceable(4) %222)
          to label %1329 unwind label %1333

1329:                                             ; preds = %1328
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #7
  store i32 16, ptr %223, align 4, !tbaa !5
  %1330 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %223)
          to label %1331 unwind label %1337

1331:                                             ; preds = %1329
  %1332 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1330, ptr noundef nonnull align 4 dereferenceable(12) %219) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %219) #7
  br label %1846

1333:                                             ; preds = %1328
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %11, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %12, align 4
  br label %1341

1337:                                             ; preds = %1329
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %11, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #7
  br label %1341

1341:                                             ; preds = %1337, %1333
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %219) #7
  br label %1892

1342:                                             ; preds = %1325, %1322, %1319
  %1343 = load i32, ptr %3, align 4, !tbaa !5
  %1344 = icmp eq i32 %1343, 2
  br i1 %1344, label %1345, label %1365

1345:                                             ; preds = %1342
  %1346 = load i32, ptr %5, align 4, !tbaa !5
  %1347 = icmp eq i32 %1346, 2
  br i1 %1347, label %1348, label %1365

1348:                                             ; preds = %1345
  %1349 = load i32, ptr %6, align 4, !tbaa !5
  %1350 = icmp eq i32 %1349, 3
  br i1 %1350, label %1351, label %1365

1351:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 12, ptr %224) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #7
  store i32 2, ptr %225, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #7
  store i32 2, ptr %226, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #7
  store i32 3, ptr %227, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %224, ptr noundef nonnull align 4 dereferenceable(4) %225, ptr noundef nonnull align 4 dereferenceable(4) %226, ptr noundef nonnull align 4 dereferenceable(4) %227)
          to label %1352 unwind label %1356

1352:                                             ; preds = %1351
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #7
  store i32 8, ptr %228, align 4, !tbaa !5
  %1353 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %228)
          to label %1354 unwind label %1360

1354:                                             ; preds = %1352
  %1355 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1353, ptr noundef nonnull align 4 dereferenceable(12) %224) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %224) #7
  br label %1845

1356:                                             ; preds = %1351
  %1357 = landingpad { ptr, i32 }
          cleanup
  %1358 = extractvalue { ptr, i32 } %1357, 0
  store ptr %1358, ptr %11, align 8
  %1359 = extractvalue { ptr, i32 } %1357, 1
  store i32 %1359, ptr %12, align 4
  br label %1364

1360:                                             ; preds = %1352
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %11, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #7
  br label %1364

1364:                                             ; preds = %1360, %1356
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %224) #7
  br label %1892

1365:                                             ; preds = %1348, %1345, %1342
  %1366 = load i32, ptr %3, align 4, !tbaa !5
  %1367 = icmp eq i32 %1366, 2
  br i1 %1367, label %1368, label %1388

1368:                                             ; preds = %1365
  %1369 = load i32, ptr %5, align 4, !tbaa !5
  %1370 = icmp eq i32 %1369, 3
  br i1 %1370, label %1371, label %1388

1371:                                             ; preds = %1368
  %1372 = load i32, ptr %6, align 4, !tbaa !5
  %1373 = icmp eq i32 %1372, 0
  br i1 %1373, label %1374, label %1388

1374:                                             ; preds = %1371
  call void @llvm.lifetime.start.p0(i64 12, ptr %229) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #7
  store i32 2, ptr %230, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #7
  store i32 3, ptr %231, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #7
  store i32 0, ptr %232, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %229, ptr noundef nonnull align 4 dereferenceable(4) %230, ptr noundef nonnull align 4 dereferenceable(4) %231, ptr noundef nonnull align 4 dereferenceable(4) %232)
          to label %1375 unwind label %1379

1375:                                             ; preds = %1374
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #7
  store i32 -8, ptr %233, align 4, !tbaa !5
  %1376 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %233)
          to label %1377 unwind label %1383

1377:                                             ; preds = %1375
  %1378 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1376, ptr noundef nonnull align 4 dereferenceable(12) %229) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %229) #7
  br label %1844

1379:                                             ; preds = %1374
  %1380 = landingpad { ptr, i32 }
          cleanup
  %1381 = extractvalue { ptr, i32 } %1380, 0
  store ptr %1381, ptr %11, align 8
  %1382 = extractvalue { ptr, i32 } %1380, 1
  store i32 %1382, ptr %12, align 4
  br label %1387

1383:                                             ; preds = %1375
  %1384 = landingpad { ptr, i32 }
          cleanup
  %1385 = extractvalue { ptr, i32 } %1384, 0
  store ptr %1385, ptr %11, align 8
  %1386 = extractvalue { ptr, i32 } %1384, 1
  store i32 %1386, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #7
  br label %1387

1387:                                             ; preds = %1383, %1379
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %229) #7
  br label %1892

1388:                                             ; preds = %1371, %1368, %1365
  %1389 = load i32, ptr %3, align 4, !tbaa !5
  %1390 = icmp eq i32 %1389, 2
  br i1 %1390, label %1391, label %1411

1391:                                             ; preds = %1388
  %1392 = load i32, ptr %5, align 4, !tbaa !5
  %1393 = icmp eq i32 %1392, 3
  br i1 %1393, label %1394, label %1411

1394:                                             ; preds = %1391
  %1395 = load i32, ptr %6, align 4, !tbaa !5
  %1396 = icmp eq i32 %1395, 1
  br i1 %1396, label %1397, label %1411

1397:                                             ; preds = %1394
  call void @llvm.lifetime.start.p0(i64 12, ptr %234) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #7
  store i32 2, ptr %235, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #7
  store i32 3, ptr %236, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #7
  store i32 1, ptr %237, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %234, ptr noundef nonnull align 4 dereferenceable(4) %235, ptr noundef nonnull align 4 dereferenceable(4) %236, ptr noundef nonnull align 4 dereferenceable(4) %237)
          to label %1398 unwind label %1402

1398:                                             ; preds = %1397
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #7
  store i32 7, ptr %238, align 4, !tbaa !5
  %1399 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %238)
          to label %1400 unwind label %1406

1400:                                             ; preds = %1398
  %1401 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1399, ptr noundef nonnull align 4 dereferenceable(12) %234) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %234) #7
  br label %1843

1402:                                             ; preds = %1397
  %1403 = landingpad { ptr, i32 }
          cleanup
  %1404 = extractvalue { ptr, i32 } %1403, 0
  store ptr %1404, ptr %11, align 8
  %1405 = extractvalue { ptr, i32 } %1403, 1
  store i32 %1405, ptr %12, align 4
  br label %1410

1406:                                             ; preds = %1398
  %1407 = landingpad { ptr, i32 }
          cleanup
  %1408 = extractvalue { ptr, i32 } %1407, 0
  store ptr %1408, ptr %11, align 8
  %1409 = extractvalue { ptr, i32 } %1407, 1
  store i32 %1409, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #7
  br label %1410

1410:                                             ; preds = %1406, %1402
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %234) #7
  br label %1892

1411:                                             ; preds = %1394, %1391, %1388
  %1412 = load i32, ptr %3, align 4, !tbaa !5
  %1413 = icmp eq i32 %1412, 2
  br i1 %1413, label %1414, label %1434

1414:                                             ; preds = %1411
  %1415 = load i32, ptr %5, align 4, !tbaa !5
  %1416 = icmp eq i32 %1415, 3
  br i1 %1416, label %1417, label %1434

1417:                                             ; preds = %1414
  %1418 = load i32, ptr %6, align 4, !tbaa !5
  %1419 = icmp eq i32 %1418, 2
  br i1 %1419, label %1420, label %1434

1420:                                             ; preds = %1417
  call void @llvm.lifetime.start.p0(i64 12, ptr %239) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #7
  store i32 2, ptr %240, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #7
  store i32 3, ptr %241, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #7
  store i32 2, ptr %242, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %239, ptr noundef nonnull align 4 dereferenceable(4) %240, ptr noundef nonnull align 4 dereferenceable(4) %241, ptr noundef nonnull align 4 dereferenceable(4) %242)
          to label %1421 unwind label %1425

1421:                                             ; preds = %1420
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #7
  store i32 8, ptr %243, align 4, !tbaa !5
  %1422 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %243)
          to label %1423 unwind label %1429

1423:                                             ; preds = %1421
  %1424 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1422, ptr noundef nonnull align 4 dereferenceable(12) %239) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %239) #7
  br label %1842

1425:                                             ; preds = %1420
  %1426 = landingpad { ptr, i32 }
          cleanup
  %1427 = extractvalue { ptr, i32 } %1426, 0
  store ptr %1427, ptr %11, align 8
  %1428 = extractvalue { ptr, i32 } %1426, 1
  store i32 %1428, ptr %12, align 4
  br label %1433

1429:                                             ; preds = %1421
  %1430 = landingpad { ptr, i32 }
          cleanup
  %1431 = extractvalue { ptr, i32 } %1430, 0
  store ptr %1431, ptr %11, align 8
  %1432 = extractvalue { ptr, i32 } %1430, 1
  store i32 %1432, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #7
  br label %1433

1433:                                             ; preds = %1429, %1425
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %239) #7
  br label %1892

1434:                                             ; preds = %1417, %1414, %1411
  %1435 = load i32, ptr %3, align 4, !tbaa !5
  %1436 = icmp eq i32 %1435, 2
  br i1 %1436, label %1437, label %1457

1437:                                             ; preds = %1434
  %1438 = load i32, ptr %5, align 4, !tbaa !5
  %1439 = icmp eq i32 %1438, 3
  br i1 %1439, label %1440, label %1457

1440:                                             ; preds = %1437
  %1441 = load i32, ptr %6, align 4, !tbaa !5
  %1442 = icmp eq i32 %1441, 3
  br i1 %1442, label %1443, label %1457

1443:                                             ; preds = %1440
  call void @llvm.lifetime.start.p0(i64 12, ptr %244) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #7
  store i32 2, ptr %245, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #7
  store i32 3, ptr %246, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #7
  store i32 3, ptr %247, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %244, ptr noundef nonnull align 4 dereferenceable(4) %245, ptr noundef nonnull align 4 dereferenceable(4) %246, ptr noundef nonnull align 4 dereferenceable(4) %247)
          to label %1444 unwind label %1448

1444:                                             ; preds = %1443
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #7
  store i32 0, ptr %248, align 4, !tbaa !5
  %1445 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %248)
          to label %1446 unwind label %1452

1446:                                             ; preds = %1444
  %1447 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1445, ptr noundef nonnull align 4 dereferenceable(12) %244) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %244) #7
  br label %1841

1448:                                             ; preds = %1443
  %1449 = landingpad { ptr, i32 }
          cleanup
  %1450 = extractvalue { ptr, i32 } %1449, 0
  store ptr %1450, ptr %11, align 8
  %1451 = extractvalue { ptr, i32 } %1449, 1
  store i32 %1451, ptr %12, align 4
  br label %1456

1452:                                             ; preds = %1444
  %1453 = landingpad { ptr, i32 }
          cleanup
  %1454 = extractvalue { ptr, i32 } %1453, 0
  store ptr %1454, ptr %11, align 8
  %1455 = extractvalue { ptr, i32 } %1453, 1
  store i32 %1455, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #7
  br label %1456

1456:                                             ; preds = %1452, %1448
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %244) #7
  br label %1892

1457:                                             ; preds = %1440, %1437, %1434
  %1458 = load i32, ptr %3, align 4, !tbaa !5
  %1459 = icmp eq i32 %1458, 3
  br i1 %1459, label %1460, label %1480

1460:                                             ; preds = %1457
  %1461 = load i32, ptr %5, align 4, !tbaa !5
  %1462 = icmp eq i32 %1461, 0
  br i1 %1462, label %1463, label %1480

1463:                                             ; preds = %1460
  %1464 = load i32, ptr %6, align 4, !tbaa !5
  %1465 = icmp eq i32 %1464, 0
  br i1 %1465, label %1466, label %1480

1466:                                             ; preds = %1463
  call void @llvm.lifetime.start.p0(i64 12, ptr %249) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #7
  store i32 3, ptr %250, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #7
  store i32 0, ptr %251, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #7
  store i32 0, ptr %252, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %249, ptr noundef nonnull align 4 dereferenceable(4) %250, ptr noundef nonnull align 4 dereferenceable(4) %251, ptr noundef nonnull align 4 dereferenceable(4) %252)
          to label %1467 unwind label %1471

1467:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #7
  store i32 -60, ptr %253, align 4, !tbaa !5
  %1468 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %253)
          to label %1469 unwind label %1475

1469:                                             ; preds = %1467
  %1470 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1468, ptr noundef nonnull align 4 dereferenceable(12) %249) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %249) #7
  br label %1840

1471:                                             ; preds = %1466
  %1472 = landingpad { ptr, i32 }
          cleanup
  %1473 = extractvalue { ptr, i32 } %1472, 0
  store ptr %1473, ptr %11, align 8
  %1474 = extractvalue { ptr, i32 } %1472, 1
  store i32 %1474, ptr %12, align 4
  br label %1479

1475:                                             ; preds = %1467
  %1476 = landingpad { ptr, i32 }
          cleanup
  %1477 = extractvalue { ptr, i32 } %1476, 0
  store ptr %1477, ptr %11, align 8
  %1478 = extractvalue { ptr, i32 } %1476, 1
  store i32 %1478, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #7
  br label %1479

1479:                                             ; preds = %1475, %1471
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %249) #7
  br label %1892

1480:                                             ; preds = %1463, %1460, %1457
  %1481 = load i32, ptr %3, align 4, !tbaa !5
  %1482 = icmp eq i32 %1481, 3
  br i1 %1482, label %1483, label %1503

1483:                                             ; preds = %1480
  %1484 = load i32, ptr %5, align 4, !tbaa !5
  %1485 = icmp eq i32 %1484, 0
  br i1 %1485, label %1486, label %1503

1486:                                             ; preds = %1483
  %1487 = load i32, ptr %6, align 4, !tbaa !5
  %1488 = icmp eq i32 %1487, 1
  br i1 %1488, label %1489, label %1503

1489:                                             ; preds = %1486
  call void @llvm.lifetime.start.p0(i64 12, ptr %254) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #7
  store i32 3, ptr %255, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #7
  store i32 0, ptr %256, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #7
  store i32 1, ptr %257, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %254, ptr noundef nonnull align 4 dereferenceable(4) %255, ptr noundef nonnull align 4 dereferenceable(4) %256, ptr noundef nonnull align 4 dereferenceable(4) %257)
          to label %1490 unwind label %1494

1490:                                             ; preds = %1489
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #7
  store i32 0, ptr %258, align 4, !tbaa !5
  %1491 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %258)
          to label %1492 unwind label %1498

1492:                                             ; preds = %1490
  %1493 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1491, ptr noundef nonnull align 4 dereferenceable(12) %254) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %254) #7
  br label %1839

1494:                                             ; preds = %1489
  %1495 = landingpad { ptr, i32 }
          cleanup
  %1496 = extractvalue { ptr, i32 } %1495, 0
  store ptr %1496, ptr %11, align 8
  %1497 = extractvalue { ptr, i32 } %1495, 1
  store i32 %1497, ptr %12, align 4
  br label %1502

1498:                                             ; preds = %1490
  %1499 = landingpad { ptr, i32 }
          cleanup
  %1500 = extractvalue { ptr, i32 } %1499, 0
  store ptr %1500, ptr %11, align 8
  %1501 = extractvalue { ptr, i32 } %1499, 1
  store i32 %1501, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #7
  br label %1502

1502:                                             ; preds = %1498, %1494
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %254) #7
  br label %1892

1503:                                             ; preds = %1486, %1483, %1480
  %1504 = load i32, ptr %3, align 4, !tbaa !5
  %1505 = icmp eq i32 %1504, 3
  br i1 %1505, label %1506, label %1526

1506:                                             ; preds = %1503
  %1507 = load i32, ptr %5, align 4, !tbaa !5
  %1508 = icmp eq i32 %1507, 0
  br i1 %1508, label %1509, label %1526

1509:                                             ; preds = %1506
  %1510 = load i32, ptr %6, align 4, !tbaa !5
  %1511 = icmp eq i32 %1510, 2
  br i1 %1511, label %1512, label %1526

1512:                                             ; preds = %1509
  call void @llvm.lifetime.start.p0(i64 12, ptr %259) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #7
  store i32 3, ptr %260, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #7
  store i32 0, ptr %261, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #7
  store i32 2, ptr %262, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %259, ptr noundef nonnull align 4 dereferenceable(4) %260, ptr noundef nonnull align 4 dereferenceable(4) %261, ptr noundef nonnull align 4 dereferenceable(4) %262)
          to label %1513 unwind label %1517

1513:                                             ; preds = %1512
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #7
  store i32 -8, ptr %263, align 4, !tbaa !5
  %1514 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %263)
          to label %1515 unwind label %1521

1515:                                             ; preds = %1513
  %1516 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1514, ptr noundef nonnull align 4 dereferenceable(12) %259) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %259) #7
  br label %1838

1517:                                             ; preds = %1512
  %1518 = landingpad { ptr, i32 }
          cleanup
  %1519 = extractvalue { ptr, i32 } %1518, 0
  store ptr %1519, ptr %11, align 8
  %1520 = extractvalue { ptr, i32 } %1518, 1
  store i32 %1520, ptr %12, align 4
  br label %1525

1521:                                             ; preds = %1513
  %1522 = landingpad { ptr, i32 }
          cleanup
  %1523 = extractvalue { ptr, i32 } %1522, 0
  store ptr %1523, ptr %11, align 8
  %1524 = extractvalue { ptr, i32 } %1522, 1
  store i32 %1524, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #7
  br label %1525

1525:                                             ; preds = %1521, %1517
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %259) #7
  br label %1892

1526:                                             ; preds = %1509, %1506, %1503
  %1527 = load i32, ptr %3, align 4, !tbaa !5
  %1528 = icmp eq i32 %1527, 3
  br i1 %1528, label %1529, label %1549

1529:                                             ; preds = %1526
  %1530 = load i32, ptr %5, align 4, !tbaa !5
  %1531 = icmp eq i32 %1530, 0
  br i1 %1531, label %1532, label %1549

1532:                                             ; preds = %1529
  %1533 = load i32, ptr %6, align 4, !tbaa !5
  %1534 = icmp eq i32 %1533, 3
  br i1 %1534, label %1535, label %1549

1535:                                             ; preds = %1532
  call void @llvm.lifetime.start.p0(i64 12, ptr %264) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #7
  store i32 3, ptr %265, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #7
  store i32 0, ptr %266, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #7
  store i32 3, ptr %267, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %264, ptr noundef nonnull align 4 dereferenceable(4) %265, ptr noundef nonnull align 4 dereferenceable(4) %266, ptr noundef nonnull align 4 dereferenceable(4) %267)
          to label %1536 unwind label %1540

1536:                                             ; preds = %1535
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #7
  store i32 -16, ptr %268, align 4, !tbaa !5
  %1537 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %268)
          to label %1538 unwind label %1544

1538:                                             ; preds = %1536
  %1539 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1537, ptr noundef nonnull align 4 dereferenceable(12) %264) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %264) #7
  br label %1837

1540:                                             ; preds = %1535
  %1541 = landingpad { ptr, i32 }
          cleanup
  %1542 = extractvalue { ptr, i32 } %1541, 0
  store ptr %1542, ptr %11, align 8
  %1543 = extractvalue { ptr, i32 } %1541, 1
  store i32 %1543, ptr %12, align 4
  br label %1548

1544:                                             ; preds = %1536
  %1545 = landingpad { ptr, i32 }
          cleanup
  %1546 = extractvalue { ptr, i32 } %1545, 0
  store ptr %1546, ptr %11, align 8
  %1547 = extractvalue { ptr, i32 } %1545, 1
  store i32 %1547, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #7
  br label %1548

1548:                                             ; preds = %1544, %1540
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %264) #7
  br label %1892

1549:                                             ; preds = %1532, %1529, %1526
  %1550 = load i32, ptr %3, align 4, !tbaa !5
  %1551 = icmp eq i32 %1550, 3
  br i1 %1551, label %1552, label %1572

1552:                                             ; preds = %1549
  %1553 = load i32, ptr %5, align 4, !tbaa !5
  %1554 = icmp eq i32 %1553, 1
  br i1 %1554, label %1555, label %1572

1555:                                             ; preds = %1552
  %1556 = load i32, ptr %6, align 4, !tbaa !5
  %1557 = icmp eq i32 %1556, 0
  br i1 %1557, label %1558, label %1572

1558:                                             ; preds = %1555
  call void @llvm.lifetime.start.p0(i64 12, ptr %269) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #7
  store i32 3, ptr %270, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #7
  store i32 1, ptr %271, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #7
  store i32 0, ptr %272, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %269, ptr noundef nonnull align 4 dereferenceable(4) %270, ptr noundef nonnull align 4 dereferenceable(4) %271, ptr noundef nonnull align 4 dereferenceable(4) %272)
          to label %1559 unwind label %1563

1559:                                             ; preds = %1558
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #7
  store i32 0, ptr %273, align 4, !tbaa !5
  %1560 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %273)
          to label %1561 unwind label %1567

1561:                                             ; preds = %1559
  %1562 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1560, ptr noundef nonnull align 4 dereferenceable(12) %269) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %269) #7
  br label %1836

1563:                                             ; preds = %1558
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %11, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %12, align 4
  br label %1571

1567:                                             ; preds = %1559
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %11, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #7
  br label %1571

1571:                                             ; preds = %1567, %1563
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %269) #7
  br label %1892

1572:                                             ; preds = %1555, %1552, %1549
  %1573 = load i32, ptr %3, align 4, !tbaa !5
  %1574 = icmp eq i32 %1573, 3
  br i1 %1574, label %1575, label %1595

1575:                                             ; preds = %1572
  %1576 = load i32, ptr %5, align 4, !tbaa !5
  %1577 = icmp eq i32 %1576, 1
  br i1 %1577, label %1578, label %1595

1578:                                             ; preds = %1575
  %1579 = load i32, ptr %6, align 4, !tbaa !5
  %1580 = icmp eq i32 %1579, 1
  br i1 %1580, label %1581, label %1595

1581:                                             ; preds = %1578
  call void @llvm.lifetime.start.p0(i64 12, ptr %274) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #7
  store i32 3, ptr %275, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #7
  store i32 1, ptr %276, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #7
  store i32 1, ptr %277, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %274, ptr noundef nonnull align 4 dereferenceable(4) %275, ptr noundef nonnull align 4 dereferenceable(4) %276, ptr noundef nonnull align 4 dereferenceable(4) %277)
          to label %1582 unwind label %1586

1582:                                             ; preds = %1581
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #7
  store i32 4, ptr %278, align 4, !tbaa !5
  %1583 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %278)
          to label %1584 unwind label %1590

1584:                                             ; preds = %1582
  %1585 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1583, ptr noundef nonnull align 4 dereferenceable(12) %274) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %274) #7
  br label %1835

1586:                                             ; preds = %1581
  %1587 = landingpad { ptr, i32 }
          cleanup
  %1588 = extractvalue { ptr, i32 } %1587, 0
  store ptr %1588, ptr %11, align 8
  %1589 = extractvalue { ptr, i32 } %1587, 1
  store i32 %1589, ptr %12, align 4
  br label %1594

1590:                                             ; preds = %1582
  %1591 = landingpad { ptr, i32 }
          cleanup
  %1592 = extractvalue { ptr, i32 } %1591, 0
  store ptr %1592, ptr %11, align 8
  %1593 = extractvalue { ptr, i32 } %1591, 1
  store i32 %1593, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #7
  br label %1594

1594:                                             ; preds = %1590, %1586
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %274) #7
  br label %1892

1595:                                             ; preds = %1578, %1575, %1572
  %1596 = load i32, ptr %3, align 4, !tbaa !5
  %1597 = icmp eq i32 %1596, 3
  br i1 %1597, label %1598, label %1618

1598:                                             ; preds = %1595
  %1599 = load i32, ptr %5, align 4, !tbaa !5
  %1600 = icmp eq i32 %1599, 1
  br i1 %1600, label %1601, label %1618

1601:                                             ; preds = %1598
  %1602 = load i32, ptr %6, align 4, !tbaa !5
  %1603 = icmp eq i32 %1602, 2
  br i1 %1603, label %1604, label %1618

1604:                                             ; preds = %1601
  call void @llvm.lifetime.start.p0(i64 12, ptr %279) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #7
  store i32 3, ptr %280, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #7
  store i32 1, ptr %281, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #7
  store i32 2, ptr %282, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %279, ptr noundef nonnull align 4 dereferenceable(4) %280, ptr noundef nonnull align 4 dereferenceable(4) %281, ptr noundef nonnull align 4 dereferenceable(4) %282)
          to label %1605 unwind label %1609

1605:                                             ; preds = %1604
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #7
  store i32 7, ptr %283, align 4, !tbaa !5
  %1606 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %283)
          to label %1607 unwind label %1613

1607:                                             ; preds = %1605
  %1608 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1606, ptr noundef nonnull align 4 dereferenceable(12) %279) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %279) #7
  br label %1834

1609:                                             ; preds = %1604
  %1610 = landingpad { ptr, i32 }
          cleanup
  %1611 = extractvalue { ptr, i32 } %1610, 0
  store ptr %1611, ptr %11, align 8
  %1612 = extractvalue { ptr, i32 } %1610, 1
  store i32 %1612, ptr %12, align 4
  br label %1617

1613:                                             ; preds = %1605
  %1614 = landingpad { ptr, i32 }
          cleanup
  %1615 = extractvalue { ptr, i32 } %1614, 0
  store ptr %1615, ptr %11, align 8
  %1616 = extractvalue { ptr, i32 } %1614, 1
  store i32 %1616, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #7
  br label %1617

1617:                                             ; preds = %1613, %1609
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %279) #7
  br label %1892

1618:                                             ; preds = %1601, %1598, %1595
  %1619 = load i32, ptr %3, align 4, !tbaa !5
  %1620 = icmp eq i32 %1619, 3
  br i1 %1620, label %1621, label %1641

1621:                                             ; preds = %1618
  %1622 = load i32, ptr %5, align 4, !tbaa !5
  %1623 = icmp eq i32 %1622, 1
  br i1 %1623, label %1624, label %1641

1624:                                             ; preds = %1621
  %1625 = load i32, ptr %6, align 4, !tbaa !5
  %1626 = icmp eq i32 %1625, 3
  br i1 %1626, label %1627, label %1641

1627:                                             ; preds = %1624
  call void @llvm.lifetime.start.p0(i64 12, ptr %284) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #7
  store i32 3, ptr %285, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #7
  store i32 1, ptr %286, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #7
  store i32 3, ptr %287, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %284, ptr noundef nonnull align 4 dereferenceable(4) %285, ptr noundef nonnull align 4 dereferenceable(4) %286, ptr noundef nonnull align 4 dereferenceable(4) %287)
          to label %1628 unwind label %1632

1628:                                             ; preds = %1627
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #7
  store i32 -1, ptr %288, align 4, !tbaa !5
  %1629 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %288)
          to label %1630 unwind label %1636

1630:                                             ; preds = %1628
  %1631 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1629, ptr noundef nonnull align 4 dereferenceable(12) %284) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %284) #7
  br label %1833

1632:                                             ; preds = %1627
  %1633 = landingpad { ptr, i32 }
          cleanup
  %1634 = extractvalue { ptr, i32 } %1633, 0
  store ptr %1634, ptr %11, align 8
  %1635 = extractvalue { ptr, i32 } %1633, 1
  store i32 %1635, ptr %12, align 4
  br label %1640

1636:                                             ; preds = %1628
  %1637 = landingpad { ptr, i32 }
          cleanup
  %1638 = extractvalue { ptr, i32 } %1637, 0
  store ptr %1638, ptr %11, align 8
  %1639 = extractvalue { ptr, i32 } %1637, 1
  store i32 %1639, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #7
  br label %1640

1640:                                             ; preds = %1636, %1632
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %284) #7
  br label %1892

1641:                                             ; preds = %1624, %1621, %1618
  %1642 = load i32, ptr %3, align 4, !tbaa !5
  %1643 = icmp eq i32 %1642, 3
  br i1 %1643, label %1644, label %1664

1644:                                             ; preds = %1641
  %1645 = load i32, ptr %5, align 4, !tbaa !5
  %1646 = icmp eq i32 %1645, 2
  br i1 %1646, label %1647, label %1664

1647:                                             ; preds = %1644
  %1648 = load i32, ptr %6, align 4, !tbaa !5
  %1649 = icmp eq i32 %1648, 0
  br i1 %1649, label %1650, label %1664

1650:                                             ; preds = %1647
  call void @llvm.lifetime.start.p0(i64 12, ptr %289) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #7
  store i32 3, ptr %290, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #7
  store i32 2, ptr %291, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #7
  store i32 0, ptr %292, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %289, ptr noundef nonnull align 4 dereferenceable(4) %290, ptr noundef nonnull align 4 dereferenceable(4) %291, ptr noundef nonnull align 4 dereferenceable(4) %292)
          to label %1651 unwind label %1655

1651:                                             ; preds = %1650
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #7
  store i32 16, ptr %293, align 4, !tbaa !5
  %1652 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %293)
          to label %1653 unwind label %1659

1653:                                             ; preds = %1651
  %1654 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1652, ptr noundef nonnull align 4 dereferenceable(12) %289) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %289) #7
  br label %1832

1655:                                             ; preds = %1650
  %1656 = landingpad { ptr, i32 }
          cleanup
  %1657 = extractvalue { ptr, i32 } %1656, 0
  store ptr %1657, ptr %11, align 8
  %1658 = extractvalue { ptr, i32 } %1656, 1
  store i32 %1658, ptr %12, align 4
  br label %1663

1659:                                             ; preds = %1651
  %1660 = landingpad { ptr, i32 }
          cleanup
  %1661 = extractvalue { ptr, i32 } %1660, 0
  store ptr %1661, ptr %11, align 8
  %1662 = extractvalue { ptr, i32 } %1660, 1
  store i32 %1662, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #7
  br label %1663

1663:                                             ; preds = %1659, %1655
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %289) #7
  br label %1892

1664:                                             ; preds = %1647, %1644, %1641
  %1665 = load i32, ptr %3, align 4, !tbaa !5
  %1666 = icmp eq i32 %1665, 3
  br i1 %1666, label %1667, label %1687

1667:                                             ; preds = %1664
  %1668 = load i32, ptr %5, align 4, !tbaa !5
  %1669 = icmp eq i32 %1668, 2
  br i1 %1669, label %1670, label %1687

1670:                                             ; preds = %1667
  %1671 = load i32, ptr %6, align 4, !tbaa !5
  %1672 = icmp eq i32 %1671, 1
  br i1 %1672, label %1673, label %1687

1673:                                             ; preds = %1670
  call void @llvm.lifetime.start.p0(i64 12, ptr %294) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #7
  store i32 3, ptr %295, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #7
  store i32 2, ptr %296, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #7
  store i32 1, ptr %297, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %294, ptr noundef nonnull align 4 dereferenceable(4) %295, ptr noundef nonnull align 4 dereferenceable(4) %296, ptr noundef nonnull align 4 dereferenceable(4) %297)
          to label %1674 unwind label %1678

1674:                                             ; preds = %1673
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #7
  store i32 1, ptr %298, align 4, !tbaa !5
  %1675 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %298)
          to label %1676 unwind label %1682

1676:                                             ; preds = %1674
  %1677 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1675, ptr noundef nonnull align 4 dereferenceable(12) %294) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %294) #7
  br label %1831

1678:                                             ; preds = %1673
  %1679 = landingpad { ptr, i32 }
          cleanup
  %1680 = extractvalue { ptr, i32 } %1679, 0
  store ptr %1680, ptr %11, align 8
  %1681 = extractvalue { ptr, i32 } %1679, 1
  store i32 %1681, ptr %12, align 4
  br label %1686

1682:                                             ; preds = %1674
  %1683 = landingpad { ptr, i32 }
          cleanup
  %1684 = extractvalue { ptr, i32 } %1683, 0
  store ptr %1684, ptr %11, align 8
  %1685 = extractvalue { ptr, i32 } %1683, 1
  store i32 %1685, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #7
  br label %1686

1686:                                             ; preds = %1682, %1678
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %294) #7
  br label %1892

1687:                                             ; preds = %1670, %1667, %1664
  %1688 = load i32, ptr %3, align 4, !tbaa !5
  %1689 = icmp eq i32 %1688, 3
  br i1 %1689, label %1690, label %1710

1690:                                             ; preds = %1687
  %1691 = load i32, ptr %5, align 4, !tbaa !5
  %1692 = icmp eq i32 %1691, 2
  br i1 %1692, label %1693, label %1710

1693:                                             ; preds = %1690
  %1694 = load i32, ptr %6, align 4, !tbaa !5
  %1695 = icmp eq i32 %1694, 2
  br i1 %1695, label %1696, label %1710

1696:                                             ; preds = %1693
  call void @llvm.lifetime.start.p0(i64 12, ptr %299) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #7
  store i32 3, ptr %300, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #7
  store i32 2, ptr %301, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #7
  store i32 2, ptr %302, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %299, ptr noundef nonnull align 4 dereferenceable(4) %300, ptr noundef nonnull align 4 dereferenceable(4) %301, ptr noundef nonnull align 4 dereferenceable(4) %302)
          to label %1697 unwind label %1701

1697:                                             ; preds = %1696
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #7
  store i32 8, ptr %303, align 4, !tbaa !5
  %1698 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %303)
          to label %1699 unwind label %1705

1699:                                             ; preds = %1697
  %1700 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1698, ptr noundef nonnull align 4 dereferenceable(12) %299) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %299) #7
  br label %1830

1701:                                             ; preds = %1696
  %1702 = landingpad { ptr, i32 }
          cleanup
  %1703 = extractvalue { ptr, i32 } %1702, 0
  store ptr %1703, ptr %11, align 8
  %1704 = extractvalue { ptr, i32 } %1702, 1
  store i32 %1704, ptr %12, align 4
  br label %1709

1705:                                             ; preds = %1697
  %1706 = landingpad { ptr, i32 }
          cleanup
  %1707 = extractvalue { ptr, i32 } %1706, 0
  store ptr %1707, ptr %11, align 8
  %1708 = extractvalue { ptr, i32 } %1706, 1
  store i32 %1708, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #7
  br label %1709

1709:                                             ; preds = %1705, %1701
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %299) #7
  br label %1892

1710:                                             ; preds = %1693, %1690, %1687
  %1711 = load i32, ptr %3, align 4, !tbaa !5
  %1712 = icmp eq i32 %1711, 3
  br i1 %1712, label %1713, label %1733

1713:                                             ; preds = %1710
  %1714 = load i32, ptr %5, align 4, !tbaa !5
  %1715 = icmp eq i32 %1714, 2
  br i1 %1715, label %1716, label %1733

1716:                                             ; preds = %1713
  %1717 = load i32, ptr %6, align 4, !tbaa !5
  %1718 = icmp eq i32 %1717, 3
  br i1 %1718, label %1719, label %1733

1719:                                             ; preds = %1716
  call void @llvm.lifetime.start.p0(i64 12, ptr %304) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #7
  store i32 3, ptr %305, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #7
  store i32 2, ptr %306, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #7
  store i32 3, ptr %307, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %304, ptr noundef nonnull align 4 dereferenceable(4) %305, ptr noundef nonnull align 4 dereferenceable(4) %306, ptr noundef nonnull align 4 dereferenceable(4) %307)
          to label %1720 unwind label %1724

1720:                                             ; preds = %1719
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #7
  store i32 0, ptr %308, align 4, !tbaa !5
  %1721 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %308)
          to label %1722 unwind label %1728

1722:                                             ; preds = %1720
  %1723 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1721, ptr noundef nonnull align 4 dereferenceable(12) %304) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %304) #7
  br label %1829

1724:                                             ; preds = %1719
  %1725 = landingpad { ptr, i32 }
          cleanup
  %1726 = extractvalue { ptr, i32 } %1725, 0
  store ptr %1726, ptr %11, align 8
  %1727 = extractvalue { ptr, i32 } %1725, 1
  store i32 %1727, ptr %12, align 4
  br label %1732

1728:                                             ; preds = %1720
  %1729 = landingpad { ptr, i32 }
          cleanup
  %1730 = extractvalue { ptr, i32 } %1729, 0
  store ptr %1730, ptr %11, align 8
  %1731 = extractvalue { ptr, i32 } %1729, 1
  store i32 %1731, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #7
  br label %1732

1732:                                             ; preds = %1728, %1724
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %304) #7
  br label %1892

1733:                                             ; preds = %1716, %1713, %1710
  %1734 = load i32, ptr %3, align 4, !tbaa !5
  %1735 = icmp eq i32 %1734, 3
  br i1 %1735, label %1736, label %1756

1736:                                             ; preds = %1733
  %1737 = load i32, ptr %5, align 4, !tbaa !5
  %1738 = icmp eq i32 %1737, 3
  br i1 %1738, label %1739, label %1756

1739:                                             ; preds = %1736
  %1740 = load i32, ptr %6, align 4, !tbaa !5
  %1741 = icmp eq i32 %1740, 0
  br i1 %1741, label %1742, label %1756

1742:                                             ; preds = %1739
  call void @llvm.lifetime.start.p0(i64 12, ptr %309) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #7
  store i32 3, ptr %310, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #7
  store i32 3, ptr %311, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #7
  store i32 0, ptr %312, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %309, ptr noundef nonnull align 4 dereferenceable(4) %310, ptr noundef nonnull align 4 dereferenceable(4) %311, ptr noundef nonnull align 4 dereferenceable(4) %312)
          to label %1743 unwind label %1747

1743:                                             ; preds = %1742
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #7
  store i32 -16, ptr %313, align 4, !tbaa !5
  %1744 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %313)
          to label %1745 unwind label %1751

1745:                                             ; preds = %1743
  %1746 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1744, ptr noundef nonnull align 4 dereferenceable(12) %309) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %309) #7
  br label %1828

1747:                                             ; preds = %1742
  %1748 = landingpad { ptr, i32 }
          cleanup
  %1749 = extractvalue { ptr, i32 } %1748, 0
  store ptr %1749, ptr %11, align 8
  %1750 = extractvalue { ptr, i32 } %1748, 1
  store i32 %1750, ptr %12, align 4
  br label %1755

1751:                                             ; preds = %1743
  %1752 = landingpad { ptr, i32 }
          cleanup
  %1753 = extractvalue { ptr, i32 } %1752, 0
  store ptr %1753, ptr %11, align 8
  %1754 = extractvalue { ptr, i32 } %1752, 1
  store i32 %1754, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #7
  br label %1755

1755:                                             ; preds = %1751, %1747
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %309) #7
  br label %1892

1756:                                             ; preds = %1739, %1736, %1733
  %1757 = load i32, ptr %3, align 4, !tbaa !5
  %1758 = icmp eq i32 %1757, 3
  br i1 %1758, label %1759, label %1779

1759:                                             ; preds = %1756
  %1760 = load i32, ptr %5, align 4, !tbaa !5
  %1761 = icmp eq i32 %1760, 3
  br i1 %1761, label %1762, label %1779

1762:                                             ; preds = %1759
  %1763 = load i32, ptr %6, align 4, !tbaa !5
  %1764 = icmp eq i32 %1763, 1
  br i1 %1764, label %1765, label %1779

1765:                                             ; preds = %1762
  call void @llvm.lifetime.start.p0(i64 12, ptr %314) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #7
  store i32 3, ptr %315, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #7
  store i32 3, ptr %316, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #7
  store i32 1, ptr %317, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %314, ptr noundef nonnull align 4 dereferenceable(4) %315, ptr noundef nonnull align 4 dereferenceable(4) %316, ptr noundef nonnull align 4 dereferenceable(4) %317)
          to label %1766 unwind label %1770

1766:                                             ; preds = %1765
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #7
  store i32 -1, ptr %318, align 4, !tbaa !5
  %1767 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %318)
          to label %1768 unwind label %1774

1768:                                             ; preds = %1766
  %1769 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1767, ptr noundef nonnull align 4 dereferenceable(12) %314) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %314) #7
  br label %1827

1770:                                             ; preds = %1765
  %1771 = landingpad { ptr, i32 }
          cleanup
  %1772 = extractvalue { ptr, i32 } %1771, 0
  store ptr %1772, ptr %11, align 8
  %1773 = extractvalue { ptr, i32 } %1771, 1
  store i32 %1773, ptr %12, align 4
  br label %1778

1774:                                             ; preds = %1766
  %1775 = landingpad { ptr, i32 }
          cleanup
  %1776 = extractvalue { ptr, i32 } %1775, 0
  store ptr %1776, ptr %11, align 8
  %1777 = extractvalue { ptr, i32 } %1775, 1
  store i32 %1777, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #7
  br label %1778

1778:                                             ; preds = %1774, %1770
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %314) #7
  br label %1892

1779:                                             ; preds = %1762, %1759, %1756
  %1780 = load i32, ptr %3, align 4, !tbaa !5
  %1781 = icmp eq i32 %1780, 3
  br i1 %1781, label %1782, label %1802

1782:                                             ; preds = %1779
  %1783 = load i32, ptr %5, align 4, !tbaa !5
  %1784 = icmp eq i32 %1783, 3
  br i1 %1784, label %1785, label %1802

1785:                                             ; preds = %1782
  %1786 = load i32, ptr %6, align 4, !tbaa !5
  %1787 = icmp eq i32 %1786, 2
  br i1 %1787, label %1788, label %1802

1788:                                             ; preds = %1785
  call void @llvm.lifetime.start.p0(i64 12, ptr %319) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #7
  store i32 3, ptr %320, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #7
  store i32 3, ptr %321, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #7
  store i32 2, ptr %322, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %319, ptr noundef nonnull align 4 dereferenceable(4) %320, ptr noundef nonnull align 4 dereferenceable(4) %321, ptr noundef nonnull align 4 dereferenceable(4) %322)
          to label %1789 unwind label %1793

1789:                                             ; preds = %1788
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #7
  store i32 0, ptr %323, align 4, !tbaa !5
  %1790 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %323)
          to label %1791 unwind label %1797

1791:                                             ; preds = %1789
  %1792 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1790, ptr noundef nonnull align 4 dereferenceable(12) %319) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %319) #7
  br label %1826

1793:                                             ; preds = %1788
  %1794 = landingpad { ptr, i32 }
          cleanup
  %1795 = extractvalue { ptr, i32 } %1794, 0
  store ptr %1795, ptr %11, align 8
  %1796 = extractvalue { ptr, i32 } %1794, 1
  store i32 %1796, ptr %12, align 4
  br label %1801

1797:                                             ; preds = %1789
  %1798 = landingpad { ptr, i32 }
          cleanup
  %1799 = extractvalue { ptr, i32 } %1798, 0
  store ptr %1799, ptr %11, align 8
  %1800 = extractvalue { ptr, i32 } %1798, 1
  store i32 %1800, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #7
  br label %1801

1801:                                             ; preds = %1797, %1793
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %319) #7
  br label %1892

1802:                                             ; preds = %1785, %1782, %1779
  %1803 = load i32, ptr %3, align 4, !tbaa !5
  %1804 = icmp eq i32 %1803, 3
  br i1 %1804, label %1805, label %1825

1805:                                             ; preds = %1802
  %1806 = load i32, ptr %5, align 4, !tbaa !5
  %1807 = icmp eq i32 %1806, 3
  br i1 %1807, label %1808, label %1825

1808:                                             ; preds = %1805
  %1809 = load i32, ptr %6, align 4, !tbaa !5
  %1810 = icmp eq i32 %1809, 3
  br i1 %1810, label %1811, label %1825

1811:                                             ; preds = %1808
  call void @llvm.lifetime.start.p0(i64 12, ptr %324) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #7
  store i32 3, ptr %325, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #7
  store i32 3, ptr %326, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #7
  store i32 3, ptr %327, align 4, !tbaa !5
  invoke void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 4 %324, ptr noundef nonnull align 4 dereferenceable(4) %325, ptr noundef nonnull align 4 dereferenceable(4) %326, ptr noundef nonnull align 4 dereferenceable(4) %327)
          to label %1812 unwind label %1816

1812:                                             ; preds = %1811
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #7
  store i32 -8, ptr %328, align 4, !tbaa !5
  %1813 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %328)
          to label %1814 unwind label %1820

1814:                                             ; preds = %1812
  %1815 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %1813, ptr noundef nonnull align 4 dereferenceable(12) %324) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %324) #7
  br label %1825

1816:                                             ; preds = %1811
  %1817 = landingpad { ptr, i32 }
          cleanup
  %1818 = extractvalue { ptr, i32 } %1817, 0
  store ptr %1818, ptr %11, align 8
  %1819 = extractvalue { ptr, i32 } %1817, 1
  store i32 %1819, ptr %12, align 4
  br label %1824

1820:                                             ; preds = %1812
  %1821 = landingpad { ptr, i32 }
          cleanup
  %1822 = extractvalue { ptr, i32 } %1821, 0
  store ptr %1822, ptr %11, align 8
  %1823 = extractvalue { ptr, i32 } %1821, 1
  store i32 %1823, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #7
  br label %1824

1824:                                             ; preds = %1820, %1816
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %324) #7
  br label %1892

1825:                                             ; preds = %1814, %1808, %1805, %1802
  br label %1826

1826:                                             ; preds = %1825, %1791
  br label %1827

1827:                                             ; preds = %1826, %1768
  br label %1828

1828:                                             ; preds = %1827, %1745
  br label %1829

1829:                                             ; preds = %1828, %1722
  br label %1830

1830:                                             ; preds = %1829, %1699
  br label %1831

1831:                                             ; preds = %1830, %1676
  br label %1832

1832:                                             ; preds = %1831, %1653
  br label %1833

1833:                                             ; preds = %1832, %1630
  br label %1834

1834:                                             ; preds = %1833, %1607
  br label %1835

1835:                                             ; preds = %1834, %1584
  br label %1836

1836:                                             ; preds = %1835, %1561
  br label %1837

1837:                                             ; preds = %1836, %1538
  br label %1838

1838:                                             ; preds = %1837, %1515
  br label %1839

1839:                                             ; preds = %1838, %1492
  br label %1840

1840:                                             ; preds = %1839, %1469
  br label %1841

1841:                                             ; preds = %1840, %1446
  br label %1842

1842:                                             ; preds = %1841, %1423
  br label %1843

1843:                                             ; preds = %1842, %1400
  br label %1844

1844:                                             ; preds = %1843, %1377
  br label %1845

1845:                                             ; preds = %1844, %1354
  br label %1846

1846:                                             ; preds = %1845, %1331
  br label %1847

1847:                                             ; preds = %1846, %1308
  br label %1848

1848:                                             ; preds = %1847, %1285
  br label %1849

1849:                                             ; preds = %1848, %1262
  br label %1850

1850:                                             ; preds = %1849, %1239
  br label %1851

1851:                                             ; preds = %1850, %1216
  br label %1852

1852:                                             ; preds = %1851, %1193
  br label %1853

1853:                                             ; preds = %1852, %1170
  br label %1854

1854:                                             ; preds = %1853, %1147
  br label %1855

1855:                                             ; preds = %1854, %1124
  br label %1856

1856:                                             ; preds = %1855, %1101
  br label %1857

1857:                                             ; preds = %1856, %1078
  br label %1858

1858:                                             ; preds = %1857, %1055
  br label %1859

1859:                                             ; preds = %1858, %1032
  br label %1860

1860:                                             ; preds = %1859, %1009
  br label %1861

1861:                                             ; preds = %1860, %986
  br label %1862

1862:                                             ; preds = %1861, %963
  br label %1863

1863:                                             ; preds = %1862, %940
  br label %1864

1864:                                             ; preds = %1863, %917
  br label %1865

1865:                                             ; preds = %1864, %894
  br label %1866

1866:                                             ; preds = %1865, %871
  br label %1867

1867:                                             ; preds = %1866, %848
  br label %1868

1868:                                             ; preds = %1867, %825
  br label %1869

1869:                                             ; preds = %1868, %802
  br label %1870

1870:                                             ; preds = %1869, %779
  br label %1871

1871:                                             ; preds = %1870, %756
  br label %1872

1872:                                             ; preds = %1871, %733
  br label %1873

1873:                                             ; preds = %1872, %710
  br label %1874

1874:                                             ; preds = %1873, %687
  br label %1875

1875:                                             ; preds = %1874, %664
  br label %1876

1876:                                             ; preds = %1875, %641
  br label %1877

1877:                                             ; preds = %1876, %618
  br label %1878

1878:                                             ; preds = %1877, %595
  br label %1879

1879:                                             ; preds = %1878, %572
  br label %1880

1880:                                             ; preds = %1879, %549
  br label %1881

1881:                                             ; preds = %1880, %526
  br label %1882

1882:                                             ; preds = %1881, %503
  br label %1883

1883:                                             ; preds = %1882, %480
  br label %1884

1884:                                             ; preds = %1883, %457
  br label %1885

1885:                                             ; preds = %1884, %434
  br label %1886

1886:                                             ; preds = %1885, %411
  br label %1887

1887:                                             ; preds = %1886, %388
  br label %1888

1888:                                             ; preds = %1887, %365
  br label %1889

1889:                                             ; preds = %1888
  %1890 = load i32, ptr %6, align 4, !tbaa !5
  %1891 = add nsw i32 %1890, 1
  store i32 %1891, ptr %6, align 4, !tbaa !5
  br label %349, !llvm.loop !9

1892:                                             ; preds = %1824, %1801, %1778, %1755, %1732, %1709, %1686, %1663, %1640, %1617, %1594, %1571, %1548, %1525, %1502, %1479, %1456, %1433, %1410, %1387, %1364, %1341, %1318, %1295, %1272, %1249, %1226, %1203, %1180, %1157, %1134, %1111, %1088, %1065, %1042, %1019, %996, %973, %950, %927, %904, %881, %858, %835, %812, %789, %766, %743, %720, %697, %674, %651, %628, %605, %582, %559, %536, %513, %490, %467, %444, %421, %398, %375
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  br label %2013

1893:                                             ; preds = %352
  br label %1894

1894:                                             ; preds = %1893
  %1895 = load i32, ptr %5, align 4, !tbaa !5
  %1896 = add nsw i32 %1895, 1
  store i32 %1896, ptr %5, align 4, !tbaa !5
  br label %344, !llvm.loop !11

1897:                                             ; preds = %347
  br label %1898

1898:                                             ; preds = %1897
  %1899 = load i32, ptr %3, align 4, !tbaa !5
  %1900 = add nsw i32 %1899, 1
  store i32 %1900, ptr %3, align 4, !tbaa !5
  br label %339, !llvm.loop !12

1901:                                             ; preds = %342
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #7
  %1902 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %329)
          to label %1903 unwind label %1909

1903:                                             ; preds = %1901
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #7
  store i32 0, ptr %330, align 4, !tbaa !5
  br label %1904

1904:                                             ; preds = %2005, %1903
  %1905 = load i32, ptr %330, align 4, !tbaa !5
  %1906 = load i32, ptr %329, align 4, !tbaa !5
  %1907 = icmp slt i32 %1905, %1906
  br i1 %1907, label %1913, label %1908

1908:                                             ; preds = %1904
  store i32 11, ptr %4, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #7
  br label %2010

1909:                                             ; preds = %1901
  %1910 = landingpad { ptr, i32 }
          cleanup
  %1911 = extractvalue { ptr, i32 } %1910, 0
  store ptr %1911, ptr %11, align 8
  %1912 = extractvalue { ptr, i32 } %1910, 1
  store i32 %1912, ptr %12, align 4
  br label %2012

1913:                                             ; preds = %1904
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #7
  %1914 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %331)
          to label %1915 unwind label %1927

1915:                                             ; preds = %1913
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #7
  %1916 = invoke ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE4findERS7_(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 4 dereferenceable(4) %331)
          to label %1917 unwind label %1931

1917:                                             ; preds = %1915
  %1918 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %333, i32 0, i32 0
  %1919 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1918, i32 0, i32 0
  store ptr %1916, ptr %1919, align 8
  call void @_ZNSt8__detail20_Node_const_iteratorISt4pairIKiSt5tupleIJiiiEEELb0ELb0EEC2ERKNS_14_Node_iteratorIS5_Lb0ELb0EEE(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull align 8 dereferenceable(8) %333) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #7
  %1920 = call ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %2) #7
  %1921 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %334, i32 0, i32 0
  %1922 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1921, i32 0, i32 0
  store ptr %1920, ptr %1922, align 8
  %1923 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiSt5tupleIJiiiEEELb0EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull align 8 dereferenceable(8) %334) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #7
  br i1 %1923, label %1924, label %1939

1924:                                             ; preds = %1917
  %1925 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
          to label %1926 unwind label %1935

1926:                                             ; preds = %1924
  br label %2004

1927:                                             ; preds = %1913
  %1928 = landingpad { ptr, i32 }
          cleanup
  %1929 = extractvalue { ptr, i32 } %1928, 0
  store ptr %1929, ptr %11, align 8
  %1930 = extractvalue { ptr, i32 } %1928, 1
  store i32 %1930, ptr %12, align 4
  br label %2009

1931:                                             ; preds = %1915
  %1932 = landingpad { ptr, i32 }
          cleanup
  %1933 = extractvalue { ptr, i32 } %1932, 0
  store ptr %1933, ptr %11, align 8
  %1934 = extractvalue { ptr, i32 } %1932, 1
  store i32 %1934, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #7
  br label %2008

1935:                                             ; preds = %1924
  %1936 = landingpad { ptr, i32 }
          cleanup
  %1937 = extractvalue { ptr, i32 } %1936, 0
  store ptr %1937, ptr %11, align 8
  %1938 = extractvalue { ptr, i32 } %1936, 1
  store i32 %1938, ptr %12, align 4
  br label %2008

1939:                                             ; preds = %1917
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #7
  %1940 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKiSt5tupleIJiiiEEELb0ELb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %332) #7
  %1941 = getelementptr inbounds %"struct.std::pair", ptr %1940, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 24, ptr %338) #7
  call void @_ZSt3tieIJiiiEESt5tupleIJDpRT_EES3_(ptr dead_on_unwind writable sret(%"class.std::tuple.6") align 8 %338, ptr noundef nonnull align 4 dereferenceable(4) %335, ptr noundef nonnull align 4 dereferenceable(4) %336, ptr noundef nonnull align 4 dereferenceable(4) %337) #7
  %1942 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5tupleIJRiS0_S0_EEaSIJiiiEEENSt9enable_ifIXcl12__assignableIDpRKT_EEERS1_E4typeERKS_IJDpS4_EE(ptr noundef nonnull align 8 dereferenceable(24) %338, ptr noundef nonnull align 4 dereferenceable(12) %1941) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %338) #7
  %1943 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %1944 unwind label %1946

1944:                                             ; preds = %1939
  %1945 = load i32, ptr %335, align 4, !tbaa !5
  switch i32 %1945, label %1962 [
    i32 0, label %1950
    i32 1, label %1953
    i32 2, label %1956
    i32 3, label %1959
  ]

1946:                                             ; preds = %2001, %1998, %1996, %1994, %1991, %1988, %1985, %1982, %1978, %1975, %1972, %1969, %1966, %1962, %1959, %1956, %1953, %1950, %1939
  %1947 = landingpad { ptr, i32 }
          cleanup
  %1948 = extractvalue { ptr, i32 } %1947, 0
  store ptr %1948, ptr %11, align 8
  %1949 = extractvalue { ptr, i32 } %1947, 1
  store i32 %1949, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #7
  br label %2008

1950:                                             ; preds = %1944
  %1951 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
          to label %1952 unwind label %1946

1952:                                             ; preds = %1950
  br label %1962

1953:                                             ; preds = %1944
  %1954 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %1955 unwind label %1946

1955:                                             ; preds = %1953
  br label %1962

1956:                                             ; preds = %1944
  %1957 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %1958 unwind label %1946

1958:                                             ; preds = %1956
  br label %1962

1959:                                             ; preds = %1944
  %1960 = 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 %1961 unwind label %1946

1961:                                             ; preds = %1959
  br label %1962

1962:                                             ; preds = %1961, %1958, %1955, %1952, %1944
  %1963 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %1964 unwind label %1946

1964:                                             ; preds = %1962
  %1965 = load i32, ptr %336, align 4, !tbaa !5
  switch i32 %1965, label %1978 [
    i32 0, label %1966
    i32 1, label %1969
    i32 2, label %1972
    i32 3, label %1975
  ]

1966:                                             ; preds = %1964
  %1967 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
          to label %1968 unwind label %1946

1968:                                             ; preds = %1966
  br label %1978

1969:                                             ; preds = %1964
  %1970 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %1971 unwind label %1946

1971:                                             ; preds = %1969
  br label %1978

1972:                                             ; preds = %1964
  %1973 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %1974 unwind label %1946

1974:                                             ; preds = %1972
  br label %1978

1975:                                             ; preds = %1964
  %1976 = 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 %1977 unwind label %1946

1977:                                             ; preds = %1975
  br label %1978

1978:                                             ; preds = %1977, %1974, %1971, %1968, %1964
  %1979 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %1980 unwind label %1946

1980:                                             ; preds = %1978
  %1981 = load i32, ptr %337, align 4, !tbaa !5
  switch i32 %1981, label %1994 [
    i32 0, label %1982
    i32 1, label %1985
    i32 2, label %1988
    i32 3, label %1991
  ]

1982:                                             ; preds = %1980
  %1983 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
          to label %1984 unwind label %1946

1984:                                             ; preds = %1982
  br label %1994

1985:                                             ; preds = %1980
  %1986 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %1987 unwind label %1946

1987:                                             ; preds = %1985
  br label %1994

1988:                                             ; preds = %1980
  %1989 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %1990 unwind label %1946

1990:                                             ; preds = %1988
  br label %1994

1991:                                             ; preds = %1980
  %1992 = 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 %1993 unwind label %1946

1993:                                             ; preds = %1991
  br label %1994

1994:                                             ; preds = %1993, %1990, %1987, %1984, %1980
  %1995 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %1996 unwind label %1946

1996:                                             ; preds = %1994
  %1997 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1995, ptr noundef @.str.5)
          to label %1998 unwind label %1946

1998:                                             ; preds = %1996
  %1999 = load i32, ptr %331, align 4, !tbaa !5
  %2000 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1997, i32 noundef %1999)
          to label %2001 unwind label %1946

2001:                                             ; preds = %1998
  %2002 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2000, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2003 unwind label %1946

2003:                                             ; preds = %2001
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #7
  br label %2004

2004:                                             ; preds = %2003, %1926
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #7
  br label %2005

2005:                                             ; preds = %2004
  %2006 = load i32, ptr %330, align 4, !tbaa !5
  %2007 = add nsw i32 %2006, 1
  store i32 %2007, ptr %330, align 4, !tbaa !5
  br label %1904, !llvm.loop !13

2008:                                             ; preds = %1946, %1935, %1931
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #7
  br label %2009

2009:                                             ; preds = %2008, %1927
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #7
  br label %2012

2010:                                             ; preds = %1908
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #7
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %2) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %2) #7
  %2011 = load i32, ptr %1, align 4
  ret i32 %2011

2012:                                             ; preds = %2009, %1909
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #7
  br label %2013

2013:                                             ; preds = %2012, %1892
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %2) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %2) #7
  br label %2014

2014:                                             ; preds = %2013
  %2015 = load ptr, ptr %11, align 8
  %2016 = load i32, ptr %12, align 4
  %2017 = insertvalue { ptr, i32 } poison, ptr %2015, 0
  %2018 = insertvalue { ptr, i32 } %2017, i32 %2016, 1
  resume { ptr, i32 } %2018
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple") align 4, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 4 dereferenceable(4)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) #2 align 2

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) #4

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE4findERS7_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 4 dereferenceable(4)) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiSt5tupleIJiiiEEELb0EEES8_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #2 align 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) #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt3tieIJiiiEESt5tupleIJDpRT_EES3_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple.6") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #2

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

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) #3 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)) #5

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

attributes #0 = { mustprogress norecurse 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 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress 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 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}


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

%"class.std::basic_istream" = type { ptr, i64, %"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.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Tuple_impl.2", %"struct.std::_Head_base.5" }
%"struct.std::_Tuple_impl.2" = type { %"struct.std::_Tuple_impl.3", %"struct.std::_Head_base.4" }
%"struct.std::_Tuple_impl.3" = type { %"struct.std::_Head_base" }
%"struct.std::_Head_base" = type { i32 }
%"struct.std::_Head_base.4" = type { i32 }
%"struct.std::_Head_base.5" = type { i32 }
%"struct.std::__detail::_Node_const_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"class.std::tuple.6" = type { %"struct.std::_Tuple_impl.7" }
%"struct.std::_Tuple_impl.7" = type { %"struct.std::_Tuple_impl.8", %"struct.std::_Head_base.12" }
%"struct.std::_Tuple_impl.8" = type { %"struct.std::_Tuple_impl.9", %"struct.std::_Head_base.11" }
%"struct.std::_Tuple_impl.9" = type { %"struct.std::_Head_base.10" }
%"struct.std::_Head_base.10" = type { ptr }
%"struct.std::_Head_base.11" = type { ptr }
%"struct.std::_Head_base.12" = type { ptr }

@_ZSt3cin = external global %"class.std::basic_istream", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@switch.table.main.2 = private unnamed_addr constant [4 x ptr] [ptr @.str.1, ptr @.str.2, ptr @.str.3, ptr @.str.4], align 8

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::unordered_map", align 8
  %2 = alloca %"class.std::tuple", align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::tuple", align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::tuple", align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::tuple", align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::tuple", align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::tuple", align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca %"class.std::tuple", align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca %"class.std::tuple", align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca %"class.std::tuple", align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::tuple", align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca %"class.std::tuple", align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca %"class.std::tuple", align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca %"class.std::tuple", align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::tuple", align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %"class.std::tuple", align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %"class.std::tuple", align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca %"class.std::tuple", align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %"class.std::tuple", align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca %"class.std::tuple", align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca %"class.std::tuple", align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %"class.std::tuple", align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca %"class.std::tuple", align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca %"class.std::tuple", align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca %"class.std::tuple", align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca %"class.std::tuple", align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca %"class.std::tuple", align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca %"class.std::tuple", align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca %"class.std::tuple", align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca %"class.std::tuple", align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca %"class.std::tuple", align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca %"class.std::tuple", align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca %"class.std::tuple", align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca %"class.std::tuple", align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %"class.std::tuple", align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca %"class.std::tuple", align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca %"class.std::tuple", align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca %"class.std::tuple", align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca %"class.std::tuple", align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca %"class.std::tuple", align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca %"class.std::tuple", align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca %"class.std::tuple", align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %"class.std::tuple", align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca %"class.std::tuple", align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca %"class.std::tuple", align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca %"class.std::tuple", align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca %"class.std::tuple", align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca %"class.std::tuple", align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca %"class.std::tuple", align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca %"class.std::tuple", align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca %"class.std::tuple", align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca %"class.std::tuple", align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca %"class.std::tuple", align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca %"class.std::tuple", align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca %"class.std::tuple", align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca %"class.std::tuple", align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca %"class.std::tuple", align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca %"class.std::tuple", align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca %"class.std::tuple", align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca %"class.std::tuple", align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca %"class.std::tuple", align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca %"class.std::tuple", align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca %"class.std::tuple", align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca %"class.std::tuple", align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca %"class.std::tuple", align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca %"struct.std::__detail::_Node_const_iterator", align 8
  %325 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %326 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca %"class.std::tuple.6", align 8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %1) #7
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %1) #7
  br label %.preheader473

.preheader473:                                    ; preds = %0, %.thread.thread
  %.0465476 = phi i32 [ 0, %0 ], [ %343, %.thread.thread ]
  %331 = icmp eq i32 %.0465476, 0
  %332 = icmp eq i32 %.0465476, 1
  %333 = icmp eq i32 %.0465476, 2
  %334 = icmp eq i32 %.0465476, 3
  br label %.preheader472

.loopexit:                                        ; preds = %.thread.thread, %.thread.thread.thread
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %322) #7
  %335 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %322)
          to label %.preheader unwind label %799

.preheader:                                       ; preds = %.loopexit
  %336 = load i32, ptr %322, align 4, !tbaa !5
  %337 = icmp sgt i32 %336, 0
  br i1 %337, label %.lr.ph, label %._crit_edge

.preheader472:                                    ; preds = %.preheader473, %.thread
  %.0464475 = phi i32 [ 0, %.preheader473 ], [ %344, %.thread ]
  %338 = icmp eq i32 %.0464475, 0
  %339 = or i32 %.0464475, %.0465476
  %or.cond = icmp eq i32 %339, 0
  %340 = icmp eq i32 %.0464475, 1
  %or.cond17 = and i1 %331, %340
  %341 = icmp eq i32 %.0464475, 2
  %or.cond33 = and i1 %331, %341
  %342 = icmp eq i32 %.0464475, 3
  %or.cond49 = and i1 %331, %342
  %or.cond65 = and i1 %332, %338
  %or.cond81 = and i1 %332, %340
  %or.cond97 = and i1 %332, %341
  %or.cond113 = and i1 %332, %342
  %or.cond129 = and i1 %333, %338
  %or.cond145 = and i1 %333, %340
  %or.cond161 = and i1 %333, %341
  %or.cond177 = and i1 %333, %342
  %or.cond193 = and i1 %334, %338
  %or.cond209 = and i1 %334, %340
  %or.cond225 = and i1 %334, %341
  %or.cond241 = and i1 %334, %342
  br label %345

.thread.thread:                                   ; preds = %.thread, %682, %570, %458
  %343 = add nuw nsw i32 %.0465476, 1
  %exitcond479.not = icmp eq i32 %343, 4
  br i1 %exitcond479.not, label %.loopexit, label %.preheader473, !llvm.loop !9

.thread:                                          ; preds = %797, %374, %402, %430, %486, %514, %542, %598, %626, %654, %710, %738, %766
  %344 = add nuw nsw i32 %.0464475, 1
  %exitcond478.not = icmp eq i32 %344, 4
  br i1 %exitcond478.not, label %.thread.thread, label %.preheader472, !llvm.loop !11

345:                                              ; preds = %.preheader472, %797
  %.0463474 = phi i32 [ 0, %.preheader472 ], [ %798, %797 ]
  %346 = icmp eq i32 %.0463474, 0
  %347 = or i32 %.0463474, %339
  %or.cond3 = icmp eq i32 %347, 0
  br i1 %or.cond3, label %348, label %354

348:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %2) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  store i32 0, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  store i32 0, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #7
  store i32 0, ptr %5, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #7
  store i32 256, ptr %6, align 4, !tbaa !5
  %349 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %6)
          to label %350 unwind label %352

350:                                              ; preds = %348
  %351 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %349, ptr noundef nonnull align 4 dereferenceable(12) %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %2) #7
  br label %797

352:                                              ; preds = %348
  %353 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %2) #7
  br label %858

354:                                              ; preds = %345
  %355 = icmp eq i32 %.0463474, 1
  %or.cond7 = and i1 %or.cond, %355
  br i1 %or.cond7, label %356, label %362

356:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  store i32 0, ptr %8, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #7
  store i32 0, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  store i32 1, ptr %10, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #7
  store i32 16, ptr %11, align 4, !tbaa !5
  %357 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %358 unwind label %360

358:                                              ; preds = %356
  %359 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %357, ptr noundef nonnull align 4 dereferenceable(12) %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %7) #7
  br label %797

360:                                              ; preds = %356
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %7) #7
  br label %858

362:                                              ; preds = %354
  %363 = icmp eq i32 %.0463474, 2
  %or.cond11 = and i1 %or.cond, %363
  br i1 %or.cond11, label %364, label %370

364:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #7
  store i32 0, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #7
  store i32 0, ptr %14, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store i32 2, ptr %15, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #7
  store i32 68, ptr %16, align 4, !tbaa !5
  %365 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %366 unwind label %368

366:                                              ; preds = %364
  %367 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %365, ptr noundef nonnull align 4 dereferenceable(12) %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %12) #7
  br label %797

368:                                              ; preds = %364
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %12) #7
  br label %858

370:                                              ; preds = %362
  %371 = icmp eq i32 %.0463474, 3
  %or.cond15 = and i1 %or.cond, %371
  br i1 %or.cond15, label %372, label %378

372:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #7
  store i32 0, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  store i32 3, ptr %20, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %17, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 4 dereferenceable(4) %20)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #7
  store i32 60, ptr %21, align 4, !tbaa !5
  %373 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %374 unwind label %376

374:                                              ; preds = %372
  %375 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %373, ptr noundef nonnull align 4 dereferenceable(12) %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %17) #7
  br label %.thread

376:                                              ; preds = %372
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %17) #7
  br label %858

378:                                              ; preds = %370
  %or.cond19 = and i1 %or.cond17, %346
  br i1 %or.cond19, label %379, label %385

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #7
  store i32 0, ptr %23, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #7
  store i32 1, ptr %24, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #7
  store i32 0, ptr %25, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %22, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %25)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #7
  store i32 16, ptr %26, align 4, !tbaa !5
  %380 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %381 unwind label %383

381:                                              ; preds = %379
  %382 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %380, ptr noundef nonnull align 4 dereferenceable(12) %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %22) #7
  br label %797

383:                                              ; preds = %379
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %22) #7
  br label %858

385:                                              ; preds = %378
  %or.cond23 = and i1 %or.cond17, %355
  br i1 %or.cond23, label %386, label %392

386:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7
  store i32 0, ptr %28, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  store i32 1, ptr %29, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #7
  store i32 1, ptr %30, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %27, ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull align 4 dereferenceable(4) %30)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #7
  store i32 1, ptr %31, align 4, !tbaa !5
  %387 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %388 unwind label %390

388:                                              ; preds = %386
  %389 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %387, ptr noundef nonnull align 4 dereferenceable(12) %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %27) #7
  br label %797

390:                                              ; preds = %386
  %391 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %27) #7
  br label %858

392:                                              ; preds = %385
  %or.cond27 = and i1 %or.cond17, %363
  br i1 %or.cond27, label %393, label %399

393:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #7
  store i32 0, ptr %33, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #7
  store i32 1, ptr %34, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #7
  store i32 2, ptr %35, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %32, ptr noundef nonnull align 4 dereferenceable(4) %33, ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef nonnull align 4 dereferenceable(4) %35)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #7
  store i32 8, ptr %36, align 4, !tbaa !5
  %394 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %395 unwind label %397

395:                                              ; preds = %393
  %396 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %394, ptr noundef nonnull align 4 dereferenceable(12) %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %32) #7
  br label %797

397:                                              ; preds = %393
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %32) #7
  br label %858

399:                                              ; preds = %392
  %or.cond31 = and i1 %or.cond17, %371
  br i1 %or.cond31, label %400, label %406

400:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #7
  store i32 0, ptr %38, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #7
  store i32 1, ptr %39, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #7
  store i32 3, ptr %40, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %37, ptr noundef nonnull align 4 dereferenceable(4) %38, ptr noundef nonnull align 4 dereferenceable(4) %39, ptr noundef nonnull align 4 dereferenceable(4) %40)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #7
  store i32 0, ptr %41, align 4, !tbaa !5
  %401 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %402 unwind label %404

402:                                              ; preds = %400
  %403 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %401, ptr noundef nonnull align 4 dereferenceable(12) %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %37) #7
  br label %.thread

404:                                              ; preds = %400
  %405 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %37) #7
  br label %858

406:                                              ; preds = %399
  %or.cond35 = and i1 %or.cond33, %346
  br i1 %or.cond35, label %407, label %413

407:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #7
  store i32 0, ptr %43, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #7
  store i32 2, ptr %44, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #7
  store i32 0, ptr %45, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %42, ptr noundef nonnull align 4 dereferenceable(4) %43, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 4 dereferenceable(4) %45)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #7
  store i32 32, ptr %46, align 4, !tbaa !5
  %408 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %409 unwind label %411

409:                                              ; preds = %407
  %410 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %408, ptr noundef nonnull align 4 dereferenceable(12) %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %42) #7
  br label %797

411:                                              ; preds = %407
  %412 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %42) #7
  br label %858

413:                                              ; preds = %406
  %or.cond39 = and i1 %or.cond33, %355
  br i1 %or.cond39, label %414, label %420

414:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #7
  store i32 0, ptr %48, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #7
  store i32 2, ptr %49, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #7
  store i32 1, ptr %50, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %47, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 4 dereferenceable(4) %49, ptr noundef nonnull align 4 dereferenceable(4) %50)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #7
  store i32 17, ptr %51, align 4, !tbaa !5
  %415 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %416 unwind label %418

416:                                              ; preds = %414
  %417 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %415, ptr noundef nonnull align 4 dereferenceable(12) %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %47) #7
  br label %797

418:                                              ; preds = %414
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %47) #7
  br label %858

420:                                              ; preds = %413
  %or.cond43 = and i1 %or.cond33, %363
  br i1 %or.cond43, label %421, label %427

421:                                              ; preds = %420
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #7
  store i32 0, ptr %53, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #7
  store i32 2, ptr %54, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #7
  store i32 2, ptr %55, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %52, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 4 dereferenceable(4) %54, ptr noundef nonnull align 4 dereferenceable(4) %55)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #7
  store i32 24, ptr %56, align 4, !tbaa !5
  %422 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %56)
          to label %423 unwind label %425

423:                                              ; preds = %421
  %424 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %422, ptr noundef nonnull align 4 dereferenceable(12) %52) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %52) #7
  br label %797

425:                                              ; preds = %421
  %426 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %52) #7
  br label %858

427:                                              ; preds = %420
  %or.cond47 = and i1 %or.cond33, %371
  br i1 %or.cond47, label %428, label %434

428:                                              ; preds = %427
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %57) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #7
  store i32 0, ptr %58, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #7
  store i32 2, ptr %59, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #7
  store i32 3, ptr %60, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %57, ptr noundef nonnull align 4 dereferenceable(4) %58, ptr noundef nonnull align 4 dereferenceable(4) %59, ptr noundef nonnull align 4 dereferenceable(4) %60)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #7
  store i32 16, ptr %61, align 4, !tbaa !5
  %429 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %430 unwind label %432

430:                                              ; preds = %428
  %431 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %429, ptr noundef nonnull align 4 dereferenceable(12) %57) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %57) #7
  br label %.thread

432:                                              ; preds = %428
  %433 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %57) #7
  br label %858

434:                                              ; preds = %427
  %or.cond51 = and i1 %or.cond49, %346
  br i1 %or.cond51, label %435, label %441

435:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #7
  store i32 0, ptr %63, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #7
  store i32 3, ptr %64, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #7
  store i32 0, ptr %65, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %62, ptr noundef nonnull align 4 dereferenceable(4) %63, ptr noundef nonnull align 4 dereferenceable(4) %64, ptr noundef nonnull align 4 dereferenceable(4) %65)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #7
  store i32 0, ptr %66, align 4, !tbaa !5
  %436 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %437 unwind label %439

437:                                              ; preds = %435
  %438 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %436, ptr noundef nonnull align 4 dereferenceable(12) %62) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %62) #7
  br label %797

439:                                              ; preds = %435
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %62) #7
  br label %858

441:                                              ; preds = %434
  %or.cond55 = and i1 %or.cond49, %355
  br i1 %or.cond55, label %442, label %448

442:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #7
  store i32 0, ptr %68, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #7
  store i32 3, ptr %69, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #7
  store i32 1, ptr %70, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %67, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 4 dereferenceable(4) %69, ptr noundef nonnull align 4 dereferenceable(4) %70)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #7
  store i32 15, ptr %71, align 4, !tbaa !5
  %443 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %71)
          to label %444 unwind label %446

444:                                              ; preds = %442
  %445 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %443, ptr noundef nonnull align 4 dereferenceable(12) %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %67) #7
  br label %797

446:                                              ; preds = %442
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %67) #7
  br label %858

448:                                              ; preds = %441
  %or.cond59 = and i1 %or.cond49, %363
  br i1 %or.cond59, label %449, label %455

449:                                              ; preds = %448
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %72) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #7
  store i32 0, ptr %73, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %74) #7
  store i32 3, ptr %74, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #7
  store i32 2, ptr %75, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %72, ptr noundef nonnull align 4 dereferenceable(4) %73, ptr noundef nonnull align 4 dereferenceable(4) %74, ptr noundef nonnull align 4 dereferenceable(4) %75)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #7
  store i32 16, ptr %76, align 4, !tbaa !5
  %450 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %76)
          to label %451 unwind label %453

451:                                              ; preds = %449
  %452 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %450, ptr noundef nonnull align 4 dereferenceable(12) %72) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %72) #7
  br label %797

453:                                              ; preds = %449
  %454 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %72) #7
  br label %858

455:                                              ; preds = %448
  %or.cond63 = and i1 %or.cond49, %371
  br i1 %or.cond63, label %456, label %462

456:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #7
  store i32 0, ptr %78, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %79) #7
  store i32 3, ptr %79, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #7
  store i32 3, ptr %80, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %77, ptr noundef nonnull align 4 dereferenceable(4) %78, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull align 4 dereferenceable(4) %80)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #7
  store i32 8, ptr %81, align 4, !tbaa !5
  %457 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %81)
          to label %458 unwind label %460

458:                                              ; preds = %456
  %459 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %457, ptr noundef nonnull align 4 dereferenceable(12) %77) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %77) #7
  br label %.thread.thread

460:                                              ; preds = %456
  %461 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %77) #7
  br label %858

462:                                              ; preds = %455
  %or.cond67 = and i1 %or.cond65, %346
  br i1 %or.cond67, label %463, label %469

463:                                              ; preds = %462
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #7
  store i32 1, ptr %83, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %84) #7
  store i32 0, ptr %84, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #7
  store i32 0, ptr %85, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %82, ptr noundef nonnull align 4 dereferenceable(4) %83, ptr noundef nonnull align 4 dereferenceable(4) %84, ptr noundef nonnull align 4 dereferenceable(4) %85)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %86) #7
  store i32 16, ptr %86, align 4, !tbaa !5
  %464 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %86)
          to label %465 unwind label %467

465:                                              ; preds = %463
  %466 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %464, ptr noundef nonnull align 4 dereferenceable(12) %82) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %82) #7
  br label %797

467:                                              ; preds = %463
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %82) #7
  br label %858

469:                                              ; preds = %462
  %or.cond71 = and i1 %or.cond65, %355
  br i1 %or.cond71, label %470, label %476

470:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #7
  store i32 1, ptr %88, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %89) #7
  store i32 0, ptr %89, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #7
  store i32 1, ptr %90, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %87, ptr noundef nonnull align 4 dereferenceable(4) %88, ptr noundef nonnull align 4 dereferenceable(4) %89, ptr noundef nonnull align 4 dereferenceable(4) %90)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #7
  store i32 1, ptr %91, align 4, !tbaa !5
  %471 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %91)
          to label %472 unwind label %474

472:                                              ; preds = %470
  %473 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %471, ptr noundef nonnull align 4 dereferenceable(12) %87) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %87) #7
  br label %797

474:                                              ; preds = %470
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %87) #7
  br label %858

476:                                              ; preds = %469
  %or.cond75 = and i1 %or.cond65, %363
  br i1 %or.cond75, label %477, label %483

477:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %92) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #7
  store i32 1, ptr %93, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #7
  store i32 0, ptr %94, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %95) #7
  store i32 2, ptr %95, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %92, ptr noundef nonnull align 4 dereferenceable(4) %93, ptr noundef nonnull align 4 dereferenceable(4) %94, ptr noundef nonnull align 4 dereferenceable(4) %95)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #7
  store i32 8, ptr %96, align 4, !tbaa !5
  %478 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %96)
          to label %479 unwind label %481

479:                                              ; preds = %477
  %480 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %478, ptr noundef nonnull align 4 dereferenceable(12) %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %92) #7
  br label %797

481:                                              ; preds = %477
  %482 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %92) #7
  br label %858

483:                                              ; preds = %476
  %or.cond79 = and i1 %or.cond65, %371
  br i1 %or.cond79, label %484, label %490

484:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %98) #7
  store i32 1, ptr %98, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %99) #7
  store i32 0, ptr %99, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %100) #7
  store i32 3, ptr %100, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %97, ptr noundef nonnull align 4 dereferenceable(4) %98, ptr noundef nonnull align 4 dereferenceable(4) %99, ptr noundef nonnull align 4 dereferenceable(4) %100)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %101) #7
  store i32 0, ptr %101, align 4, !tbaa !5
  %485 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %101)
          to label %486 unwind label %488

486:                                              ; preds = %484
  %487 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %485, ptr noundef nonnull align 4 dereferenceable(12) %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %97) #7
  br label %.thread

488:                                              ; preds = %484
  %489 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %99) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %97) #7
  br label %858

490:                                              ; preds = %483
  %or.cond83 = and i1 %or.cond81, %346
  br i1 %or.cond83, label %491, label %497

491:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %102) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %103) #7
  store i32 1, ptr %103, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %104) #7
  store i32 1, ptr %104, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %105) #7
  store i32 0, ptr %105, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %102, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull align 4 dereferenceable(4) %104, ptr noundef nonnull align 4 dereferenceable(4) %105)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #7
  store i32 0, ptr %106, align 4, !tbaa !5
  %492 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %106)
          to label %493 unwind label %495

493:                                              ; preds = %491
  %494 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %492, ptr noundef nonnull align 4 dereferenceable(12) %102) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %102) #7
  br label %797

495:                                              ; preds = %491
  %496 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %102) #7
  br label %858

497:                                              ; preds = %490
  %or.cond87 = and i1 %or.cond81, %355
  br i1 %or.cond87, label %498, label %504

498:                                              ; preds = %497
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %107) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %108) #7
  store i32 1, ptr %108, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #7
  store i32 1, ptr %109, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %110) #7
  store i32 1, ptr %110, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %107, ptr noundef nonnull align 4 dereferenceable(4) %108, ptr noundef nonnull align 4 dereferenceable(4) %109, ptr noundef nonnull align 4 dereferenceable(4) %110)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %111) #7
  store i32 0, ptr %111, align 4, !tbaa !5
  %499 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %111)
          to label %500 unwind label %502

500:                                              ; preds = %498
  %501 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %499, ptr noundef nonnull align 4 dereferenceable(12) %107) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %107) #7
  br label %797

502:                                              ; preds = %498
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %107) #7
  br label %858

504:                                              ; preds = %497
  %or.cond91 = and i1 %or.cond81, %363
  br i1 %or.cond91, label %505, label %511

505:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %112) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %113) #7
  store i32 1, ptr %113, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %114) #7
  store i32 1, ptr %114, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %115) #7
  store i32 2, ptr %115, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %112, ptr noundef nonnull align 4 dereferenceable(4) %113, ptr noundef nonnull align 4 dereferenceable(4) %114, ptr noundef nonnull align 4 dereferenceable(4) %115)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %116) #7
  store i32 4, ptr %116, align 4, !tbaa !5
  %506 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %116)
          to label %507 unwind label %509

507:                                              ; preds = %505
  %508 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %506, ptr noundef nonnull align 4 dereferenceable(12) %112) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %112) #7
  br label %797

509:                                              ; preds = %505
  %510 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %112) #7
  br label %858

511:                                              ; preds = %504
  %or.cond95 = and i1 %or.cond81, %371
  br i1 %or.cond95, label %512, label %518

512:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %117) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %118) #7
  store i32 1, ptr %118, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %119) #7
  store i32 1, ptr %119, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %120) #7
  store i32 3, ptr %120, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %117, ptr noundef nonnull align 4 dereferenceable(4) %118, ptr noundef nonnull align 4 dereferenceable(4) %119, ptr noundef nonnull align 4 dereferenceable(4) %120)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %121) #7
  store i32 -4, ptr %121, align 4, !tbaa !5
  %513 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %121)
          to label %514 unwind label %516

514:                                              ; preds = %512
  %515 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %513, ptr noundef nonnull align 4 dereferenceable(12) %117) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %117) #7
  br label %.thread

516:                                              ; preds = %512
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %117) #7
  br label %858

518:                                              ; preds = %511
  %or.cond99 = and i1 %or.cond97, %346
  br i1 %or.cond99, label %519, label %525

519:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %122) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %123) #7
  store i32 1, ptr %123, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %124) #7
  store i32 2, ptr %124, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %125) #7
  store i32 0, ptr %125, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %122, ptr noundef nonnull align 4 dereferenceable(4) %123, ptr noundef nonnull align 4 dereferenceable(4) %124, ptr noundef nonnull align 4 dereferenceable(4) %125)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %126) #7
  store i32 17, ptr %126, align 4, !tbaa !5
  %520 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %126)
          to label %521 unwind label %523

521:                                              ; preds = %519
  %522 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %520, ptr noundef nonnull align 4 dereferenceable(12) %122) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %124) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %122) #7
  br label %797

523:                                              ; preds = %519
  %524 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %124) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %122) #7
  br label %858

525:                                              ; preds = %518
  %or.cond103 = and i1 %or.cond97, %355
  br i1 %or.cond103, label %526, label %532

526:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %127) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %128) #7
  store i32 1, ptr %128, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %129) #7
  store i32 2, ptr %129, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #7
  store i32 1, ptr %130, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %127, ptr noundef nonnull align 4 dereferenceable(4) %128, ptr noundef nonnull align 4 dereferenceable(4) %129, ptr noundef nonnull align 4 dereferenceable(4) %130)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %131) #7
  store i32 2, ptr %131, align 4, !tbaa !5
  %527 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %528 unwind label %530

528:                                              ; preds = %526
  %529 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %527, ptr noundef nonnull align 4 dereferenceable(12) %127) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %127) #7
  br label %797

530:                                              ; preds = %526
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %127) #7
  br label %858

532:                                              ; preds = %525
  %or.cond107 = and i1 %or.cond97, %363
  br i1 %or.cond107, label %533, label %539

533:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %132) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %133) #7
  store i32 1, ptr %133, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %134) #7
  store i32 2, ptr %134, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %135) #7
  store i32 2, ptr %135, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %132, ptr noundef nonnull align 4 dereferenceable(4) %133, ptr noundef nonnull align 4 dereferenceable(4) %134, ptr noundef nonnull align 4 dereferenceable(4) %135)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %136) #7
  store i32 9, ptr %136, align 4, !tbaa !5
  %534 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %136)
          to label %535 unwind label %537

535:                                              ; preds = %533
  %536 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %534, ptr noundef nonnull align 4 dereferenceable(12) %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %134) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %132) #7
  br label %797

537:                                              ; preds = %533
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %134) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %132) #7
  br label %858

539:                                              ; preds = %532
  %or.cond111 = and i1 %or.cond97, %371
  br i1 %or.cond111, label %540, label %546

540:                                              ; preds = %539
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %137) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %138) #7
  store i32 1, ptr %138, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %139) #7
  store i32 2, ptr %139, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %140) #7
  store i32 3, ptr %140, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %137, ptr noundef nonnull align 4 dereferenceable(4) %138, ptr noundef nonnull align 4 dereferenceable(4) %139, ptr noundef nonnull align 4 dereferenceable(4) %140)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %141) #7
  store i32 1, ptr %141, align 4, !tbaa !5
  %541 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %141)
          to label %542 unwind label %544

542:                                              ; preds = %540
  %543 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %541, ptr noundef nonnull align 4 dereferenceable(12) %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %140) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %139) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %138) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %137) #7
  br label %.thread

544:                                              ; preds = %540
  %545 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %140) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %139) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %138) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %137) #7
  br label %858

546:                                              ; preds = %539
  %or.cond115 = and i1 %or.cond113, %346
  br i1 %or.cond115, label %547, label %553

547:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %142) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %143) #7
  store i32 1, ptr %143, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %144) #7
  store i32 3, ptr %144, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %145) #7
  store i32 0, ptr %145, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %142, ptr noundef nonnull align 4 dereferenceable(4) %143, ptr noundef nonnull align 4 dereferenceable(4) %144, ptr noundef nonnull align 4 dereferenceable(4) %145)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %146) #7
  store i32 -15, ptr %146, align 4, !tbaa !5
  %548 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %146)
          to label %549 unwind label %551

549:                                              ; preds = %547
  %550 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %548, ptr noundef nonnull align 4 dereferenceable(12) %142) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %145) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %144) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %142) #7
  br label %797

551:                                              ; preds = %547
  %552 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %145) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %144) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %142) #7
  br label %858

553:                                              ; preds = %546
  %or.cond119 = and i1 %or.cond113, %355
  br i1 %or.cond119, label %554, label %560

554:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %147) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %148) #7
  store i32 1, ptr %148, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %149) #7
  store i32 3, ptr %149, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %150) #7
  store i32 1, ptr %150, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %147, ptr noundef nonnull align 4 dereferenceable(4) %148, ptr noundef nonnull align 4 dereferenceable(4) %149, ptr noundef nonnull align 4 dereferenceable(4) %150)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %151) #7
  store i32 0, ptr %151, align 4, !tbaa !5
  %555 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %151)
          to label %556 unwind label %558

556:                                              ; preds = %554
  %557 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %555, ptr noundef nonnull align 4 dereferenceable(12) %147) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %150) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %149) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %148) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %147) #7
  br label %797

558:                                              ; preds = %554
  %559 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %150) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %149) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %148) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %147) #7
  br label %858

560:                                              ; preds = %553
  %or.cond123 = and i1 %or.cond113, %363
  br i1 %or.cond123, label %561, label %567

561:                                              ; preds = %560
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %152) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %153) #7
  store i32 1, ptr %153, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %154) #7
  store i32 3, ptr %154, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %155) #7
  store i32 2, ptr %155, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %152, ptr noundef nonnull align 4 dereferenceable(4) %153, ptr noundef nonnull align 4 dereferenceable(4) %154, ptr noundef nonnull align 4 dereferenceable(4) %155)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %156) #7
  store i32 1, ptr %156, align 4, !tbaa !5
  %562 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %156)
          to label %563 unwind label %565

563:                                              ; preds = %561
  %564 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %562, ptr noundef nonnull align 4 dereferenceable(12) %152) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %155) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %154) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %153) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %152) #7
  br label %797

565:                                              ; preds = %561
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %155) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %154) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %153) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %152) #7
  br label %858

567:                                              ; preds = %560
  %or.cond127 = and i1 %or.cond113, %371
  br i1 %or.cond127, label %568, label %574

568:                                              ; preds = %567
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %157) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %158) #7
  store i32 1, ptr %158, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %159) #7
  store i32 3, ptr %159, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %160) #7
  store i32 3, ptr %160, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %157, ptr noundef nonnull align 4 dereferenceable(4) %158, ptr noundef nonnull align 4 dereferenceable(4) %159, ptr noundef nonnull align 4 dereferenceable(4) %160)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %161) #7
  store i32 -7, ptr %161, align 4, !tbaa !5
  %569 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %161)
          to label %570 unwind label %572

570:                                              ; preds = %568
  %571 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %569, ptr noundef nonnull align 4 dereferenceable(12) %157) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %160) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %159) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %158) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %157) #7
  br label %.thread.thread

572:                                              ; preds = %568
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %160) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %159) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %158) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %157) #7
  br label %858

574:                                              ; preds = %567
  %or.cond131 = and i1 %or.cond129, %346
  br i1 %or.cond131, label %575, label %581

575:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %162) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %163) #7
  store i32 2, ptr %163, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %164) #7
  store i32 0, ptr %164, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %165) #7
  store i32 0, ptr %165, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %162, ptr noundef nonnull align 4 dereferenceable(4) %163, ptr noundef nonnull align 4 dereferenceable(4) %164, ptr noundef nonnull align 4 dereferenceable(4) %165)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %166) #7
  store i32 68, ptr %166, align 4, !tbaa !5
  %576 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %166)
          to label %577 unwind label %579

577:                                              ; preds = %575
  %578 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %576, ptr noundef nonnull align 4 dereferenceable(12) %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %165) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %164) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %163) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %162) #7
  br label %797

579:                                              ; preds = %575
  %580 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %165) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %164) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %163) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %162) #7
  br label %858

581:                                              ; preds = %574
  %or.cond135 = and i1 %or.cond129, %355
  br i1 %or.cond135, label %582, label %588

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %167) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %168) #7
  store i32 2, ptr %168, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %169) #7
  store i32 0, ptr %169, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %170) #7
  store i32 1, ptr %170, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %167, ptr noundef nonnull align 4 dereferenceable(4) %168, ptr noundef nonnull align 4 dereferenceable(4) %169, ptr noundef nonnull align 4 dereferenceable(4) %170)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %171) #7
  store i32 8, ptr %171, align 4, !tbaa !5
  %583 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %171)
          to label %584 unwind label %586

584:                                              ; preds = %582
  %585 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %583, ptr noundef nonnull align 4 dereferenceable(12) %167) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %170) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %169) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %168) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %167) #7
  br label %797

586:                                              ; preds = %582
  %587 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %170) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %169) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %168) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %167) #7
  br label %858

588:                                              ; preds = %581
  %or.cond139 = and i1 %or.cond129, %363
  br i1 %or.cond139, label %589, label %595

589:                                              ; preds = %588
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %172) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %173) #7
  store i32 2, ptr %173, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %174) #7
  store i32 0, ptr %174, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %175) #7
  store i32 2, ptr %175, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %172, ptr noundef nonnull align 4 dereferenceable(4) %173, ptr noundef nonnull align 4 dereferenceable(4) %174, ptr noundef nonnull align 4 dereferenceable(4) %175)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %176) #7
  store i32 24, ptr %176, align 4, !tbaa !5
  %590 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %176)
          to label %591 unwind label %593

591:                                              ; preds = %589
  %592 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %590, ptr noundef nonnull align 4 dereferenceable(12) %172) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %176) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %175) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %174) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %173) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %172) #7
  br label %797

593:                                              ; preds = %589
  %594 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %176) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %175) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %174) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %173) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %172) #7
  br label %858

595:                                              ; preds = %588
  %or.cond143 = and i1 %or.cond129, %371
  br i1 %or.cond143, label %596, label %602

596:                                              ; preds = %595
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %177) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %178) #7
  store i32 2, ptr %178, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %179) #7
  store i32 0, ptr %179, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %180) #7
  store i32 3, ptr %180, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %177, ptr noundef nonnull align 4 dereferenceable(4) %178, ptr noundef nonnull align 4 dereferenceable(4) %179, ptr noundef nonnull align 4 dereferenceable(4) %180)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %181) #7
  store i32 16, ptr %181, align 4, !tbaa !5
  %597 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %181)
          to label %598 unwind label %600

598:                                              ; preds = %596
  %599 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %597, ptr noundef nonnull align 4 dereferenceable(12) %177) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %181) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %180) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %179) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %178) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %177) #7
  br label %.thread

600:                                              ; preds = %596
  %601 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %181) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %180) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %179) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %178) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %177) #7
  br label %858

602:                                              ; preds = %595
  %or.cond147 = and i1 %or.cond145, %346
  br i1 %or.cond147, label %603, label %609

603:                                              ; preds = %602
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %182) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %183) #7
  store i32 2, ptr %183, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %184) #7
  store i32 1, ptr %184, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %185) #7
  store i32 0, ptr %185, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %182, ptr noundef nonnull align 4 dereferenceable(4) %183, ptr noundef nonnull align 4 dereferenceable(4) %184, ptr noundef nonnull align 4 dereferenceable(4) %185)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %186) #7
  store i32 8, ptr %186, align 4, !tbaa !5
  %604 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %186)
          to label %605 unwind label %607

605:                                              ; preds = %603
  %606 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %604, ptr noundef nonnull align 4 dereferenceable(12) %182) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %186) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %185) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %184) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %183) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %182) #7
  br label %797

607:                                              ; preds = %603
  %608 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %186) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %185) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %184) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %183) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %182) #7
  br label %858

609:                                              ; preds = %602
  %or.cond151 = and i1 %or.cond145, %355
  br i1 %or.cond151, label %610, label %616

610:                                              ; preds = %609
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %187) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %188) #7
  store i32 2, ptr %188, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %189) #7
  store i32 1, ptr %189, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %190) #7
  store i32 1, ptr %190, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %187, ptr noundef nonnull align 4 dereferenceable(4) %188, ptr noundef nonnull align 4 dereferenceable(4) %189, ptr noundef nonnull align 4 dereferenceable(4) %190)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %191) #7
  store i32 4, ptr %191, align 4, !tbaa !5
  %611 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %191)
          to label %612 unwind label %614

612:                                              ; preds = %610
  %613 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %611, ptr noundef nonnull align 4 dereferenceable(12) %187) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %190) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %189) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %188) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %187) #7
  br label %797

614:                                              ; preds = %610
  %615 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %190) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %189) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %188) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %187) #7
  br label %858

616:                                              ; preds = %609
  %or.cond155 = and i1 %or.cond145, %363
  br i1 %or.cond155, label %617, label %623

617:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %192) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %193) #7
  store i32 2, ptr %193, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %194) #7
  store i32 1, ptr %194, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %195) #7
  store i32 2, ptr %195, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %192, ptr noundef nonnull align 4 dereferenceable(4) %193, ptr noundef nonnull align 4 dereferenceable(4) %194, ptr noundef nonnull align 4 dereferenceable(4) %195)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %196) #7
  store i32 9, ptr %196, align 4, !tbaa !5
  %618 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %196)
          to label %619 unwind label %621

619:                                              ; preds = %617
  %620 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %618, ptr noundef nonnull align 4 dereferenceable(12) %192) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %194) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %193) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %192) #7
  br label %797

621:                                              ; preds = %617
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %194) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %193) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %192) #7
  br label %858

623:                                              ; preds = %616
  %or.cond159 = and i1 %or.cond145, %371
  br i1 %or.cond159, label %624, label %630

624:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %197) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %198) #7
  store i32 2, ptr %198, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %199) #7
  store i32 1, ptr %199, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %200) #7
  store i32 3, ptr %200, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %197, ptr noundef nonnull align 4 dereferenceable(4) %198, ptr noundef nonnull align 4 dereferenceable(4) %199, ptr noundef nonnull align 4 dereferenceable(4) %200)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %201) #7
  store i32 1, ptr %201, align 4, !tbaa !5
  %625 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %201)
          to label %626 unwind label %628

626:                                              ; preds = %624
  %627 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %625, ptr noundef nonnull align 4 dereferenceable(12) %197) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %201) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %200) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %199) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %198) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %197) #7
  br label %.thread

628:                                              ; preds = %624
  %629 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %201) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %200) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %199) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %198) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %197) #7
  br label %858

630:                                              ; preds = %623
  %or.cond163 = and i1 %or.cond161, %346
  br i1 %or.cond163, label %631, label %637

631:                                              ; preds = %630
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %202) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %203) #7
  store i32 2, ptr %203, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %204) #7
  store i32 2, ptr %204, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %205) #7
  store i32 0, ptr %205, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %202, ptr noundef nonnull align 4 dereferenceable(4) %203, ptr noundef nonnull align 4 dereferenceable(4) %204, ptr noundef nonnull align 4 dereferenceable(4) %205)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %206) #7
  store i32 24, ptr %206, align 4, !tbaa !5
  %632 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %206)
          to label %633 unwind label %635

633:                                              ; preds = %631
  %634 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %632, ptr noundef nonnull align 4 dereferenceable(12) %202) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %206) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %205) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %204) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %203) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %202) #7
  br label %797

635:                                              ; preds = %631
  %636 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %206) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %205) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %204) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %203) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %202) #7
  br label %858

637:                                              ; preds = %630
  %or.cond167 = and i1 %or.cond161, %355
  br i1 %or.cond167, label %638, label %644

638:                                              ; preds = %637
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %207) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %208) #7
  store i32 2, ptr %208, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %209) #7
  store i32 2, ptr %209, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %210) #7
  store i32 1, ptr %210, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %207, ptr noundef nonnull align 4 dereferenceable(4) %208, ptr noundef nonnull align 4 dereferenceable(4) %209, ptr noundef nonnull align 4 dereferenceable(4) %210)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %211) #7
  store i32 9, ptr %211, align 4, !tbaa !5
  %639 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %211)
          to label %640 unwind label %642

640:                                              ; preds = %638
  %641 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %639, ptr noundef nonnull align 4 dereferenceable(12) %207) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %211) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %210) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %209) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %208) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %207) #7
  br label %797

642:                                              ; preds = %638
  %643 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %211) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %210) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %209) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %208) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %207) #7
  br label %858

644:                                              ; preds = %637
  %or.cond171 = and i1 %or.cond161, %363
  br i1 %or.cond171, label %645, label %651

645:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %212) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %213) #7
  store i32 2, ptr %213, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %214) #7
  store i32 2, ptr %214, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %215) #7
  store i32 2, ptr %215, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %212, ptr noundef nonnull align 4 dereferenceable(4) %213, ptr noundef nonnull align 4 dereferenceable(4) %214, ptr noundef nonnull align 4 dereferenceable(4) %215)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %216) #7
  store i32 16, ptr %216, align 4, !tbaa !5
  %646 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %216)
          to label %647 unwind label %649

647:                                              ; preds = %645
  %648 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %646, ptr noundef nonnull align 4 dereferenceable(12) %212) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %216) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %215) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %214) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %213) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %212) #7
  br label %797

649:                                              ; preds = %645
  %650 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %216) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %215) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %214) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %213) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %212) #7
  br label %858

651:                                              ; preds = %644
  %or.cond175 = and i1 %or.cond161, %371
  br i1 %or.cond175, label %652, label %658

652:                                              ; preds = %651
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %217) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %218) #7
  store i32 2, ptr %218, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %219) #7
  store i32 2, ptr %219, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %220) #7
  store i32 3, ptr %220, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %217, ptr noundef nonnull align 4 dereferenceable(4) %218, ptr noundef nonnull align 4 dereferenceable(4) %219, ptr noundef nonnull align 4 dereferenceable(4) %220)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %221) #7
  store i32 8, ptr %221, align 4, !tbaa !5
  %653 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %221)
          to label %654 unwind label %656

654:                                              ; preds = %652
  %655 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %653, ptr noundef nonnull align 4 dereferenceable(12) %217) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %221) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %220) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %219) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %218) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %217) #7
  br label %.thread

656:                                              ; preds = %652
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %221) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %220) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %219) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %218) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %217) #7
  br label %858

658:                                              ; preds = %651
  %or.cond179 = and i1 %or.cond177, %346
  br i1 %or.cond179, label %659, label %665

659:                                              ; preds = %658
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %222) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %223) #7
  store i32 2, ptr %223, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %224) #7
  store i32 3, ptr %224, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %225) #7
  store i32 0, ptr %225, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %222, ptr noundef nonnull align 4 dereferenceable(4) %223, ptr noundef nonnull align 4 dereferenceable(4) %224, ptr noundef nonnull align 4 dereferenceable(4) %225)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %226) #7
  store i32 -8, ptr %226, align 4, !tbaa !5
  %660 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %226)
          to label %661 unwind label %663

661:                                              ; preds = %659
  %662 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %660, ptr noundef nonnull align 4 dereferenceable(12) %222) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %226) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %225) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %224) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %223) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %222) #7
  br label %797

663:                                              ; preds = %659
  %664 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %226) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %225) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %224) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %223) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %222) #7
  br label %858

665:                                              ; preds = %658
  %or.cond183 = and i1 %or.cond177, %355
  br i1 %or.cond183, label %666, label %672

666:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %227) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %228) #7
  store i32 2, ptr %228, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %229) #7
  store i32 3, ptr %229, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %230) #7
  store i32 1, ptr %230, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %227, ptr noundef nonnull align 4 dereferenceable(4) %228, ptr noundef nonnull align 4 dereferenceable(4) %229, ptr noundef nonnull align 4 dereferenceable(4) %230)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %231) #7
  store i32 7, ptr %231, align 4, !tbaa !5
  %667 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %231)
          to label %668 unwind label %670

668:                                              ; preds = %666
  %669 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %667, ptr noundef nonnull align 4 dereferenceable(12) %227) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %230) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %229) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %228) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %227) #7
  br label %797

670:                                              ; preds = %666
  %671 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %231) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %230) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %229) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %228) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %227) #7
  br label %858

672:                                              ; preds = %665
  %or.cond187 = and i1 %or.cond177, %363
  br i1 %or.cond187, label %673, label %679

673:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %232) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %233) #7
  store i32 2, ptr %233, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %234) #7
  store i32 3, ptr %234, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %235) #7
  store i32 2, ptr %235, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %232, ptr noundef nonnull align 4 dereferenceable(4) %233, ptr noundef nonnull align 4 dereferenceable(4) %234, ptr noundef nonnull align 4 dereferenceable(4) %235)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %236) #7
  store i32 8, ptr %236, align 4, !tbaa !5
  %674 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %236)
          to label %675 unwind label %677

675:                                              ; preds = %673
  %676 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %674, ptr noundef nonnull align 4 dereferenceable(12) %232) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %236) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %235) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %234) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %233) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %232) #7
  br label %797

677:                                              ; preds = %673
  %678 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %236) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %235) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %234) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %233) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %232) #7
  br label %858

679:                                              ; preds = %672
  %or.cond191 = and i1 %or.cond177, %371
  br i1 %or.cond191, label %680, label %686

680:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %237) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %238) #7
  store i32 2, ptr %238, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %239) #7
  store i32 3, ptr %239, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %240) #7
  store i32 3, ptr %240, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %237, ptr noundef nonnull align 4 dereferenceable(4) %238, ptr noundef nonnull align 4 dereferenceable(4) %239, ptr noundef nonnull align 4 dereferenceable(4) %240)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %241) #7
  store i32 0, ptr %241, align 4, !tbaa !5
  %681 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %241)
          to label %682 unwind label %684

682:                                              ; preds = %680
  %683 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %681, ptr noundef nonnull align 4 dereferenceable(12) %237) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %241) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %240) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %239) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %238) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %237) #7
  br label %.thread.thread

684:                                              ; preds = %680
  %685 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %241) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %240) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %239) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %238) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %237) #7
  br label %858

686:                                              ; preds = %679
  %or.cond195 = and i1 %or.cond193, %346
  br i1 %or.cond195, label %687, label %693

687:                                              ; preds = %686
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %242) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %243) #7
  store i32 3, ptr %243, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %244) #7
  store i32 0, ptr %244, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %245) #7
  store i32 0, ptr %245, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %242, ptr noundef nonnull align 4 dereferenceable(4) %243, ptr noundef nonnull align 4 dereferenceable(4) %244, ptr noundef nonnull align 4 dereferenceable(4) %245)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %246) #7
  store i32 -60, ptr %246, align 4, !tbaa !5
  %688 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %246)
          to label %689 unwind label %691

689:                                              ; preds = %687
  %690 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %688, ptr noundef nonnull align 4 dereferenceable(12) %242) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %246) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %245) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %244) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %243) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %242) #7
  br label %797

691:                                              ; preds = %687
  %692 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %246) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %245) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %244) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %243) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %242) #7
  br label %858

693:                                              ; preds = %686
  %or.cond199 = and i1 %or.cond193, %355
  br i1 %or.cond199, label %694, label %700

694:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %247) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %248) #7
  store i32 3, ptr %248, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %249) #7
  store i32 0, ptr %249, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %250) #7
  store i32 1, ptr %250, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %247, ptr noundef nonnull align 4 dereferenceable(4) %248, ptr noundef nonnull align 4 dereferenceable(4) %249, ptr noundef nonnull align 4 dereferenceable(4) %250)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %251) #7
  store i32 0, ptr %251, align 4, !tbaa !5
  %695 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %251)
          to label %696 unwind label %698

696:                                              ; preds = %694
  %697 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %695, ptr noundef nonnull align 4 dereferenceable(12) %247) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %251) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %250) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %249) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %248) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %247) #7
  br label %797

698:                                              ; preds = %694
  %699 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %251) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %250) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %249) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %248) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %247) #7
  br label %858

700:                                              ; preds = %693
  %or.cond203 = and i1 %or.cond193, %363
  br i1 %or.cond203, label %701, label %707

701:                                              ; preds = %700
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %252) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %253) #7
  store i32 3, ptr %253, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %254) #7
  store i32 0, ptr %254, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %255) #7
  store i32 2, ptr %255, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %252, ptr noundef nonnull align 4 dereferenceable(4) %253, ptr noundef nonnull align 4 dereferenceable(4) %254, ptr noundef nonnull align 4 dereferenceable(4) %255)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %256) #7
  store i32 -8, ptr %256, align 4, !tbaa !5
  %702 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %256)
          to label %703 unwind label %705

703:                                              ; preds = %701
  %704 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %702, ptr noundef nonnull align 4 dereferenceable(12) %252) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %256) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %255) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %254) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %253) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %252) #7
  br label %797

705:                                              ; preds = %701
  %706 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %256) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %255) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %254) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %253) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %252) #7
  br label %858

707:                                              ; preds = %700
  %or.cond207 = and i1 %or.cond193, %371
  br i1 %or.cond207, label %708, label %714

708:                                              ; preds = %707
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %257) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %258) #7
  store i32 3, ptr %258, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %259) #7
  store i32 0, ptr %259, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %260) #7
  store i32 3, ptr %260, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %257, ptr noundef nonnull align 4 dereferenceable(4) %258, ptr noundef nonnull align 4 dereferenceable(4) %259, ptr noundef nonnull align 4 dereferenceable(4) %260)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %261) #7
  store i32 -16, ptr %261, align 4, !tbaa !5
  %709 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %261)
          to label %710 unwind label %712

710:                                              ; preds = %708
  %711 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %709, ptr noundef nonnull align 4 dereferenceable(12) %257) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %261) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %260) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %259) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %258) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %257) #7
  br label %.thread

712:                                              ; preds = %708
  %713 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %261) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %260) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %259) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %258) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %257) #7
  br label %858

714:                                              ; preds = %707
  %or.cond211 = and i1 %or.cond209, %346
  br i1 %or.cond211, label %715, label %721

715:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %262) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %263) #7
  store i32 3, ptr %263, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %264) #7
  store i32 1, ptr %264, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %265) #7
  store i32 0, ptr %265, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %262, ptr noundef nonnull align 4 dereferenceable(4) %263, ptr noundef nonnull align 4 dereferenceable(4) %264, ptr noundef nonnull align 4 dereferenceable(4) %265)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %266) #7
  store i32 0, ptr %266, align 4, !tbaa !5
  %716 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %266)
          to label %717 unwind label %719

717:                                              ; preds = %715
  %718 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %716, ptr noundef nonnull align 4 dereferenceable(12) %262) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %266) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %265) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %264) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %263) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %262) #7
  br label %797

719:                                              ; preds = %715
  %720 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %266) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %265) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %264) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %263) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %262) #7
  br label %858

721:                                              ; preds = %714
  %or.cond215 = and i1 %or.cond209, %355
  br i1 %or.cond215, label %722, label %728

722:                                              ; preds = %721
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %267) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %268) #7
  store i32 3, ptr %268, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %269) #7
  store i32 1, ptr %269, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %270) #7
  store i32 1, ptr %270, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %267, ptr noundef nonnull align 4 dereferenceable(4) %268, ptr noundef nonnull align 4 dereferenceable(4) %269, ptr noundef nonnull align 4 dereferenceable(4) %270)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %271) #7
  store i32 4, ptr %271, align 4, !tbaa !5
  %723 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %271)
          to label %724 unwind label %726

724:                                              ; preds = %722
  %725 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %723, ptr noundef nonnull align 4 dereferenceable(12) %267) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %271) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %270) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %269) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %268) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %267) #7
  br label %797

726:                                              ; preds = %722
  %727 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %271) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %270) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %269) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %268) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %267) #7
  br label %858

728:                                              ; preds = %721
  %or.cond219 = and i1 %or.cond209, %363
  br i1 %or.cond219, label %729, label %735

729:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %272) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %273) #7
  store i32 3, ptr %273, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %274) #7
  store i32 1, ptr %274, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %275) #7
  store i32 2, ptr %275, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %272, ptr noundef nonnull align 4 dereferenceable(4) %273, ptr noundef nonnull align 4 dereferenceable(4) %274, ptr noundef nonnull align 4 dereferenceable(4) %275)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %276) #7
  store i32 7, ptr %276, align 4, !tbaa !5
  %730 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %276)
          to label %731 unwind label %733

731:                                              ; preds = %729
  %732 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %730, ptr noundef nonnull align 4 dereferenceable(12) %272) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %276) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %275) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %274) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %273) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %272) #7
  br label %797

733:                                              ; preds = %729
  %734 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %276) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %275) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %274) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %273) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %272) #7
  br label %858

735:                                              ; preds = %728
  %or.cond223 = and i1 %or.cond209, %371
  br i1 %or.cond223, label %736, label %742

736:                                              ; preds = %735
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %277) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %278) #7
  store i32 3, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %279) #7
  store i32 1, ptr %279, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %280) #7
  store i32 3, ptr %280, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %277, ptr noundef nonnull align 4 dereferenceable(4) %278, ptr noundef nonnull align 4 dereferenceable(4) %279, ptr noundef nonnull align 4 dereferenceable(4) %280)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %281) #7
  store i32 -1, ptr %281, align 4, !tbaa !5
  %737 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %281)
          to label %738 unwind label %740

738:                                              ; preds = %736
  %739 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %737, ptr noundef nonnull align 4 dereferenceable(12) %277) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %281) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %280) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %279) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %278) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %277) #7
  br label %.thread

740:                                              ; preds = %736
  %741 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %281) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %280) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %279) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %278) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %277) #7
  br label %858

742:                                              ; preds = %735
  %or.cond227 = and i1 %or.cond225, %346
  br i1 %or.cond227, label %743, label %749

743:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %282) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %283) #7
  store i32 3, ptr %283, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %284) #7
  store i32 2, ptr %284, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %285) #7
  store i32 0, ptr %285, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %282, ptr noundef nonnull align 4 dereferenceable(4) %283, ptr noundef nonnull align 4 dereferenceable(4) %284, ptr noundef nonnull align 4 dereferenceable(4) %285)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %286) #7
  store i32 16, ptr %286, align 4, !tbaa !5
  %744 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %286)
          to label %745 unwind label %747

745:                                              ; preds = %743
  %746 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %744, ptr noundef nonnull align 4 dereferenceable(12) %282) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %286) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %285) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %284) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %283) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %282) #7
  br label %797

747:                                              ; preds = %743
  %748 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %286) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %285) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %284) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %283) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %282) #7
  br label %858

749:                                              ; preds = %742
  %or.cond231 = and i1 %or.cond225, %355
  br i1 %or.cond231, label %750, label %756

750:                                              ; preds = %749
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %287) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %288) #7
  store i32 3, ptr %288, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %289) #7
  store i32 2, ptr %289, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %290) #7
  store i32 1, ptr %290, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %287, ptr noundef nonnull align 4 dereferenceable(4) %288, ptr noundef nonnull align 4 dereferenceable(4) %289, ptr noundef nonnull align 4 dereferenceable(4) %290)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %291) #7
  store i32 1, ptr %291, align 4, !tbaa !5
  %751 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %291)
          to label %752 unwind label %754

752:                                              ; preds = %750
  %753 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %751, ptr noundef nonnull align 4 dereferenceable(12) %287) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %291) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %290) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %289) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %288) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %287) #7
  br label %797

754:                                              ; preds = %750
  %755 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %291) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %290) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %289) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %288) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %287) #7
  br label %858

756:                                              ; preds = %749
  %or.cond235 = and i1 %or.cond225, %363
  br i1 %or.cond235, label %757, label %763

757:                                              ; preds = %756
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %292) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %293) #7
  store i32 3, ptr %293, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %294) #7
  store i32 2, ptr %294, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %295) #7
  store i32 2, ptr %295, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %292, ptr noundef nonnull align 4 dereferenceable(4) %293, ptr noundef nonnull align 4 dereferenceable(4) %294, ptr noundef nonnull align 4 dereferenceable(4) %295)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %296) #7
  store i32 8, ptr %296, align 4, !tbaa !5
  %758 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %296)
          to label %759 unwind label %761

759:                                              ; preds = %757
  %760 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %758, ptr noundef nonnull align 4 dereferenceable(12) %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %296) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %295) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %294) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %293) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %292) #7
  br label %797

761:                                              ; preds = %757
  %762 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %296) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %295) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %294) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %293) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %292) #7
  br label %858

763:                                              ; preds = %756
  %or.cond239 = and i1 %or.cond225, %371
  br i1 %or.cond239, label %764, label %770

764:                                              ; preds = %763
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %297) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %298) #7
  store i32 3, ptr %298, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %299) #7
  store i32 2, ptr %299, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %300) #7
  store i32 3, ptr %300, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %297, ptr noundef nonnull align 4 dereferenceable(4) %298, ptr noundef nonnull align 4 dereferenceable(4) %299, ptr noundef nonnull align 4 dereferenceable(4) %300)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %301) #7
  store i32 0, ptr %301, align 4, !tbaa !5
  %765 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %301)
          to label %766 unwind label %768

766:                                              ; preds = %764
  %767 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %765, ptr noundef nonnull align 4 dereferenceable(12) %297) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %301) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %300) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %299) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %298) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %297) #7
  br label %.thread

768:                                              ; preds = %764
  %769 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %301) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %300) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %299) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %298) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %297) #7
  br label %858

770:                                              ; preds = %763
  %or.cond243 = and i1 %or.cond241, %346
  br i1 %or.cond243, label %771, label %777

771:                                              ; preds = %770
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %302) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %303) #7
  store i32 3, ptr %303, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %304) #7
  store i32 3, ptr %304, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %305) #7
  store i32 0, ptr %305, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %302, ptr noundef nonnull align 4 dereferenceable(4) %303, ptr noundef nonnull align 4 dereferenceable(4) %304, ptr noundef nonnull align 4 dereferenceable(4) %305)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %306) #7
  store i32 -16, ptr %306, align 4, !tbaa !5
  %772 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %306)
          to label %773 unwind label %775

773:                                              ; preds = %771
  %774 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %772, ptr noundef nonnull align 4 dereferenceable(12) %302) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %306) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %305) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %304) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %303) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %302) #7
  br label %797

775:                                              ; preds = %771
  %776 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %306) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %305) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %304) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %303) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %302) #7
  br label %858

777:                                              ; preds = %770
  %or.cond247 = and i1 %or.cond241, %355
  br i1 %or.cond247, label %778, label %784

778:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %307) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %308) #7
  store i32 3, ptr %308, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %309) #7
  store i32 3, ptr %309, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %310) #7
  store i32 1, ptr %310, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %307, ptr noundef nonnull align 4 dereferenceable(4) %308, ptr noundef nonnull align 4 dereferenceable(4) %309, ptr noundef nonnull align 4 dereferenceable(4) %310)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %311) #7
  store i32 -1, ptr %311, align 4, !tbaa !5
  %779 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %311)
          to label %780 unwind label %782

780:                                              ; preds = %778
  %781 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %779, ptr noundef nonnull align 4 dereferenceable(12) %307) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %311) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %310) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %309) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %308) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %307) #7
  br label %797

782:                                              ; preds = %778
  %783 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %311) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %310) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %309) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %308) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %307) #7
  br label %858

784:                                              ; preds = %777
  %or.cond251 = and i1 %or.cond241, %363
  br i1 %or.cond251, label %785, label %791

785:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %312) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %313) #7
  store i32 3, ptr %313, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %314) #7
  store i32 3, ptr %314, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %315) #7
  store i32 2, ptr %315, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %312, ptr noundef nonnull align 4 dereferenceable(4) %313, ptr noundef nonnull align 4 dereferenceable(4) %314, ptr noundef nonnull align 4 dereferenceable(4) %315)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %316) #7
  store i32 0, ptr %316, align 4, !tbaa !5
  %786 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %316)
          to label %787 unwind label %789

787:                                              ; preds = %785
  %788 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %786, ptr noundef nonnull align 4 dereferenceable(12) %312) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %316) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %315) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %314) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %313) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %312) #7
  br label %797

789:                                              ; preds = %785
  %790 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %316) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %315) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %314) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %313) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %312) #7
  br label %858

791:                                              ; preds = %784
  %or.cond255 = and i1 %or.cond241, %371
  br i1 %or.cond255, label %792, label %797

792:                                              ; preds = %791
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %317) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %318) #7
  store i32 3, ptr %318, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %319) #7
  store i32 3, ptr %319, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %320) #7
  store i32 3, ptr %320, align 4, !tbaa !5
  call void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 4 %317, ptr noundef nonnull align 4 dereferenceable(4) %318, ptr noundef nonnull align 4 dereferenceable(4) %319, ptr noundef nonnull align 4 dereferenceable(4) %320)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %321) #7
  store i32 -8, ptr %321, align 4, !tbaa !5
  %793 = invoke noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %321)
          to label %.thread.thread.thread unwind label %795

.thread.thread.thread:                            ; preds = %792
  %794 = call noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12) %793, ptr noundef nonnull align 4 dereferenceable(12) %317) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %321) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %320) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %319) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %318) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %317) #7
  br label %.loopexit

795:                                              ; preds = %792
  %796 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %321) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %320) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %319) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %318) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %317) #7
  br label %858

797:                                              ; preds = %350, %366, %381, %395, %409, %423, %437, %451, %465, %479, %493, %507, %521, %535, %549, %563, %577, %591, %605, %619, %633, %647, %661, %675, %689, %703, %717, %731, %745, %759, %773, %787, %791, %780, %752, %724, %696, %668, %640, %612, %584, %556, %528, %500, %472, %444, %416, %388, %358
  %798 = add nuw nsw i32 %.0463474, 1
  %exitcond.not = icmp eq i32 %798, 4
  br i1 %exitcond.not, label %.thread, label %345, !llvm.loop !12

._crit_edge:                                      ; preds = %851, %.preheader
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %322) #7
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %1) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %1) #7
  ret i32 0

799:                                              ; preds = %.loopexit
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %857

.lr.ph:                                           ; preds = %.preheader, %851
  %.0477 = phi i32 [ %852, %851 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %323) #7
  %801 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 4 dereferenceable(4) %323)
          to label %802 unwind label %809

802:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %324) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %325) #7
  %803 = invoke ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE4findERS7_(ptr noundef nonnull align 8 dereferenceable(56) %1, ptr noundef nonnull align 4 dereferenceable(4) %323)
          to label %804 unwind label %811

804:                                              ; preds = %802
  store ptr %803, ptr %325, align 8
  call void @_ZNSt8__detail20_Node_const_iteratorISt4pairIKiSt5tupleIJiiiEEELb0ELb0EEC2ERKNS_14_Node_iteratorIS5_Lb0ELb0EEE(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef nonnull align 8 dereferenceable(8) %325) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %325) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %326) #7
  %805 = call ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %1) #7
  store ptr %805, ptr %326, align 8
  %806 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiSt5tupleIJiiiEEELb0EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef nonnull align 8 dereferenceable(8) %326) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %326) #7
  br i1 %806, label %807, label %815

807:                                              ; preds = %804
  %808 = 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)
          to label %851 unwind label %813

809:                                              ; preds = %.lr.ph
  %810 = landingpad { ptr, i32 }
          cleanup
  br label %856

811:                                              ; preds = %802
  %812 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %325) #7
  br label %855

813:                                              ; preds = %807
  %814 = landingpad { ptr, i32 }
          cleanup
  br label %855

815:                                              ; preds = %804
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %327) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %328) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %329) #7
  %816 = call noundef ptr @_ZNKSt8__detail20_Node_const_iteratorISt4pairIKiSt5tupleIJiiiEEELb0ELb0EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %324) #7
  %817 = getelementptr inbounds i8, ptr %816, i64 4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %330) #7
  call void @_ZSt3tieIJiiiEESt5tupleIJDpRT_EES3_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple.6") align 8 %330, ptr noundef nonnull align 4 dereferenceable(4) %327, ptr noundef nonnull align 4 dereferenceable(4) %328, ptr noundef nonnull align 4 dereferenceable(4) %329) #7
  %818 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt5tupleIJRiS0_S0_EEaSIJiiiEEENSt9enable_ifIXcl12__assignableIDpRKT_EEERS1_E4typeERKS_IJDpS4_EE(ptr noundef nonnull align 8 dereferenceable(24) %330, ptr noundef nonnull align 4 dereferenceable(12) %817) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %330) #7
  %819 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %820 unwind label %823

820:                                              ; preds = %815
  %821 = load i32, ptr %327, align 4, !tbaa !5
  %822 = icmp ult i32 %821, 4
  br i1 %822, label %switch.lookup, label %827

823:                                              ; preds = %switch.lookup, %switch.lookup485, %switch.lookup488, %848, %845, %843, %841, %834, %827, %815
  %824 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %329) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %328) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %327) #7
  br label %855

switch.lookup:                                    ; preds = %820
  %825 = zext nneg i32 %821 to i64
  %switch.gep = getelementptr inbounds [4 x ptr], ptr @switch.table.main.2, i64 0, i64 %825
  %switch.load = load ptr, ptr %switch.gep, align 8
  %826 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull %switch.load)
          to label %827 unwind label %823

827:                                              ; preds = %820, %switch.lookup
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %829 unwind label %823

829:                                              ; preds = %827
  %830 = load i32, ptr %328, align 4, !tbaa !5
  %831 = icmp ult i32 %830, 4
  br i1 %831, label %switch.lookup485, label %834

switch.lookup485:                                 ; preds = %829
  %832 = zext nneg i32 %830 to i64
  %switch.gep486 = getelementptr inbounds [4 x ptr], ptr @switch.table.main.2, i64 0, i64 %832
  %switch.load487 = load ptr, ptr %switch.gep486, align 8
  %833 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull %switch.load487)
          to label %834 unwind label %823

834:                                              ; preds = %829, %switch.lookup485
  %835 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %836 unwind label %823

836:                                              ; preds = %834
  %837 = load i32, ptr %329, align 4, !tbaa !5
  %838 = icmp ult i32 %837, 4
  br i1 %838, label %switch.lookup488, label %841

switch.lookup488:                                 ; preds = %836
  %839 = zext nneg i32 %837 to i64
  %switch.gep489 = getelementptr inbounds [4 x ptr], ptr @switch.table.main.2, i64 0, i64 %839
  %switch.load490 = load ptr, ptr %switch.gep489, align 8
  %840 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull %switch.load490)
          to label %841 unwind label %823

841:                                              ; preds = %836, %switch.lookup488
  %842 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef 4)
          to label %843 unwind label %823

843:                                              ; preds = %841
  %844 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %842, ptr noundef nonnull @.str.5)
          to label %845 unwind label %823

845:                                              ; preds = %843
  %846 = load i32, ptr %323, align 4, !tbaa !5
  %847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %844, i32 noundef %846)
          to label %848 unwind label %823

848:                                              ; preds = %845
  %849 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %847, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %850 unwind label %823

850:                                              ; preds = %848
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %329) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %328) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %327) #7
  br label %851

851:                                              ; preds = %807, %850
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %324) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %323) #7
  %852 = add nuw nsw i32 %.0477, 1
  %853 = load i32, ptr %322, align 4, !tbaa !5
  %854 = icmp slt i32 %852, %853
  br i1 %854, label %.lr.ph, label %._crit_edge, !llvm.loop !13

855:                                              ; preds = %823, %813, %811
  %.pn = phi { ptr, i32 } [ %814, %813 ], [ %824, %823 ], [ %812, %811 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %324) #7
  br label %856

856:                                              ; preds = %855, %809
  %.pn.pn = phi { ptr, i32 } [ %.pn, %855 ], [ %810, %809 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %323) #7
  br label %857

857:                                              ; preds = %856, %799
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %856 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %322) #7
  br label %858

858:                                              ; preds = %352, %360, %368, %376, %383, %390, %397, %404, %411, %418, %425, %432, %439, %446, %453, %460, %467, %474, %481, %488, %495, %502, %509, %516, %523, %530, %537, %544, %551, %558, %565, %572, %579, %586, %593, %600, %607, %614, %621, %628, %635, %642, %649, %656, %663, %670, %677, %684, %691, %698, %705, %712, %719, %726, %733, %740, %747, %754, %761, %768, %775, %782, %789, %795, %857
  %.pn469.pn = phi { ptr, i32 } [ %.pn.pn.pn, %857 ], [ %353, %352 ], [ %361, %360 ], [ %369, %368 ], [ %377, %376 ], [ %384, %383 ], [ %391, %390 ], [ %398, %397 ], [ %405, %404 ], [ %412, %411 ], [ %419, %418 ], [ %426, %425 ], [ %433, %432 ], [ %440, %439 ], [ %447, %446 ], [ %454, %453 ], [ %461, %460 ], [ %468, %467 ], [ %475, %474 ], [ %482, %481 ], [ %489, %488 ], [ %496, %495 ], [ %503, %502 ], [ %510, %509 ], [ %517, %516 ], [ %524, %523 ], [ %531, %530 ], [ %538, %537 ], [ %545, %544 ], [ %552, %551 ], [ %559, %558 ], [ %566, %565 ], [ %573, %572 ], [ %580, %579 ], [ %587, %586 ], [ %594, %593 ], [ %601, %600 ], [ %608, %607 ], [ %615, %614 ], [ %622, %621 ], [ %629, %628 ], [ %636, %635 ], [ %643, %642 ], [ %650, %649 ], [ %657, %656 ], [ %664, %663 ], [ %671, %670 ], [ %678, %677 ], [ %685, %684 ], [ %692, %691 ], [ %699, %698 ], [ %706, %705 ], [ %713, %712 ], [ %720, %719 ], [ %727, %726 ], [ %734, %733 ], [ %741, %740 ], [ %748, %747 ], [ %755, %754 ], [ %762, %761 ], [ %769, %768 ], [ %776, %775 ], [ %783, %782 ], [ %790, %789 ], [ %796, %795 ]
  call void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %1) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %1) #7
  resume { ptr, i32 } %.pn469.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 nounwind uwtable
declare dso_local void @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJiiiEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS3_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple") align 4, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEEixEOi(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(12) ptr @_ZNSt5tupleIJiiiEEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(12), ptr noundef nonnull align 4 dereferenceable(12)) local_unnamed_addr #2 align 2

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKiSt5tupleIJiiiEEELb0EEES8_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_mapIiSt5tupleIJiiiEESt4hashIiESt8equal_toIiESaISt4pairIKiS1_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #2 align 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 #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt3tieIJiiiEESt5tupleIJDpRT_EES3_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple.6") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2

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

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 #3 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)) #5

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

attributes #0 = { mustprogress norecurse 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 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress 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 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}


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