; LLVM IR from venumb/ZSPACE :: cpp/depends/lodePNG (lodepng_unittest)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%"class.std::allocator.0" = type { i8 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.2 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.646 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.647 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.653 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.658 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.659 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.661 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z4failv() #0

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #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) #2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13assertNoErrorj(i32 noundef) #0

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #3 align 2

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

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

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

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

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

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

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

declare noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef) #4

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z17testPngSuiteImageRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_bjjS6_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, i1 noundef zeroext %2, i32 noundef %3, i32 noundef %4, ptr noundef nonnull align 8 dereferenceable(32) %5) #0 personality ptr @__gxx_personality_v0 {
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i8, align 1
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca i8, align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca i64, align 8
  %59 = alloca %"class.std::vector", align 8
  %60 = alloca %"class.std::allocator.0", align 1
  %61 = alloca i64, align 8
  %62 = alloca %"class.std::vector", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator", align 1
  %70 = alloca %"class.std::allocator", align 1
  %71 = alloca i1, align 1
  %72 = alloca i1, align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i1, align 1
  %75 = alloca %"class.std::allocator", align 1
  %76 = alloca i1, align 1
  %77 = alloca i1, align 1
  %78 = alloca i1, align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator", align 1
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca i64, align 8
  %104 = alloca %"class.std::vector", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator", align 1
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca %"class.std::allocator", align 1
  %113 = alloca i1, align 1
  %114 = alloca i1, align 1
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca i1, align 1
  %117 = alloca %"class.std::allocator", align 1
  %118 = alloca i1, align 1
  %119 = alloca i1, align 1
  %120 = alloca i1, align 1
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.std::allocator", align 1
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::vector", align 8
  %138 = alloca %"class.std::allocator.0", align 1
  %139 = alloca i64, align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::allocator", align 1
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca i64, align 8
  %149 = alloca %"class.std::vector", align 8
  %150 = alloca %"class.std::allocator.0", align 1
  %151 = alloca i64, align 8
  %152 = alloca %"class.std::vector", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::allocator", align 1
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::allocator", align 1
  %160 = alloca %"class.std::allocator", align 1
  %161 = alloca i1, align 1
  %162 = alloca i1, align 1
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca i1, align 1
  %165 = alloca %"class.std::allocator", align 1
  %166 = alloca i1, align 1
  %167 = alloca i1, align 1
  %168 = alloca i1, align 1
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::allocator", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::__cxx11::basic_string", align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::allocator", align 1
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca %"class.std::__cxx11::basic_string", align 8
  %185 = alloca %"class.std::vector", align 8
  %186 = alloca %"class.std::allocator.0", align 1
  %187 = alloca i64, align 8
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::allocator", align 1
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %7, align 8, !tbaa !5
  store ptr %1, ptr %8, align 8, !tbaa !5
  %196 = zext i1 %2 to i8
  store i8 %196, ptr %9, align 1, !tbaa !9
  store i32 %3, ptr %10, align 4, !tbaa !11
  store i32 %4, ptr %11, align 4, !tbaa !11
  store ptr %5, ptr %12, align 8, !tbaa !5
  %197 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.640)
  %198 = load ptr, ptr %8, align 8, !tbaa !5
  %199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef nonnull align 8 dereferenceable(32) %198)
  %200 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %199, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  %201 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %201)
          to label %202 unwind label %238

202:                                              ; preds = %6
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  %203 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 6, i32 noundef 8)
          to label %204 unwind label %242

204:                                              ; preds = %202
  store i32 %203, ptr %20, align 4, !tbaa !11
  %205 = load i8, ptr %9, align 1, !tbaa !9, !range !13, !noundef !14
  %206 = trunc i8 %205 to i1
  br i1 %206, label %207, label %295

207:                                              ; preds = %204
  %208 = load i32, ptr %20, align 4, !tbaa !11
  %209 = icmp ne i32 %208, 0
  %210 = zext i1 %209 to i32
  %211 = icmp ne i32 1, %210
  br i1 %211, label %212, label %294

212:                                              ; preds = %207
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %213 unwind label %246

213:                                              ; preds = %212
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.641)
          to label %214 unwind label %250

214:                                              ; preds = %213
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.3)
          to label %215 unwind label %254

215:                                              ; preds = %214
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.642)
          to label %216 unwind label %258

216:                                              ; preds = %215
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.18)
          to label %217 unwind label %262

217:                                              ; preds = %216
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %219 unwind label %266

219:                                              ; preds = %217
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %221 unwind label %242

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  store i8 1, ptr %28, align 1, !tbaa !9
  invoke void @_Z8valtostrIbENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %222 unwind label %275

222:                                              ; preds = %221
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %224 unwind label %279

224:                                              ; preds = %222
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef @.str.20)
          to label %226 unwind label %279

226:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #6
  %227 = load i32, ptr %20, align 4, !tbaa !11
  %228 = icmp ne i32 %227, 0
  %229 = zext i1 %228 to i8
  store i8 %229, ptr %30, align 1, !tbaa !9
  invoke void @_Z8valtostrIbENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %230 unwind label %283

230:                                              ; preds = %226
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %232 unwind label %287

232:                                              ; preds = %230
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %231, ptr noundef @.str.21)
          to label %234 unwind label %287

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

236:                                              ; preds = %234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  invoke void @_Z4failv()
          to label %237 unwind label %242

237:                                              ; preds = %236
  br label %294

238:                                              ; preds = %6
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %15, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %16, align 4
  br label %1703

242:                                              ; preds = %474, %458, %397, %383, %322, %308, %295, %236, %219, %202
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %15, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %16, align 4
  br label %1702

246:                                              ; preds = %212
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %15, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %16, align 4
  br label %274

250:                                              ; preds = %213
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %15, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %16, align 4
  br label %273

254:                                              ; preds = %214
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %15, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %16, align 4
  br label %272

258:                                              ; preds = %215
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %15, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %16, align 4
  br label %271

262:                                              ; preds = %216
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %15, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %16, align 4
  br label %270

266:                                              ; preds = %217
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %15, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %270

270:                                              ; preds = %266, %262
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %271

271:                                              ; preds = %270, %258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %272

272:                                              ; preds = %271, %254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %273

273:                                              ; preds = %272, %250
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %274

274:                                              ; preds = %273, %246
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %1702

275:                                              ; preds = %221
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %15, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %16, align 4
  br label %293

279:                                              ; preds = %224, %222
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %15, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %16, align 4
  br label %292

283:                                              ; preds = %226
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %15, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %16, align 4
  br label %291

287:                                              ; preds = %234, %232, %230
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %15, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %291

291:                                              ; preds = %287, %283
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  br label %292

292:                                              ; preds = %291, %279
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %293

293:                                              ; preds = %292, %275
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  br label %1702

294:                                              ; preds = %237, %207
  store i32 1, ptr %31, align 4
  br label %1695

295:                                              ; preds = %204
  %296 = load i32, ptr %20, align 4, !tbaa !11
  invoke void @_Z13assertNoErrorj(i32 noundef %296)
          to label %297 unwind label %242

297:                                              ; preds = %295
  %298 = load i32, ptr %10, align 4, !tbaa !11
  %299 = load i32, ptr %18, align 4, !tbaa !11
  %300 = icmp ne i32 %298, %299
  br i1 %300, label %301, label %372

301:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %302 unwind label %324

302:                                              ; preds = %301
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.643)
          to label %303 unwind label %328

303:                                              ; preds = %302
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.3)
          to label %304 unwind label %332

304:                                              ; preds = %303
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.190)
          to label %305 unwind label %336

305:                                              ; preds = %304
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.18)
          to label %306 unwind label %340

306:                                              ; preds = %305
  %307 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %308 unwind label %344

308:                                              ; preds = %306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %310 unwind label %242

310:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %311 unwind label %353

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

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

315:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %316 unwind label %361

316:                                              ; preds = %315
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %318 unwind label %365

318:                                              ; preds = %316
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %317, ptr noundef @.str.21)
          to label %320 unwind label %365

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

322:                                              ; preds = %320
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  invoke void @_Z4failv()
          to label %323 unwind label %242

323:                                              ; preds = %322
  br label %372

324:                                              ; preds = %301
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %15, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %16, align 4
  br label %352

328:                                              ; preds = %302
  %329 = landingpad { ptr, i32 }
          cleanup
  %330 = extractvalue { ptr, i32 } %329, 0
  store ptr %330, ptr %15, align 8
  %331 = extractvalue { ptr, i32 } %329, 1
  store i32 %331, ptr %16, align 4
  br label %351

332:                                              ; preds = %303
  %333 = landingpad { ptr, i32 }
          cleanup
  %334 = extractvalue { ptr, i32 } %333, 0
  store ptr %334, ptr %15, align 8
  %335 = extractvalue { ptr, i32 } %333, 1
  store i32 %335, ptr %16, align 4
  br label %350

336:                                              ; preds = %304
  %337 = landingpad { ptr, i32 }
          cleanup
  %338 = extractvalue { ptr, i32 } %337, 0
  store ptr %338, ptr %15, align 8
  %339 = extractvalue { ptr, i32 } %337, 1
  store i32 %339, ptr %16, align 4
  br label %349

340:                                              ; preds = %305
  %341 = landingpad { ptr, i32 }
          cleanup
  %342 = extractvalue { ptr, i32 } %341, 0
  store ptr %342, ptr %15, align 8
  %343 = extractvalue { ptr, i32 } %341, 1
  store i32 %343, ptr %16, align 4
  br label %348

344:                                              ; preds = %306
  %345 = landingpad { ptr, i32 }
          cleanup
  %346 = extractvalue { ptr, i32 } %345, 0
  store ptr %346, ptr %15, align 8
  %347 = extractvalue { ptr, i32 } %345, 1
  store i32 %347, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %348

348:                                              ; preds = %344, %340
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %349

349:                                              ; preds = %348, %336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %350

350:                                              ; preds = %349, %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %351

351:                                              ; preds = %350, %328
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %352

352:                                              ; preds = %351, %324
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %1702

353:                                              ; preds = %310
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %15, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %16, align 4
  br label %371

357:                                              ; preds = %313, %311
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %15, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %16, align 4
  br label %370

361:                                              ; preds = %315
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %15, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, ptr %16, align 4
  br label %369

365:                                              ; preds = %320, %318, %316
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %15, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %369

369:                                              ; preds = %365, %361
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %370

370:                                              ; preds = %369, %357
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %371

371:                                              ; preds = %370, %353
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %1702

372:                                              ; preds = %323, %297
  %373 = load i32, ptr %11, align 4, !tbaa !11
  %374 = load i32, ptr %19, align 4, !tbaa !11
  %375 = icmp ne i32 %373, %374
  br i1 %375, label %376, label %447

376:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %377 unwind label %399

377:                                              ; preds = %376
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.644)
          to label %378 unwind label %403

378:                                              ; preds = %377
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.3)
          to label %379 unwind label %407

379:                                              ; preds = %378
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.192)
          to label %380 unwind label %411

380:                                              ; preds = %379
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.18)
          to label %381 unwind label %415

381:                                              ; preds = %380
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %383 unwind label %419

383:                                              ; preds = %381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  %384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %385 unwind label %242

385:                                              ; preds = %383
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %386 unwind label %428

386:                                              ; preds = %385
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %384, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %388 unwind label %432

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

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %391 unwind label %436

391:                                              ; preds = %390
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %389, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %393 unwind label %440

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

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

397:                                              ; preds = %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  invoke void @_Z4failv()
          to label %398 unwind label %242

398:                                              ; preds = %397
  br label %447

399:                                              ; preds = %376
  %400 = landingpad { ptr, i32 }
          cleanup
  %401 = extractvalue { ptr, i32 } %400, 0
  store ptr %401, ptr %15, align 8
  %402 = extractvalue { ptr, i32 } %400, 1
  store i32 %402, ptr %16, align 4
  br label %427

403:                                              ; preds = %377
  %404 = landingpad { ptr, i32 }
          cleanup
  %405 = extractvalue { ptr, i32 } %404, 0
  store ptr %405, ptr %15, align 8
  %406 = extractvalue { ptr, i32 } %404, 1
  store i32 %406, ptr %16, align 4
  br label %426

407:                                              ; preds = %378
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %15, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %16, align 4
  br label %425

411:                                              ; preds = %379
  %412 = landingpad { ptr, i32 }
          cleanup
  %413 = extractvalue { ptr, i32 } %412, 0
  store ptr %413, ptr %15, align 8
  %414 = extractvalue { ptr, i32 } %412, 1
  store i32 %414, ptr %16, align 4
  br label %424

415:                                              ; preds = %380
  %416 = landingpad { ptr, i32 }
          cleanup
  %417 = extractvalue { ptr, i32 } %416, 0
  store ptr %417, ptr %15, align 8
  %418 = extractvalue { ptr, i32 } %416, 1
  store i32 %418, ptr %16, align 4
  br label %423

419:                                              ; preds = %381
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %15, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %423

423:                                              ; preds = %419, %415
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %424

424:                                              ; preds = %423, %411
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %425

425:                                              ; preds = %424, %407
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %426

426:                                              ; preds = %425, %403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %427

427:                                              ; preds = %426, %399
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  br label %1702

428:                                              ; preds = %385
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %15, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %16, align 4
  br label %446

432:                                              ; preds = %388, %386
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %15, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %16, align 4
  br label %445

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

440:                                              ; preds = %395, %393, %391
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %15, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %444

444:                                              ; preds = %440, %436
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  br label %445

445:                                              ; preds = %444, %432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %446

446:                                              ; preds = %445, %428
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %1702

447:                                              ; preds = %398, %372
  %448 = load ptr, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #6
  invoke void @_Z6md5sumB5cxx11RKSt6vectorIhSaIhEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %449 unwind label %476

449:                                              ; preds = %447
  %450 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %448, ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br i1 %450, label %451, label %533

451:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %452 unwind label %480

452:                                              ; preds = %451
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.645)
          to label %453 unwind label %484

453:                                              ; preds = %452
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.3)
          to label %454 unwind label %488

454:                                              ; preds = %453
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.646)
          to label %455 unwind label %492

455:                                              ; preds = %454
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.18)
          to label %456 unwind label %496

456:                                              ; preds = %455
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %458 unwind label %500

458:                                              ; preds = %456
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  %459 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %460 unwind label %242

460:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  %461 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_Z8valtostrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES5_RKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %461)
          to label %462 unwind label %509

462:                                              ; preds = %460
  %463 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %459, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %464 unwind label %513

464:                                              ; preds = %462
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %463, ptr noundef @.str.20)
          to label %466 unwind label %513

466:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  invoke void @_Z6md5sumB5cxx11RKSt6vectorIhSaIhEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %467 unwind label %517

467:                                              ; preds = %466
  invoke void @_Z8valtostrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES5_RKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %468 unwind label %521

468:                                              ; preds = %467
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %465, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %470 unwind label %525

470:                                              ; preds = %468
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %469, ptr noundef @.str.21)
          to label %472 unwind label %525

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

474:                                              ; preds = %472
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  invoke void @_Z4failv()
          to label %475 unwind label %242

475:                                              ; preds = %474
  br label %533

476:                                              ; preds = %447
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %15, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #6
  br label %1702

480:                                              ; preds = %451
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %15, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %16, align 4
  br label %508

484:                                              ; preds = %452
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %15, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %16, align 4
  br label %507

488:                                              ; preds = %453
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %15, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %16, align 4
  br label %506

492:                                              ; preds = %454
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %15, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %16, align 4
  br label %505

496:                                              ; preds = %455
  %497 = landingpad { ptr, i32 }
          cleanup
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %15, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %16, align 4
  br label %504

500:                                              ; preds = %456
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %15, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %504

504:                                              ; preds = %500, %496
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %505

505:                                              ; preds = %504, %492
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %506

506:                                              ; preds = %505, %488
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %507

507:                                              ; preds = %506, %484
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %508

508:                                              ; preds = %507, %480
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #6
  br label %1702

509:                                              ; preds = %460
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %15, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %16, align 4
  br label %532

513:                                              ; preds = %464, %462
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %15, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %16, align 4
  br label %531

517:                                              ; preds = %466
  %518 = landingpad { ptr, i32 }
          cleanup
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %15, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %16, align 4
  br label %530

521:                                              ; preds = %467
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %15, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %16, align 4
  br label %529

525:                                              ; preds = %472, %470, %468
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %15, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %529

529:                                              ; preds = %525, %521
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %530

530:                                              ; preds = %529, %517
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #6
  br label %531

531:                                              ; preds = %530, %513
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %532

532:                                              ; preds = %531, %509
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %1702

533:                                              ; preds = %475, %449
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #6
  %534 = load i32, ptr %18, align 4, !tbaa !11
  %535 = load i32, ptr %19, align 4, !tbaa !11
  %536 = mul i32 %534, %535
  %537 = zext i32 %536 to i64
  store i64 %537, ptr %58, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #6
  %538 = load i64, ptr %58, align 8, !tbaa !15
  %539 = mul i64 %538, 3
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %539, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %540 unwind label %546

540:                                              ; preds = %533
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #6
  store i64 0, ptr %61, align 8, !tbaa !15
  br label %541

541:                                              ; preds = %578, %540
  %542 = load i64, ptr %61, align 8, !tbaa !15
  %543 = load i64, ptr %58, align 8, !tbaa !15
  %544 = icmp ult i64 %542, %543
  br i1 %544, label %550, label %545

545:                                              ; preds = %541
  store i32 2, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #6
  br label %581

546:                                              ; preds = %533
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %15, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #6
  br label %962

550:                                              ; preds = %541
  %551 = load i64, ptr %61, align 8, !tbaa !15
  %552 = mul i64 %551, 4
  %553 = add i64 %552, 0
  %554 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %553) #6
  %555 = load i8, ptr %554, align 1, !tbaa !17
  %556 = load i64, ptr %61, align 8, !tbaa !15
  %557 = mul i64 %556, 3
  %558 = add i64 %557, 0
  %559 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %558) #6
  store i8 %555, ptr %559, align 1, !tbaa !17
  %560 = load i64, ptr %61, align 8, !tbaa !15
  %561 = mul i64 %560, 4
  %562 = add i64 %561, 1
  %563 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %562) #6
  %564 = load i8, ptr %563, align 1, !tbaa !17
  %565 = load i64, ptr %61, align 8, !tbaa !15
  %566 = mul i64 %565, 3
  %567 = add i64 %566, 1
  %568 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %567) #6
  store i8 %564, ptr %568, align 1, !tbaa !17
  %569 = load i64, ptr %61, align 8, !tbaa !15
  %570 = mul i64 %569, 4
  %571 = add i64 %570, 2
  %572 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %571) #6
  %573 = load i8, ptr %572, align 1, !tbaa !17
  %574 = load i64, ptr %61, align 8, !tbaa !15
  %575 = mul i64 %574, 3
  %576 = add i64 %575, 2
  %577 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %59, i64 noundef %576) #6
  store i8 %573, ptr %577, align 1, !tbaa !17
  br label %578

578:                                              ; preds = %550
  %579 = load i64, ptr %61, align 8, !tbaa !15
  %580 = add i64 %579, 1
  store i64 %580, ptr %61, align 8, !tbaa !15
  br label %541, !llvm.loop !18

581:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #6
  %582 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 2, i32 noundef 8)
          to label %583 unwind label %640

583:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %584 unwind label %644

584:                                              ; preds = %583
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.647)
          to label %585 unwind label %648

585:                                              ; preds = %584
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  store i1 false, ptr %71, align 1
  store i1 false, ptr %72, align 1
  store i1 false, ptr %74, align 1
  store i1 false, ptr %76, align 1
  store i1 false, ptr %77, align 1
  store i1 false, ptr %78, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %586 unwind label %652

586:                                              ; preds = %585
  %587 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br i1 %587, label %588, label %590

588:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #6
  store i1 true, ptr %71, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  store i1 true, ptr %72, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %589 unwind label %656

589:                                              ; preds = %588
  br label %593

590:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  store i1 true, ptr %74, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #6
  store i1 true, ptr %76, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  store i1 true, ptr %77, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %591 unwind label %660

591:                                              ; preds = %590
  store i1 true, ptr %78, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %592 unwind label %664

592:                                              ; preds = %591
  br label %593

593:                                              ; preds = %592, %589
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %594 unwind label %668

594:                                              ; preds = %593
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %582, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %595 unwind label %672

595:                                              ; preds = %594
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  %596 = load i1, ptr %78, align 1
  br i1 %596, label %597, label %598

597:                                              ; preds = %595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %598

598:                                              ; preds = %597, %595
  %599 = load i1, ptr %77, align 1
  br i1 %599, label %600, label %601

600:                                              ; preds = %598
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  br label %601

601:                                              ; preds = %600, %598
  %602 = load i1, ptr %76, align 1
  br i1 %602, label %603, label %604

603:                                              ; preds = %601
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #6
  br label %604

604:                                              ; preds = %603, %601
  %605 = load i1, ptr %74, align 1
  br i1 %605, label %606, label %607

606:                                              ; preds = %604
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %607

607:                                              ; preds = %606, %604
  %608 = load i1, ptr %72, align 1
  br i1 %608, label %609, label %610

609:                                              ; preds = %607
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  br label %610

610:                                              ; preds = %609, %607
  %611 = load i1, ptr %71, align 1
  br i1 %611, label %612, label %613

612:                                              ; preds = %610
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  br label %613

613:                                              ; preds = %612, %610
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  %614 = load i32, ptr %10, align 4, !tbaa !11
  %615 = load i32, ptr %18, align 4, !tbaa !11
  %616 = icmp ne i32 %614, %615
  br i1 %616, label %617, label %749

617:                                              ; preds = %613
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %618 unwind label %701

618:                                              ; preds = %617
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.648)
          to label %619 unwind label %705

619:                                              ; preds = %618
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.3)
          to label %620 unwind label %709

620:                                              ; preds = %619
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.190)
          to label %621 unwind label %713

621:                                              ; preds = %620
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef @.str.18)
          to label %622 unwind label %717

622:                                              ; preds = %621
  %623 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %624 unwind label %721

624:                                              ; preds = %622
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  %625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %626 unwind label %640

626:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %627 unwind label %730

627:                                              ; preds = %626
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %625, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %629 unwind label %734

629:                                              ; preds = %627
  %630 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %628, ptr noundef @.str.20)
          to label %631 unwind label %734

631:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %632 unwind label %738

632:                                              ; preds = %631
  %633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %630, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %634 unwind label %742

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

636:                                              ; preds = %634
  %637 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %635, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %638 unwind label %742

638:                                              ; preds = %636
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  invoke void @_Z4failv()
          to label %639 unwind label %640

639:                                              ; preds = %638
  br label %749

640:                                              ; preds = %848, %834, %824, %774, %760, %638, %624, %581
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %15, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %16, align 4
  br label %961

644:                                              ; preds = %583
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %15, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %16, align 4
  br label %700

648:                                              ; preds = %584
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %15, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %16, align 4
  br label %699

652:                                              ; preds = %585
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %15, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %16, align 4
  br label %698

656:                                              ; preds = %588
  %657 = landingpad { ptr, i32 }
          cleanup
  %658 = extractvalue { ptr, i32 } %657, 0
  store ptr %658, ptr %15, align 8
  %659 = extractvalue { ptr, i32 } %657, 1
  store i32 %659, ptr %16, align 4
  br label %691

660:                                              ; preds = %590
  %661 = landingpad { ptr, i32 }
          cleanup
  %662 = extractvalue { ptr, i32 } %661, 0
  store ptr %662, ptr %15, align 8
  %663 = extractvalue { ptr, i32 } %661, 1
  store i32 %663, ptr %16, align 4
  br label %681

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

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

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

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

677:                                              ; preds = %676, %664
  %678 = load i1, ptr %78, align 1
  br i1 %678, label %679, label %680

679:                                              ; preds = %677
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %680

680:                                              ; preds = %679, %677
  br label %681

681:                                              ; preds = %680, %660
  %682 = load i1, ptr %77, align 1
  br i1 %682, label %683, label %684

683:                                              ; preds = %681
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #6
  br label %684

684:                                              ; preds = %683, %681
  %685 = load i1, ptr %76, align 1
  br i1 %685, label %686, label %687

686:                                              ; preds = %684
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #6
  br label %687

687:                                              ; preds = %686, %684
  %688 = load i1, ptr %74, align 1
  br i1 %688, label %689, label %690

689:                                              ; preds = %687
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %690

690:                                              ; preds = %689, %687
  br label %691

691:                                              ; preds = %690, %656
  %692 = load i1, ptr %72, align 1
  br i1 %692, label %693, label %694

693:                                              ; preds = %691
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #6
  br label %694

694:                                              ; preds = %693, %691
  %695 = load i1, ptr %71, align 1
  br i1 %695, label %696, label %697

696:                                              ; preds = %694
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  br label %697

697:                                              ; preds = %696, %694
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %698

698:                                              ; preds = %697, %652
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %699

699:                                              ; preds = %698, %648
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %700

700:                                              ; preds = %699, %644
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #6
  br label %961

701:                                              ; preds = %617
  %702 = landingpad { ptr, i32 }
          cleanup
  %703 = extractvalue { ptr, i32 } %702, 0
  store ptr %703, ptr %15, align 8
  %704 = extractvalue { ptr, i32 } %702, 1
  store i32 %704, ptr %16, align 4
  br label %729

705:                                              ; preds = %618
  %706 = landingpad { ptr, i32 }
          cleanup
  %707 = extractvalue { ptr, i32 } %706, 0
  store ptr %707, ptr %15, align 8
  %708 = extractvalue { ptr, i32 } %706, 1
  store i32 %708, ptr %16, align 4
  br label %728

709:                                              ; preds = %619
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %15, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %16, align 4
  br label %727

713:                                              ; preds = %620
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %15, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %16, align 4
  br label %726

717:                                              ; preds = %621
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %15, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %16, align 4
  br label %725

721:                                              ; preds = %622
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %15, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %725

725:                                              ; preds = %721, %717
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %726

726:                                              ; preds = %725, %713
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %727

727:                                              ; preds = %726, %709
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %728

728:                                              ; preds = %727, %705
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %729

729:                                              ; preds = %728, %701
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %961

730:                                              ; preds = %626
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %15, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %16, align 4
  br label %748

734:                                              ; preds = %629, %627
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %15, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %16, align 4
  br label %747

738:                                              ; preds = %631
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %15, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %16, align 4
  br label %746

742:                                              ; preds = %636, %634, %632
  %743 = landingpad { ptr, i32 }
          cleanup
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %15, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %746

746:                                              ; preds = %742, %738
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %747

747:                                              ; preds = %746, %734
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %748

748:                                              ; preds = %747, %730
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #6
  br label %961

749:                                              ; preds = %639, %613
  %750 = load i32, ptr %11, align 4, !tbaa !11
  %751 = load i32, ptr %19, align 4, !tbaa !11
  %752 = icmp ne i32 %750, %751
  br i1 %752, label %753, label %824

753:                                              ; preds = %749
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %754 unwind label %776

754:                                              ; preds = %753
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.649)
          to label %755 unwind label %780

755:                                              ; preds = %754
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.3)
          to label %756 unwind label %784

756:                                              ; preds = %755
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.192)
          to label %757 unwind label %788

757:                                              ; preds = %756
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str.18)
          to label %758 unwind label %792

758:                                              ; preds = %757
  %759 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %760 unwind label %796

760:                                              ; preds = %758
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %762 unwind label %640

762:                                              ; preds = %760
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %763 unwind label %805

763:                                              ; preds = %762
  %764 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %765 unwind label %809

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

767:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %768 unwind label %813

768:                                              ; preds = %767
  %769 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %766, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %770 unwind label %817

770:                                              ; preds = %768
  %771 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %769, ptr noundef @.str.21)
          to label %772 unwind label %817

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

774:                                              ; preds = %772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #6
  invoke void @_Z4failv()
          to label %775 unwind label %640

775:                                              ; preds = %774
  br label %824

776:                                              ; preds = %753
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %15, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %16, align 4
  br label %804

780:                                              ; preds = %754
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %15, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %16, align 4
  br label %803

784:                                              ; preds = %755
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %15, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %16, align 4
  br label %802

788:                                              ; preds = %756
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %15, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %16, align 4
  br label %801

792:                                              ; preds = %757
  %793 = landingpad { ptr, i32 }
          cleanup
  %794 = extractvalue { ptr, i32 } %793, 0
  store ptr %794, ptr %15, align 8
  %795 = extractvalue { ptr, i32 } %793, 1
  store i32 %795, ptr %16, align 4
  br label %800

796:                                              ; preds = %758
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %15, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %800

800:                                              ; preds = %796, %792
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %801

801:                                              ; preds = %800, %788
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %802

802:                                              ; preds = %801, %784
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %803

803:                                              ; preds = %802, %780
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %804

804:                                              ; preds = %803, %776
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #6
  br label %961

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

809:                                              ; preds = %765, %763
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %15, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %16, align 4
  br label %822

813:                                              ; preds = %767
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %15, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %16, align 4
  br label %821

817:                                              ; preds = %772, %770, %768
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %15, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %821

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

822:                                              ; preds = %821, %809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %823

823:                                              ; preds = %822, %805
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #6
  br label %961

824:                                              ; preds = %775, %749
  %825 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %826 unwind label %640

826:                                              ; preds = %824
  br i1 %825, label %827, label %898

827:                                              ; preds = %826
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %828 unwind label %850

828:                                              ; preds = %827
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.650)
          to label %829 unwind label %854

829:                                              ; preds = %828
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef @.str.3)
          to label %830 unwind label %858

830:                                              ; preds = %829
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.651)
          to label %831 unwind label %862

831:                                              ; preds = %830
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str.18)
          to label %832 unwind label %866

832:                                              ; preds = %831
  %833 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %834 unwind label %870

834:                                              ; preds = %832
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #6
  %835 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %836 unwind label %640

836:                                              ; preds = %834
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %837 unwind label %879

837:                                              ; preds = %836
  %838 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %835, ptr noundef nonnull align 8 dereferenceable(32) %101)
          to label %839 unwind label %883

839:                                              ; preds = %837
  %840 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %838, ptr noundef @.str.20)
          to label %841 unwind label %883

841:                                              ; preds = %839
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %842 unwind label %887

842:                                              ; preds = %841
  %843 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %840, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %844 unwind label %891

844:                                              ; preds = %842
  %845 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %843, ptr noundef @.str.21)
          to label %846 unwind label %891

846:                                              ; preds = %844
  %847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %845, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %848 unwind label %891

848:                                              ; preds = %846
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #6
  invoke void @_Z4failv()
          to label %849 unwind label %640

849:                                              ; preds = %848
  br label %898

850:                                              ; preds = %827
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %15, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %16, align 4
  br label %878

854:                                              ; preds = %828
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %15, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %16, align 4
  br label %877

858:                                              ; preds = %829
  %859 = landingpad { ptr, i32 }
          cleanup
  %860 = extractvalue { ptr, i32 } %859, 0
  store ptr %860, ptr %15, align 8
  %861 = extractvalue { ptr, i32 } %859, 1
  store i32 %861, ptr %16, align 4
  br label %876

862:                                              ; preds = %830
  %863 = landingpad { ptr, i32 }
          cleanup
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %15, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %16, align 4
  br label %875

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

870:                                              ; preds = %832
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %15, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %874

874:                                              ; preds = %870, %866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %875

875:                                              ; preds = %874, %862
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %876

876:                                              ; preds = %875, %858
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %877

877:                                              ; preds = %876, %854
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %878

878:                                              ; preds = %877, %850
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #6
  br label %961

879:                                              ; preds = %836
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %15, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %16, align 4
  br label %897

883:                                              ; preds = %839, %837
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %15, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %16, align 4
  br label %896

887:                                              ; preds = %841
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %15, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %16, align 4
  br label %895

891:                                              ; preds = %846, %844, %842
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %15, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %895

895:                                              ; preds = %891, %887
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  br label %896

896:                                              ; preds = %895, %883
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %897

897:                                              ; preds = %896, %879
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #6
  br label %961

898:                                              ; preds = %849, %826
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #6
  %899 = load i32, ptr %18, align 4, !tbaa !11
  %900 = load i32, ptr %19, align 4, !tbaa !11
  %901 = mul i32 %899, %900
  %902 = zext i32 %901 to i64
  store i64 %902, ptr %103, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %104) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #6
  %903 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 6, i32 noundef 16)
          to label %904 unwind label %963

904:                                              ; preds = %898
  call void @llvm.lifetime.start.p0(i64 32, ptr %105) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %905 unwind label %967

905:                                              ; preds = %904
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.652)
          to label %906 unwind label %971

906:                                              ; preds = %905
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  store i1 false, ptr %113, align 1
  store i1 false, ptr %114, align 1
  store i1 false, ptr %116, align 1
  store i1 false, ptr %118, align 1
  store i1 false, ptr %119, align 1
  store i1 false, ptr %120, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %907 unwind label %975

907:                                              ; preds = %906
  %908 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br i1 %908, label %909, label %911

909:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #6
  store i1 true, ptr %113, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  store i1 true, ptr %114, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %910 unwind label %979

910:                                              ; preds = %909
  br label %914

911:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #6
  store i1 true, ptr %116, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #6
  store i1 true, ptr %118, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  store i1 true, ptr %119, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %912 unwind label %983

912:                                              ; preds = %911
  store i1 true, ptr %120, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %913 unwind label %987

913:                                              ; preds = %912
  br label %914

914:                                              ; preds = %913, %910
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %915 unwind label %991

915:                                              ; preds = %914
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %903, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %916 unwind label %995

916:                                              ; preds = %915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  %917 = load i1, ptr %120, align 1
  br i1 %917, label %918, label %919

918:                                              ; preds = %916
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %919

919:                                              ; preds = %918, %916
  %920 = load i1, ptr %119, align 1
  br i1 %920, label %921, label %922

921:                                              ; preds = %919
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  br label %922

922:                                              ; preds = %921, %919
  %923 = load i1, ptr %118, align 1
  br i1 %923, label %924, label %925

924:                                              ; preds = %922
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #6
  br label %925

925:                                              ; preds = %924, %922
  %926 = load i1, ptr %116, align 1
  br i1 %926, label %927, label %928

927:                                              ; preds = %925
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #6
  br label %928

928:                                              ; preds = %927, %925
  %929 = load i1, ptr %114, align 1
  br i1 %929, label %930, label %931

930:                                              ; preds = %928
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  br label %931

931:                                              ; preds = %930, %928
  %932 = load i1, ptr %113, align 1
  br i1 %932, label %933, label %934

933:                                              ; preds = %931
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  br label %934

934:                                              ; preds = %933, %931
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #6
  %935 = load i32, ptr %10, align 4, !tbaa !11
  %936 = load i32, ptr %18, align 4, !tbaa !11
  %937 = icmp ne i32 %935, %936
  br i1 %937, label %938, label %1072

938:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %126) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %126)
          to label %939 unwind label %1024

939:                                              ; preds = %938
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.653)
          to label %940 unwind label %1028

940:                                              ; preds = %939
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef @.str.3)
          to label %941 unwind label %1032

941:                                              ; preds = %940
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.190)
          to label %942 unwind label %1036

942:                                              ; preds = %941
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef @.str.18)
          to label %943 unwind label %1040

943:                                              ; preds = %942
  %944 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %945 unwind label %1044

945:                                              ; preds = %943
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #6
  %946 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %947 unwind label %963

947:                                              ; preds = %945
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %948 unwind label %1053

948:                                              ; preds = %947
  %949 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %946, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %950 unwind label %1057

950:                                              ; preds = %948
  %951 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %949, ptr noundef @.str.20)
          to label %952 unwind label %1057

952:                                              ; preds = %950
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %953 unwind label %1061

953:                                              ; preds = %952
  %954 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %951, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %955 unwind label %1065

955:                                              ; preds = %953
  %956 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %954, ptr noundef @.str.21)
          to label %957 unwind label %1065

957:                                              ; preds = %955
  %958 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %956, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %959 unwind label %1065

959:                                              ; preds = %957
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #6
  invoke void @_Z4failv()
          to label %960 unwind label %963

960:                                              ; preds = %959
  br label %1072

961:                                              ; preds = %897, %878, %823, %804, %748, %729, %700, %640
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #6
  br label %962

962:                                              ; preds = %961, %546
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #6
  br label %1702

963:                                              ; preds = %1097, %1083, %959, %945, %898
  %964 = landingpad { ptr, i32 }
          cleanup
  %965 = extractvalue { ptr, i32 } %964, 0
  store ptr %965, ptr %15, align 8
  %966 = extractvalue { ptr, i32 } %964, 1
  store i32 %966, ptr %16, align 4
  br label %1293

967:                                              ; preds = %904
  %968 = landingpad { ptr, i32 }
          cleanup
  %969 = extractvalue { ptr, i32 } %968, 0
  store ptr %969, ptr %15, align 8
  %970 = extractvalue { ptr, i32 } %968, 1
  store i32 %970, ptr %16, align 4
  br label %1023

971:                                              ; preds = %905
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %15, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %16, align 4
  br label %1022

975:                                              ; preds = %906
  %976 = landingpad { ptr, i32 }
          cleanup
  %977 = extractvalue { ptr, i32 } %976, 0
  store ptr %977, ptr %15, align 8
  %978 = extractvalue { ptr, i32 } %976, 1
  store i32 %978, ptr %16, align 4
  br label %1021

979:                                              ; preds = %909
  %980 = landingpad { ptr, i32 }
          cleanup
  %981 = extractvalue { ptr, i32 } %980, 0
  store ptr %981, ptr %15, align 8
  %982 = extractvalue { ptr, i32 } %980, 1
  store i32 %982, ptr %16, align 4
  br label %1014

983:                                              ; preds = %911
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %15, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %16, align 4
  br label %1004

987:                                              ; preds = %912
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %15, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %16, align 4
  br label %1000

991:                                              ; preds = %914
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %15, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %16, align 4
  br label %999

995:                                              ; preds = %915
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %15, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %999

999:                                              ; preds = %995, %991
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1000

1000:                                             ; preds = %999, %987
  %1001 = load i1, ptr %120, align 1
  br i1 %1001, label %1002, label %1003

1002:                                             ; preds = %1000
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %1003

1003:                                             ; preds = %1002, %1000
  br label %1004

1004:                                             ; preds = %1003, %983
  %1005 = load i1, ptr %119, align 1
  br i1 %1005, label %1006, label %1007

1006:                                             ; preds = %1004
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #6
  br label %1007

1007:                                             ; preds = %1006, %1004
  %1008 = load i1, ptr %118, align 1
  br i1 %1008, label %1009, label %1010

1009:                                             ; preds = %1007
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #6
  br label %1010

1010:                                             ; preds = %1009, %1007
  %1011 = load i1, ptr %116, align 1
  br i1 %1011, label %1012, label %1013

1012:                                             ; preds = %1010
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #6
  br label %1013

1013:                                             ; preds = %1012, %1010
  br label %1014

1014:                                             ; preds = %1013, %979
  %1015 = load i1, ptr %114, align 1
  br i1 %1015, label %1016, label %1017

1016:                                             ; preds = %1014
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #6
  br label %1017

1017:                                             ; preds = %1016, %1014
  %1018 = load i1, ptr %113, align 1
  br i1 %1018, label %1019, label %1020

1019:                                             ; preds = %1017
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #6
  br label %1020

1020:                                             ; preds = %1019, %1017
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %1021

1021:                                             ; preds = %1020, %975
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %1022

1022:                                             ; preds = %1021, %971
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %1023

1023:                                             ; preds = %1022, %967
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #6
  br label %1293

1024:                                             ; preds = %938
  %1025 = landingpad { ptr, i32 }
          cleanup
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %15, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %16, align 4
  br label %1052

1028:                                             ; preds = %939
  %1029 = landingpad { ptr, i32 }
          cleanup
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %15, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %16, align 4
  br label %1051

1032:                                             ; preds = %940
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %15, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %16, align 4
  br label %1050

1036:                                             ; preds = %941
  %1037 = landingpad { ptr, i32 }
          cleanup
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %15, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %16, align 4
  br label %1049

1040:                                             ; preds = %942
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %15, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %16, align 4
  br label %1048

1044:                                             ; preds = %943
  %1045 = landingpad { ptr, i32 }
          cleanup
  %1046 = extractvalue { ptr, i32 } %1045, 0
  store ptr %1046, ptr %15, align 8
  %1047 = extractvalue { ptr, i32 } %1045, 1
  store i32 %1047, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %1048

1048:                                             ; preds = %1044, %1040
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1049

1049:                                             ; preds = %1048, %1036
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1050

1050:                                             ; preds = %1049, %1032
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %1051

1051:                                             ; preds = %1050, %1028
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1052

1052:                                             ; preds = %1051, %1024
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #6
  br label %1293

1053:                                             ; preds = %947
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %15, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %16, align 4
  br label %1071

1057:                                             ; preds = %950, %948
  %1058 = landingpad { ptr, i32 }
          cleanup
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %15, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %16, align 4
  br label %1070

1061:                                             ; preds = %952
  %1062 = landingpad { ptr, i32 }
          cleanup
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %15, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %16, align 4
  br label %1069

1065:                                             ; preds = %957, %955, %953
  %1066 = landingpad { ptr, i32 }
          cleanup
  %1067 = extractvalue { ptr, i32 } %1066, 0
  store ptr %1067, ptr %15, align 8
  %1068 = extractvalue { ptr, i32 } %1066, 1
  store i32 %1068, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %1069

1069:                                             ; preds = %1065, %1061
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #6
  br label %1070

1070:                                             ; preds = %1069, %1057
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %1071

1071:                                             ; preds = %1070, %1053
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #6
  br label %1293

1072:                                             ; preds = %960, %934
  %1073 = load i32, ptr %11, align 4, !tbaa !11
  %1074 = load i32, ptr %19, align 4, !tbaa !11
  %1075 = icmp ne i32 %1073, %1074
  br i1 %1075, label %1076, label %1147

1076:                                             ; preds = %1072
  call void @llvm.lifetime.start.p0(i64 32, ptr %129) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %134) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %1077 unwind label %1099

1077:                                             ; preds = %1076
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef @.str.654)
          to label %1078 unwind label %1103

1078:                                             ; preds = %1077
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %131, ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.3)
          to label %1079 unwind label %1107

1079:                                             ; preds = %1078
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef @.str.192)
          to label %1080 unwind label %1111

1080:                                             ; preds = %1079
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef @.str.18)
          to label %1081 unwind label %1115

1081:                                             ; preds = %1080
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %129)
          to label %1083 unwind label %1119

1083:                                             ; preds = %1081
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #6
  %1084 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1085 unwind label %963

1085:                                             ; preds = %1083
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %1086 unwind label %1128

1086:                                             ; preds = %1085
  %1087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1084, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %1088 unwind label %1132

1088:                                             ; preds = %1086
  %1089 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1087, ptr noundef @.str.20)
          to label %1090 unwind label %1132

1090:                                             ; preds = %1088
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %1091 unwind label %1136

1091:                                             ; preds = %1090
  %1092 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1089, ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %1093 unwind label %1140

1093:                                             ; preds = %1091
  %1094 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1092, ptr noundef @.str.21)
          to label %1095 unwind label %1140

1095:                                             ; preds = %1093
  %1096 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1094, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1097 unwind label %1140

1097:                                             ; preds = %1095
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #6
  invoke void @_Z4failv()
          to label %1098 unwind label %963

1098:                                             ; preds = %1097
  br label %1147

1099:                                             ; preds = %1076
  %1100 = landingpad { ptr, i32 }
          cleanup
  %1101 = extractvalue { ptr, i32 } %1100, 0
  store ptr %1101, ptr %15, align 8
  %1102 = extractvalue { ptr, i32 } %1100, 1
  store i32 %1102, ptr %16, align 4
  br label %1127

1103:                                             ; preds = %1077
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %15, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %16, align 4
  br label %1126

1107:                                             ; preds = %1078
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %15, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %16, align 4
  br label %1125

1111:                                             ; preds = %1079
  %1112 = landingpad { ptr, i32 }
          cleanup
  %1113 = extractvalue { ptr, i32 } %1112, 0
  store ptr %1113, ptr %15, align 8
  %1114 = extractvalue { ptr, i32 } %1112, 1
  store i32 %1114, ptr %16, align 4
  br label %1124

1115:                                             ; preds = %1080
  %1116 = landingpad { ptr, i32 }
          cleanup
  %1117 = extractvalue { ptr, i32 } %1116, 0
  store ptr %1117, ptr %15, align 8
  %1118 = extractvalue { ptr, i32 } %1116, 1
  store i32 %1118, ptr %16, align 4
  br label %1123

1119:                                             ; preds = %1081
  %1120 = landingpad { ptr, i32 }
          cleanup
  %1121 = extractvalue { ptr, i32 } %1120, 0
  store ptr %1121, ptr %15, align 8
  %1122 = extractvalue { ptr, i32 } %1120, 1
  store i32 %1122, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %1123

1123:                                             ; preds = %1119, %1115
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %1124

1124:                                             ; preds = %1123, %1111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1125

1125:                                             ; preds = %1124, %1107
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %1126

1126:                                             ; preds = %1125, %1103
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %1127

1127:                                             ; preds = %1126, %1099
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #6
  br label %1293

1128:                                             ; preds = %1085
  %1129 = landingpad { ptr, i32 }
          cleanup
  %1130 = extractvalue { ptr, i32 } %1129, 0
  store ptr %1130, ptr %15, align 8
  %1131 = extractvalue { ptr, i32 } %1129, 1
  store i32 %1131, ptr %16, align 4
  br label %1146

1132:                                             ; preds = %1088, %1086
  %1133 = landingpad { ptr, i32 }
          cleanup
  %1134 = extractvalue { ptr, i32 } %1133, 0
  store ptr %1134, ptr %15, align 8
  %1135 = extractvalue { ptr, i32 } %1133, 1
  store i32 %1135, ptr %16, align 4
  br label %1145

1136:                                             ; preds = %1090
  %1137 = landingpad { ptr, i32 }
          cleanup
  %1138 = extractvalue { ptr, i32 } %1137, 0
  store ptr %1138, ptr %15, align 8
  %1139 = extractvalue { ptr, i32 } %1137, 1
  store i32 %1139, ptr %16, align 4
  br label %1144

1140:                                             ; preds = %1095, %1093, %1091
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %15, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  br label %1144

1144:                                             ; preds = %1140, %1136
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #6
  br label %1145

1145:                                             ; preds = %1144, %1132
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  br label %1146

1146:                                             ; preds = %1145, %1128
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #6
  br label %1293

1147:                                             ; preds = %1098, %1072
  call void @llvm.lifetime.start.p0(i64 24, ptr %137) #6
  %1148 = load i64, ptr %103, align 8, !tbaa !15
  %1149 = mul i64 %1148, 4
  call void @llvm.lifetime.start.p0(i64 1, ptr %138) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %1149, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %1150 unwind label %1156

1150:                                             ; preds = %1147
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #6
  store i64 0, ptr %139, align 8, !tbaa !15
  br label %1151

1151:                                             ; preds = %1197, %1150
  %1152 = load i64, ptr %139, align 8, !tbaa !15
  %1153 = load i64, ptr %103, align 8, !tbaa !15
  %1154 = icmp ult i64 %1152, %1153
  br i1 %1154, label %1160, label %1155

1155:                                             ; preds = %1151
  store i32 5, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #6
  br label %1200

1156:                                             ; preds = %1147
  %1157 = landingpad { ptr, i32 }
          cleanup
  %1158 = extractvalue { ptr, i32 } %1157, 0
  store ptr %1158, ptr %15, align 8
  %1159 = extractvalue { ptr, i32 } %1157, 1
  store i32 %1159, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #6
  br label %1292

1160:                                             ; preds = %1151
  %1161 = load i64, ptr %139, align 8, !tbaa !15
  %1162 = mul i64 %1161, 8
  %1163 = add i64 %1162, 0
  %1164 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %1163) #6
  %1165 = load i8, ptr %1164, align 1, !tbaa !17
  %1166 = load i64, ptr %139, align 8, !tbaa !15
  %1167 = mul i64 %1166, 4
  %1168 = add i64 %1167, 0
  %1169 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %1168) #6
  store i8 %1165, ptr %1169, align 1, !tbaa !17
  %1170 = load i64, ptr %139, align 8, !tbaa !15
  %1171 = mul i64 %1170, 8
  %1172 = add i64 %1171, 2
  %1173 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %1172) #6
  %1174 = load i8, ptr %1173, align 1, !tbaa !17
  %1175 = load i64, ptr %139, align 8, !tbaa !15
  %1176 = mul i64 %1175, 4
  %1177 = add i64 %1176, 1
  %1178 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %1177) #6
  store i8 %1174, ptr %1178, align 1, !tbaa !17
  %1179 = load i64, ptr %139, align 8, !tbaa !15
  %1180 = mul i64 %1179, 8
  %1181 = add i64 %1180, 4
  %1182 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %1181) #6
  %1183 = load i8, ptr %1182, align 1, !tbaa !17
  %1184 = load i64, ptr %139, align 8, !tbaa !15
  %1185 = mul i64 %1184, 4
  %1186 = add i64 %1185, 2
  %1187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %1186) #6
  store i8 %1183, ptr %1187, align 1, !tbaa !17
  %1188 = load i64, ptr %139, align 8, !tbaa !15
  %1189 = mul i64 %1188, 8
  %1190 = add i64 %1189, 6
  %1191 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %1190) #6
  %1192 = load i8, ptr %1191, align 1, !tbaa !17
  %1193 = load i64, ptr %139, align 8, !tbaa !15
  %1194 = mul i64 %1193, 4
  %1195 = add i64 %1194, 3
  %1196 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %1195) #6
  store i8 %1192, ptr %1196, align 1, !tbaa !17
  br label %1197

1197:                                             ; preds = %1160
  %1198 = load i64, ptr %139, align 8, !tbaa !15
  %1199 = add i64 %1198, 1
  store i64 %1199, ptr %139, align 8, !tbaa !15
  br label %1151, !llvm.loop !20

1200:                                             ; preds = %1155
  %1201 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %137)
          to label %1202 unwind label %1226

1202:                                             ; preds = %1200
  br i1 %1201, label %1203, label %1278

1203:                                             ; preds = %1202
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %145) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %1204 unwind label %1230

1204:                                             ; preds = %1203
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef @.str.655)
          to label %1205 unwind label %1234

1205:                                             ; preds = %1204
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %142, ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef @.str.3)
          to label %1206 unwind label %1238

1206:                                             ; preds = %1205
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %141, ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.656)
          to label %1207 unwind label %1242

1207:                                             ; preds = %1206
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %140, ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.18)
          to label %1208 unwind label %1246

1208:                                             ; preds = %1207
  %1209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %140)
          to label %1210 unwind label %1250

1210:                                             ; preds = %1208
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %145) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #6
  %1211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1212 unwind label %1226

1212:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %1213 unwind label %1259

1213:                                             ; preds = %1212
  %1214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1211, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1215 unwind label %1263

1215:                                             ; preds = %1213
  %1216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1214, ptr noundef @.str.20)
          to label %1217 unwind label %1263

1217:                                             ; preds = %1215
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %147, ptr noundef nonnull align 8 dereferenceable(24) %137)
          to label %1218 unwind label %1267

1218:                                             ; preds = %1217
  %1219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1216, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1220 unwind label %1271

1220:                                             ; preds = %1218
  %1221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1219, ptr noundef @.str.21)
          to label %1222 unwind label %1271

1222:                                             ; preds = %1220
  %1223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1221, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1224 unwind label %1271

1224:                                             ; preds = %1222
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  invoke void @_Z4failv()
          to label %1225 unwind label %1226

1225:                                             ; preds = %1224
  br label %1278

1226:                                             ; preds = %1224, %1210, %1200
  %1227 = landingpad { ptr, i32 }
          cleanup
  %1228 = extractvalue { ptr, i32 } %1227, 0
  store ptr %1228, ptr %15, align 8
  %1229 = extractvalue { ptr, i32 } %1227, 1
  store i32 %1229, ptr %16, align 4
  br label %1291

1230:                                             ; preds = %1203
  %1231 = landingpad { ptr, i32 }
          cleanup
  %1232 = extractvalue { ptr, i32 } %1231, 0
  store ptr %1232, ptr %15, align 8
  %1233 = extractvalue { ptr, i32 } %1231, 1
  store i32 %1233, ptr %16, align 4
  br label %1258

1234:                                             ; preds = %1204
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %15, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %16, align 4
  br label %1257

1238:                                             ; preds = %1205
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %15, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %16, align 4
  br label %1256

1242:                                             ; preds = %1206
  %1243 = landingpad { ptr, i32 }
          cleanup
  %1244 = extractvalue { ptr, i32 } %1243, 0
  store ptr %1244, ptr %15, align 8
  %1245 = extractvalue { ptr, i32 } %1243, 1
  store i32 %1245, ptr %16, align 4
  br label %1255

1246:                                             ; preds = %1207
  %1247 = landingpad { ptr, i32 }
          cleanup
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %15, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %16, align 4
  br label %1254

1250:                                             ; preds = %1208
  %1251 = landingpad { ptr, i32 }
          cleanup
  %1252 = extractvalue { ptr, i32 } %1251, 0
  store ptr %1252, ptr %15, align 8
  %1253 = extractvalue { ptr, i32 } %1251, 1
  store i32 %1253, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %1254

1254:                                             ; preds = %1250, %1246
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %1255

1255:                                             ; preds = %1254, %1242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1256

1256:                                             ; preds = %1255, %1238
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %1257

1257:                                             ; preds = %1256, %1234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %1258

1258:                                             ; preds = %1257, %1230
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %145) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #6
  br label %1291

1259:                                             ; preds = %1212
  %1260 = landingpad { ptr, i32 }
          cleanup
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %15, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %16, align 4
  br label %1277

1263:                                             ; preds = %1215, %1213
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %15, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %16, align 4
  br label %1276

1267:                                             ; preds = %1217
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %15, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %16, align 4
  br label %1275

1271:                                             ; preds = %1222, %1220, %1218
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %15, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1275

1275:                                             ; preds = %1271, %1267
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #6
  br label %1276

1276:                                             ; preds = %1275, %1263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1277

1277:                                             ; preds = %1276, %1259
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #6
  br label %1291

1278:                                             ; preds = %1225, %1202
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #6
  %1279 = load i32, ptr %18, align 4, !tbaa !11
  %1280 = load i32, ptr %19, align 4, !tbaa !11
  %1281 = mul i32 %1279, %1280
  %1282 = zext i32 %1281 to i64
  store i64 %1282, ptr %148, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %149) #6
  %1283 = load i64, ptr %148, align 8, !tbaa !15
  %1284 = mul i64 %1283, 3
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %149, i64 noundef %1284, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %1285 unwind label %1294

1285:                                             ; preds = %1278
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #6
  store i64 0, ptr %151, align 8, !tbaa !15
  br label %1286

1286:                                             ; preds = %1326, %1285
  %1287 = load i64, ptr %151, align 8, !tbaa !15
  %1288 = load i64, ptr %148, align 8, !tbaa !15
  %1289 = icmp ult i64 %1287, %1288
  br i1 %1289, label %1298, label %1290

1290:                                             ; preds = %1286
  store i32 8, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #6
  br label %1329

1291:                                             ; preds = %1277, %1258, %1226
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #6
  br label %1292

1292:                                             ; preds = %1291, %1156
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #6
  br label %1293

1293:                                             ; preds = %1292, %1146, %1127, %1071, %1052, %1023, %963
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #6
  br label %1702

1294:                                             ; preds = %1278
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %15, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #6
  br label %1701

1298:                                             ; preds = %1286
  %1299 = load i64, ptr %151, align 8, !tbaa !15
  %1300 = mul i64 %1299, 4
  %1301 = add i64 %1300, 0
  %1302 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1301) #6
  %1303 = load i8, ptr %1302, align 1, !tbaa !17
  %1304 = load i64, ptr %151, align 8, !tbaa !15
  %1305 = mul i64 %1304, 3
  %1306 = add i64 %1305, 0
  %1307 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %149, i64 noundef %1306) #6
  store i8 %1303, ptr %1307, align 1, !tbaa !17
  %1308 = load i64, ptr %151, align 8, !tbaa !15
  %1309 = mul i64 %1308, 4
  %1310 = add i64 %1309, 1
  %1311 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1310) #6
  %1312 = load i8, ptr %1311, align 1, !tbaa !17
  %1313 = load i64, ptr %151, align 8, !tbaa !15
  %1314 = mul i64 %1313, 3
  %1315 = add i64 %1314, 1
  %1316 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %149, i64 noundef %1315) #6
  store i8 %1312, ptr %1316, align 1, !tbaa !17
  %1317 = load i64, ptr %151, align 8, !tbaa !15
  %1318 = mul i64 %1317, 4
  %1319 = add i64 %1318, 2
  %1320 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1319) #6
  %1321 = load i8, ptr %1320, align 1, !tbaa !17
  %1322 = load i64, ptr %151, align 8, !tbaa !15
  %1323 = mul i64 %1322, 3
  %1324 = add i64 %1323, 2
  %1325 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %149, i64 noundef %1324) #6
  store i8 %1321, ptr %1325, align 1, !tbaa !17
  br label %1326

1326:                                             ; preds = %1298
  %1327 = load i64, ptr %151, align 8, !tbaa !15
  %1328 = add i64 %1327, 1
  store i64 %1328, ptr %151, align 8, !tbaa !15
  br label %1286, !llvm.loop !21

1329:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 24, ptr %152) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #6
  %1330 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %152, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef 2, i32 noundef 16)
          to label %1331 unwind label %1388

1331:                                             ; preds = %1329
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %155) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %156) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1332 unwind label %1392

1332:                                             ; preds = %1331
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %154, ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.657)
          to label %1333 unwind label %1396

1333:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  store i1 false, ptr %161, align 1
  store i1 false, ptr %162, align 1
  store i1 false, ptr %164, align 1
  store i1 false, ptr %166, align 1
  store i1 false, ptr %167, align 1
  store i1 false, ptr %168, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %1334 unwind label %1400

1334:                                             ; preds = %1333
  %1335 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br i1 %1335, label %1336, label %1338

1336:                                             ; preds = %1334
  call void @llvm.lifetime.start.p0(i64 1, ptr %160) #6
  store i1 true, ptr %161, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  store i1 true, ptr %162, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %160)
          to label %1337 unwind label %1404

1337:                                             ; preds = %1336
  br label %1341

1338:                                             ; preds = %1334
  call void @llvm.lifetime.start.p0(i64 32, ptr %163) #6
  store i1 true, ptr %164, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %165) #6
  store i1 true, ptr %166, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  store i1 true, ptr %167, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %165)
          to label %1339 unwind label %1408

1339:                                             ; preds = %1338
  store i1 true, ptr %168, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %1340 unwind label %1412

1340:                                             ; preds = %1339
  br label %1341

1341:                                             ; preds = %1340, %1337
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %153, ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %1342 unwind label %1416

1342:                                             ; preds = %1341
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1330, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1343 unwind label %1420

1343:                                             ; preds = %1342
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  %1344 = load i1, ptr %168, align 1
  br i1 %1344, label %1345, label %1346

1345:                                             ; preds = %1343
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1346

1346:                                             ; preds = %1345, %1343
  %1347 = load i1, ptr %167, align 1
  br i1 %1347, label %1348, label %1349

1348:                                             ; preds = %1346
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  br label %1349

1349:                                             ; preds = %1348, %1346
  %1350 = load i1, ptr %166, align 1
  br i1 %1350, label %1351, label %1352

1351:                                             ; preds = %1349
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #6
  br label %1352

1352:                                             ; preds = %1351, %1349
  %1353 = load i1, ptr %164, align 1
  br i1 %1353, label %1354, label %1355

1354:                                             ; preds = %1352
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  br label %1355

1355:                                             ; preds = %1354, %1352
  %1356 = load i1, ptr %162, align 1
  br i1 %1356, label %1357, label %1358

1357:                                             ; preds = %1355
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  br label %1358

1358:                                             ; preds = %1357, %1355
  %1359 = load i1, ptr %161, align 1
  br i1 %1359, label %1360, label %1361

1360:                                             ; preds = %1358
  call void @llvm.lifetime.end.p0(i64 1, ptr %160) #6
  br label %1361

1361:                                             ; preds = %1360, %1358
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  %1362 = load i32, ptr %10, align 4, !tbaa !11
  %1363 = load i32, ptr %18, align 4, !tbaa !11
  %1364 = icmp ne i32 %1362, %1363
  br i1 %1364, label %1365, label %1497

1365:                                             ; preds = %1361
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %170) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %174) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %1366 unwind label %1449

1366:                                             ; preds = %1365
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef @.str.658)
          to label %1367 unwind label %1453

1367:                                             ; preds = %1366
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.3)
          to label %1368 unwind label %1457

1368:                                             ; preds = %1367
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %170, ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef @.str.190)
          to label %1369 unwind label %1461

1369:                                             ; preds = %1368
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %169, ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.18)
          to label %1370 unwind label %1465

1370:                                             ; preds = %1369
  %1371 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1372 unwind label %1469

1372:                                             ; preds = %1370
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #6
  %1373 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1374 unwind label %1388

1374:                                             ; preds = %1372
  call void @llvm.lifetime.start.p0(i64 32, ptr %175) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %175, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %1375 unwind label %1478

1375:                                             ; preds = %1374
  %1376 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1373, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1377 unwind label %1482

1377:                                             ; preds = %1375
  %1378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1376, ptr noundef @.str.20)
          to label %1379 unwind label %1482

1379:                                             ; preds = %1377
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %176, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %1380 unwind label %1486

1380:                                             ; preds = %1379
  %1381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1378, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1382 unwind label %1490

1382:                                             ; preds = %1380
  %1383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1381, ptr noundef @.str.21)
          to label %1384 unwind label %1490

1384:                                             ; preds = %1382
  %1385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1383, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1386 unwind label %1490

1386:                                             ; preds = %1384
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  invoke void @_Z4failv()
          to label %1387 unwind label %1388

1387:                                             ; preds = %1386
  br label %1497

1388:                                             ; preds = %1522, %1508, %1386, %1372, %1329
  %1389 = landingpad { ptr, i32 }
          cleanup
  %1390 = extractvalue { ptr, i32 } %1389, 0
  store ptr %1390, ptr %15, align 8
  %1391 = extractvalue { ptr, i32 } %1389, 1
  store i32 %1391, ptr %16, align 4
  br label %1700

1392:                                             ; preds = %1331
  %1393 = landingpad { ptr, i32 }
          cleanup
  %1394 = extractvalue { ptr, i32 } %1393, 0
  store ptr %1394, ptr %15, align 8
  %1395 = extractvalue { ptr, i32 } %1393, 1
  store i32 %1395, ptr %16, align 4
  br label %1448

1396:                                             ; preds = %1332
  %1397 = landingpad { ptr, i32 }
          cleanup
  %1398 = extractvalue { ptr, i32 } %1397, 0
  store ptr %1398, ptr %15, align 8
  %1399 = extractvalue { ptr, i32 } %1397, 1
  store i32 %1399, ptr %16, align 4
  br label %1447

1400:                                             ; preds = %1333
  %1401 = landingpad { ptr, i32 }
          cleanup
  %1402 = extractvalue { ptr, i32 } %1401, 0
  store ptr %1402, ptr %15, align 8
  %1403 = extractvalue { ptr, i32 } %1401, 1
  store i32 %1403, ptr %16, align 4
  br label %1446

1404:                                             ; preds = %1336
  %1405 = landingpad { ptr, i32 }
          cleanup
  %1406 = extractvalue { ptr, i32 } %1405, 0
  store ptr %1406, ptr %15, align 8
  %1407 = extractvalue { ptr, i32 } %1405, 1
  store i32 %1407, ptr %16, align 4
  br label %1439

1408:                                             ; preds = %1338
  %1409 = landingpad { ptr, i32 }
          cleanup
  %1410 = extractvalue { ptr, i32 } %1409, 0
  store ptr %1410, ptr %15, align 8
  %1411 = extractvalue { ptr, i32 } %1409, 1
  store i32 %1411, ptr %16, align 4
  br label %1429

1412:                                             ; preds = %1339
  %1413 = landingpad { ptr, i32 }
          cleanup
  %1414 = extractvalue { ptr, i32 } %1413, 0
  store ptr %1414, ptr %15, align 8
  %1415 = extractvalue { ptr, i32 } %1413, 1
  store i32 %1415, ptr %16, align 4
  br label %1425

1416:                                             ; preds = %1341
  %1417 = landingpad { ptr, i32 }
          cleanup
  %1418 = extractvalue { ptr, i32 } %1417, 0
  store ptr %1418, ptr %15, align 8
  %1419 = extractvalue { ptr, i32 } %1417, 1
  store i32 %1419, ptr %16, align 4
  br label %1424

1420:                                             ; preds = %1342
  %1421 = landingpad { ptr, i32 }
          cleanup
  %1422 = extractvalue { ptr, i32 } %1421, 0
  store ptr %1422, ptr %15, align 8
  %1423 = extractvalue { ptr, i32 } %1421, 1
  store i32 %1423, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1424

1424:                                             ; preds = %1420, %1416
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1425

1425:                                             ; preds = %1424, %1412
  %1426 = load i1, ptr %168, align 1
  br i1 %1426, label %1427, label %1428

1427:                                             ; preds = %1425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1428

1428:                                             ; preds = %1427, %1425
  br label %1429

1429:                                             ; preds = %1428, %1408
  %1430 = load i1, ptr %167, align 1
  br i1 %1430, label %1431, label %1432

1431:                                             ; preds = %1429
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #6
  br label %1432

1432:                                             ; preds = %1431, %1429
  %1433 = load i1, ptr %166, align 1
  br i1 %1433, label %1434, label %1435

1434:                                             ; preds = %1432
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #6
  br label %1435

1435:                                             ; preds = %1434, %1432
  %1436 = load i1, ptr %164, align 1
  br i1 %1436, label %1437, label %1438

1437:                                             ; preds = %1435
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #6
  br label %1438

1438:                                             ; preds = %1437, %1435
  br label %1439

1439:                                             ; preds = %1438, %1404
  %1440 = load i1, ptr %162, align 1
  br i1 %1440, label %1441, label %1442

1441:                                             ; preds = %1439
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  br label %1442

1442:                                             ; preds = %1441, %1439
  %1443 = load i1, ptr %161, align 1
  br i1 %1443, label %1444, label %1445

1444:                                             ; preds = %1442
  call void @llvm.lifetime.end.p0(i64 1, ptr %160) #6
  br label %1445

1445:                                             ; preds = %1444, %1442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1446

1446:                                             ; preds = %1445, %1400
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1447

1447:                                             ; preds = %1446, %1396
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1448

1448:                                             ; preds = %1447, %1392
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #6
  br label %1700

1449:                                             ; preds = %1365
  %1450 = landingpad { ptr, i32 }
          cleanup
  %1451 = extractvalue { ptr, i32 } %1450, 0
  store ptr %1451, ptr %15, align 8
  %1452 = extractvalue { ptr, i32 } %1450, 1
  store i32 %1452, ptr %16, align 4
  br label %1477

1453:                                             ; preds = %1366
  %1454 = landingpad { ptr, i32 }
          cleanup
  %1455 = extractvalue { ptr, i32 } %1454, 0
  store ptr %1455, ptr %15, align 8
  %1456 = extractvalue { ptr, i32 } %1454, 1
  store i32 %1456, ptr %16, align 4
  br label %1476

1457:                                             ; preds = %1367
  %1458 = landingpad { ptr, i32 }
          cleanup
  %1459 = extractvalue { ptr, i32 } %1458, 0
  store ptr %1459, ptr %15, align 8
  %1460 = extractvalue { ptr, i32 } %1458, 1
  store i32 %1460, ptr %16, align 4
  br label %1475

1461:                                             ; preds = %1368
  %1462 = landingpad { ptr, i32 }
          cleanup
  %1463 = extractvalue { ptr, i32 } %1462, 0
  store ptr %1463, ptr %15, align 8
  %1464 = extractvalue { ptr, i32 } %1462, 1
  store i32 %1464, ptr %16, align 4
  br label %1474

1465:                                             ; preds = %1369
  %1466 = landingpad { ptr, i32 }
          cleanup
  %1467 = extractvalue { ptr, i32 } %1466, 0
  store ptr %1467, ptr %15, align 8
  %1468 = extractvalue { ptr, i32 } %1466, 1
  store i32 %1468, ptr %16, align 4
  br label %1473

1469:                                             ; preds = %1370
  %1470 = landingpad { ptr, i32 }
          cleanup
  %1471 = extractvalue { ptr, i32 } %1470, 0
  store ptr %1471, ptr %15, align 8
  %1472 = extractvalue { ptr, i32 } %1470, 1
  store i32 %1472, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1473

1473:                                             ; preds = %1469, %1465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %1474

1474:                                             ; preds = %1473, %1461
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1475

1475:                                             ; preds = %1474, %1457
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1476

1476:                                             ; preds = %1475, %1453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #6
  br label %1477

1477:                                             ; preds = %1476, %1449
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #6
  br label %1700

1478:                                             ; preds = %1374
  %1479 = landingpad { ptr, i32 }
          cleanup
  %1480 = extractvalue { ptr, i32 } %1479, 0
  store ptr %1480, ptr %15, align 8
  %1481 = extractvalue { ptr, i32 } %1479, 1
  store i32 %1481, ptr %16, align 4
  br label %1496

1482:                                             ; preds = %1377, %1375
  %1483 = landingpad { ptr, i32 }
          cleanup
  %1484 = extractvalue { ptr, i32 } %1483, 0
  store ptr %1484, ptr %15, align 8
  %1485 = extractvalue { ptr, i32 } %1483, 1
  store i32 %1485, ptr %16, align 4
  br label %1495

1486:                                             ; preds = %1379
  %1487 = landingpad { ptr, i32 }
          cleanup
  %1488 = extractvalue { ptr, i32 } %1487, 0
  store ptr %1488, ptr %15, align 8
  %1489 = extractvalue { ptr, i32 } %1487, 1
  store i32 %1489, ptr %16, align 4
  br label %1494

1490:                                             ; preds = %1384, %1382, %1380
  %1491 = landingpad { ptr, i32 }
          cleanup
  %1492 = extractvalue { ptr, i32 } %1491, 0
  store ptr %1492, ptr %15, align 8
  %1493 = extractvalue { ptr, i32 } %1491, 1
  store i32 %1493, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  br label %1494

1494:                                             ; preds = %1490, %1486
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #6
  br label %1495

1495:                                             ; preds = %1494, %1482
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  br label %1496

1496:                                             ; preds = %1495, %1478
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #6
  br label %1700

1497:                                             ; preds = %1387, %1361
  %1498 = load i32, ptr %11, align 4, !tbaa !11
  %1499 = load i32, ptr %19, align 4, !tbaa !11
  %1500 = icmp ne i32 %1498, %1499
  br i1 %1500, label %1501, label %1572

1501:                                             ; preds = %1497
  call void @llvm.lifetime.start.p0(i64 32, ptr %177) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %179) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %182)
          to label %1502 unwind label %1524

1502:                                             ; preds = %1501
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %180, ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.659)
          to label %1503 unwind label %1528

1503:                                             ; preds = %1502
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %179, ptr noundef nonnull align 8 dereferenceable(32) %180, ptr noundef @.str.3)
          to label %1504 unwind label %1532

1504:                                             ; preds = %1503
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef @.str.192)
          to label %1505 unwind label %1536

1505:                                             ; preds = %1504
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %177, ptr noundef nonnull align 8 dereferenceable(32) %178, ptr noundef @.str.18)
          to label %1506 unwind label %1540

1506:                                             ; preds = %1505
  %1507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %1508 unwind label %1544

1508:                                             ; preds = %1506
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #6
  %1509 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1510 unwind label %1388

1510:                                             ; preds = %1508
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %183, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %1511 unwind label %1553

1511:                                             ; preds = %1510
  %1512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1509, ptr noundef nonnull align 8 dereferenceable(32) %183)
          to label %1513 unwind label %1557

1513:                                             ; preds = %1511
  %1514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1512, ptr noundef @.str.20)
          to label %1515 unwind label %1557

1515:                                             ; preds = %1513
  call void @llvm.lifetime.start.p0(i64 32, ptr %184) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %184, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %1516 unwind label %1561

1516:                                             ; preds = %1515
  %1517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1514, ptr noundef nonnull align 8 dereferenceable(32) %184)
          to label %1518 unwind label %1565

1518:                                             ; preds = %1516
  %1519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1517, ptr noundef @.str.21)
          to label %1520 unwind label %1565

1520:                                             ; preds = %1518
  %1521 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1519, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1522 unwind label %1565

1522:                                             ; preds = %1520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  invoke void @_Z4failv()
          to label %1523 unwind label %1388

1523:                                             ; preds = %1522
  br label %1572

1524:                                             ; preds = %1501
  %1525 = landingpad { ptr, i32 }
          cleanup
  %1526 = extractvalue { ptr, i32 } %1525, 0
  store ptr %1526, ptr %15, align 8
  %1527 = extractvalue { ptr, i32 } %1525, 1
  store i32 %1527, ptr %16, align 4
  br label %1552

1528:                                             ; preds = %1502
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %15, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %16, align 4
  br label %1551

1532:                                             ; preds = %1503
  %1533 = landingpad { ptr, i32 }
          cleanup
  %1534 = extractvalue { ptr, i32 } %1533, 0
  store ptr %1534, ptr %15, align 8
  %1535 = extractvalue { ptr, i32 } %1533, 1
  store i32 %1535, ptr %16, align 4
  br label %1550

1536:                                             ; preds = %1504
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %15, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %16, align 4
  br label %1549

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

1544:                                             ; preds = %1506
  %1545 = landingpad { ptr, i32 }
          cleanup
  %1546 = extractvalue { ptr, i32 } %1545, 0
  store ptr %1546, ptr %15, align 8
  %1547 = extractvalue { ptr, i32 } %1545, 1
  store i32 %1547, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1548

1548:                                             ; preds = %1544, %1540
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %1549

1549:                                             ; preds = %1548, %1536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1550

1550:                                             ; preds = %1549, %1532
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1551

1551:                                             ; preds = %1550, %1528
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  br label %1552

1552:                                             ; preds = %1551, %1524
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #6
  br label %1700

1553:                                             ; preds = %1510
  %1554 = landingpad { ptr, i32 }
          cleanup
  %1555 = extractvalue { ptr, i32 } %1554, 0
  store ptr %1555, ptr %15, align 8
  %1556 = extractvalue { ptr, i32 } %1554, 1
  store i32 %1556, ptr %16, align 4
  br label %1571

1557:                                             ; preds = %1513, %1511
  %1558 = landingpad { ptr, i32 }
          cleanup
  %1559 = extractvalue { ptr, i32 } %1558, 0
  store ptr %1559, ptr %15, align 8
  %1560 = extractvalue { ptr, i32 } %1558, 1
  store i32 %1560, ptr %16, align 4
  br label %1570

1561:                                             ; preds = %1515
  %1562 = landingpad { ptr, i32 }
          cleanup
  %1563 = extractvalue { ptr, i32 } %1562, 0
  store ptr %1563, ptr %15, align 8
  %1564 = extractvalue { ptr, i32 } %1562, 1
  store i32 %1564, ptr %16, align 4
  br label %1569

1565:                                             ; preds = %1520, %1518, %1516
  %1566 = landingpad { ptr, i32 }
          cleanup
  %1567 = extractvalue { ptr, i32 } %1566, 0
  store ptr %1567, ptr %15, align 8
  %1568 = extractvalue { ptr, i32 } %1566, 1
  store i32 %1568, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #6
  br label %1569

1569:                                             ; preds = %1565, %1561
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #6
  br label %1570

1570:                                             ; preds = %1569, %1557
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  br label %1571

1571:                                             ; preds = %1570, %1553
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #6
  br label %1700

1572:                                             ; preds = %1523, %1497
  call void @llvm.lifetime.start.p0(i64 24, ptr %185) #6
  %1573 = load i64, ptr %148, align 8, !tbaa !15
  %1574 = mul i64 %1573, 3
  call void @llvm.lifetime.start.p0(i64 1, ptr %186) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %1574, ptr noundef nonnull align 1 dereferenceable(1) %186)
          to label %1575 unwind label %1581

1575:                                             ; preds = %1572
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %186) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %187) #6
  store i64 0, ptr %187, align 8, !tbaa !15
  br label %1576

1576:                                             ; preds = %1613, %1575
  %1577 = load i64, ptr %187, align 8, !tbaa !15
  %1578 = load i64, ptr %148, align 8, !tbaa !15
  %1579 = icmp ult i64 %1577, %1578
  br i1 %1579, label %1585, label %1580

1580:                                             ; preds = %1576
  store i32 11, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %187) #6
  br label %1616

1581:                                             ; preds = %1572
  %1582 = landingpad { ptr, i32 }
          cleanup
  %1583 = extractvalue { ptr, i32 } %1582, 0
  store ptr %1583, ptr %15, align 8
  %1584 = extractvalue { ptr, i32 } %1582, 1
  store i32 %1584, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %186) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %186) #6
  br label %1699

1585:                                             ; preds = %1576
  %1586 = load i64, ptr %187, align 8, !tbaa !15
  %1587 = mul i64 %1586, 6
  %1588 = add i64 %1587, 0
  %1589 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %1588) #6
  %1590 = load i8, ptr %1589, align 1, !tbaa !17
  %1591 = load i64, ptr %187, align 8, !tbaa !15
  %1592 = mul i64 %1591, 3
  %1593 = add i64 %1592, 0
  %1594 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %1593) #6
  store i8 %1590, ptr %1594, align 1, !tbaa !17
  %1595 = load i64, ptr %187, align 8, !tbaa !15
  %1596 = mul i64 %1595, 6
  %1597 = add i64 %1596, 2
  %1598 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %1597) #6
  %1599 = load i8, ptr %1598, align 1, !tbaa !17
  %1600 = load i64, ptr %187, align 8, !tbaa !15
  %1601 = mul i64 %1600, 3
  %1602 = add i64 %1601, 1
  %1603 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %1602) #6
  store i8 %1599, ptr %1603, align 1, !tbaa !17
  %1604 = load i64, ptr %187, align 8, !tbaa !15
  %1605 = mul i64 %1604, 6
  %1606 = add i64 %1605, 4
  %1607 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %1606) #6
  %1608 = load i8, ptr %1607, align 1, !tbaa !17
  %1609 = load i64, ptr %187, align 8, !tbaa !15
  %1610 = mul i64 %1609, 3
  %1611 = add i64 %1610, 2
  %1612 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %1611) #6
  store i8 %1608, ptr %1612, align 1, !tbaa !17
  br label %1613

1613:                                             ; preds = %1585
  %1614 = load i64, ptr %187, align 8, !tbaa !15
  %1615 = add i64 %1614, 1
  store i64 %1615, ptr %187, align 8, !tbaa !15
  br label %1576, !llvm.loop !22

1616:                                             ; preds = %1580
  %1617 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 8 dereferenceable(24) %185)
          to label %1618 unwind label %1642

1618:                                             ; preds = %1616
  br i1 %1617, label %1619, label %1694

1619:                                             ; preds = %1618
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %193)
          to label %1620 unwind label %1646

1620:                                             ; preds = %1619
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %191, ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef @.str.660)
          to label %1621 unwind label %1650

1621:                                             ; preds = %1620
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef @.str.3)
          to label %1622 unwind label %1654

1622:                                             ; preds = %1621
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef @.str.661)
          to label %1623 unwind label %1658

1623:                                             ; preds = %1622
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %188, ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef @.str.18)
          to label %1624 unwind label %1662

1624:                                             ; preds = %1623
  %1625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %1626 unwind label %1666

1626:                                             ; preds = %1624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  %1627 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1628 unwind label %1642

1628:                                             ; preds = %1626
  call void @llvm.lifetime.start.p0(i64 32, ptr %194) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %194, ptr noundef nonnull align 8 dereferenceable(24) %149)
          to label %1629 unwind label %1675

1629:                                             ; preds = %1628
  %1630 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1627, ptr noundef nonnull align 8 dereferenceable(32) %194)
          to label %1631 unwind label %1679

1631:                                             ; preds = %1629
  %1632 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1630, ptr noundef @.str.20)
          to label %1633 unwind label %1679

1633:                                             ; preds = %1631
  call void @llvm.lifetime.start.p0(i64 32, ptr %195) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %195, ptr noundef nonnull align 8 dereferenceable(24) %185)
          to label %1634 unwind label %1683

1634:                                             ; preds = %1633
  %1635 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1632, ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %1636 unwind label %1687

1636:                                             ; preds = %1634
  %1637 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1635, ptr noundef @.str.21)
          to label %1638 unwind label %1687

1638:                                             ; preds = %1636
  %1639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1637, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1640 unwind label %1687

1640:                                             ; preds = %1638
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #6
  invoke void @_Z4failv()
          to label %1641 unwind label %1642

1641:                                             ; preds = %1640
  br label %1694

1642:                                             ; preds = %1640, %1626, %1616
  %1643 = landingpad { ptr, i32 }
          cleanup
  %1644 = extractvalue { ptr, i32 } %1643, 0
  store ptr %1644, ptr %15, align 8
  %1645 = extractvalue { ptr, i32 } %1643, 1
  store i32 %1645, ptr %16, align 4
  br label %1698

1646:                                             ; preds = %1619
  %1647 = landingpad { ptr, i32 }
          cleanup
  %1648 = extractvalue { ptr, i32 } %1647, 0
  store ptr %1648, ptr %15, align 8
  %1649 = extractvalue { ptr, i32 } %1647, 1
  store i32 %1649, ptr %16, align 4
  br label %1674

1650:                                             ; preds = %1620
  %1651 = landingpad { ptr, i32 }
          cleanup
  %1652 = extractvalue { ptr, i32 } %1651, 0
  store ptr %1652, ptr %15, align 8
  %1653 = extractvalue { ptr, i32 } %1651, 1
  store i32 %1653, ptr %16, align 4
  br label %1673

1654:                                             ; preds = %1621
  %1655 = landingpad { ptr, i32 }
          cleanup
  %1656 = extractvalue { ptr, i32 } %1655, 0
  store ptr %1656, ptr %15, align 8
  %1657 = extractvalue { ptr, i32 } %1655, 1
  store i32 %1657, ptr %16, align 4
  br label %1672

1658:                                             ; preds = %1622
  %1659 = landingpad { ptr, i32 }
          cleanup
  %1660 = extractvalue { ptr, i32 } %1659, 0
  store ptr %1660, ptr %15, align 8
  %1661 = extractvalue { ptr, i32 } %1659, 1
  store i32 %1661, ptr %16, align 4
  br label %1671

1662:                                             ; preds = %1623
  %1663 = landingpad { ptr, i32 }
          cleanup
  %1664 = extractvalue { ptr, i32 } %1663, 0
  store ptr %1664, ptr %15, align 8
  %1665 = extractvalue { ptr, i32 } %1663, 1
  store i32 %1665, ptr %16, align 4
  br label %1670

1666:                                             ; preds = %1624
  %1667 = landingpad { ptr, i32 }
          cleanup
  %1668 = extractvalue { ptr, i32 } %1667, 0
  store ptr %1668, ptr %15, align 8
  %1669 = extractvalue { ptr, i32 } %1667, 1
  store i32 %1669, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  br label %1670

1670:                                             ; preds = %1666, %1662
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1671

1671:                                             ; preds = %1670, %1658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  br label %1672

1672:                                             ; preds = %1671, %1654
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %1673

1673:                                             ; preds = %1672, %1650
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #6
  br label %1674

1674:                                             ; preds = %1673, %1646
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #6
  br label %1698

1675:                                             ; preds = %1628
  %1676 = landingpad { ptr, i32 }
          cleanup
  %1677 = extractvalue { ptr, i32 } %1676, 0
  store ptr %1677, ptr %15, align 8
  %1678 = extractvalue { ptr, i32 } %1676, 1
  store i32 %1678, ptr %16, align 4
  br label %1693

1679:                                             ; preds = %1631, %1629
  %1680 = landingpad { ptr, i32 }
          cleanup
  %1681 = extractvalue { ptr, i32 } %1680, 0
  store ptr %1681, ptr %15, align 8
  %1682 = extractvalue { ptr, i32 } %1680, 1
  store i32 %1682, ptr %16, align 4
  br label %1692

1683:                                             ; preds = %1633
  %1684 = landingpad { ptr, i32 }
          cleanup
  %1685 = extractvalue { ptr, i32 } %1684, 0
  store ptr %1685, ptr %15, align 8
  %1686 = extractvalue { ptr, i32 } %1684, 1
  store i32 %1686, ptr %16, align 4
  br label %1691

1687:                                             ; preds = %1638, %1636, %1634
  %1688 = landingpad { ptr, i32 }
          cleanup
  %1689 = extractvalue { ptr, i32 } %1688, 0
  store ptr %1689, ptr %15, align 8
  %1690 = extractvalue { ptr, i32 } %1688, 1
  store i32 %1690, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #6
  br label %1691

1691:                                             ; preds = %1687, %1683
  call void @llvm.lifetime.end.p0(i64 32, ptr %195) #6
  br label %1692

1692:                                             ; preds = %1691, %1679
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %1693

1693:                                             ; preds = %1692, %1675
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #6
  br label %1698

1694:                                             ; preds = %1641, %1618
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %185) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %185) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %152) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #6
  store i32 0, ptr %31, align 4
  br label %1695

1695:                                             ; preds = %1694, %294
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #6
  %1696 = load i32, ptr %31, align 4
  switch i32 %1696, label %1709 [
    i32 0, label %1697
    i32 1, label %1697
  ]

1697:                                             ; preds = %1695, %1695
  ret void

1698:                                             ; preds = %1693, %1674, %1642
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %185) #6
  br label %1699

1699:                                             ; preds = %1698, %1581
  call void @llvm.lifetime.end.p0(i64 24, ptr %185) #6
  br label %1700

1700:                                             ; preds = %1699, %1571, %1552, %1496, %1477, %1448, %1388
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %152) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #6
  br label %1701

1701:                                             ; preds = %1700, %1294
  call void @llvm.lifetime.end.p0(i64 24, ptr %149) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #6
  br label %1702

1702:                                             ; preds = %1701, %1293, %962, %532, %508, %476, %446, %427, %371, %352, %293, %274, %242
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #6
  br label %1703

1703:                                             ; preds = %1702, %238
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #6
  br label %1704

1704:                                             ; preds = %1703
  %1705 = load ptr, ptr %15, align 8
  %1706 = load i32, ptr %16, align 4
  %1707 = insertvalue { ptr, i32 } poison, ptr %1705, 0
  %1708 = insertvalue { ptr, i32 } %1707, i32 %1706, 1
  resume { ptr, i32 } %1708

1709:                                             ; preds = %1695
  unreachable
}

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!7, !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = distinct !{!21, !19}
!22 = distinct !{!22, !19}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%"class.std::allocator.0" = type { i8 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.2 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.646 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.647 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.653 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.658 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.659 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.661 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z4failv() local_unnamed_addr #0

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #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 #2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13assertNoErrorj(i32 noundef) local_unnamed_addr #0

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6md5sumB5cxx11RKSt6vectorIhSaIhEE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #0

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

declare noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES5_RKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIbENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local void @_Z17testPngSuiteImageRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_bjjS6_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, i1 noundef zeroext %2, i32 noundef %3, i32 noundef %4, ptr noundef nonnull align 8 dereferenceable(32) %5) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca %"class.std::vector", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca i8, align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i8, align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator", align 1
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::vector", align 8
  %51 = alloca %"class.std::allocator.0", align 1
  %52 = alloca %"class.std::vector", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca %"class.std::allocator", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::allocator", align 1
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::vector", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::allocator", align 1
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::allocator", align 1
  %95 = alloca %"class.std::allocator", align 1
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator", align 1
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::allocator", align 1
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::vector", align 8
  %115 = alloca %"class.std::allocator.0", align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator", align 1
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::vector", align 8
  %125 = alloca %"class.std::allocator.0", align 1
  %126 = alloca %"class.std::vector", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::allocator", align 1
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca %"class.std::allocator", align 1
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::allocator", align 1
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::allocator", align 1
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::allocator", align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::vector", align 8
  %154 = alloca %"class.std::allocator.0", align 1
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::allocator", align 1
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  store i32 %3, ptr %7, align 4, !tbaa !5
  store i32 %4, ptr %8, align 4, !tbaa !5
  %163 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.640)
  %164 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %165 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %166 unwind label %192

166:                                              ; preds = %6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #6
  %167 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef 6, i32 noundef 8)
          to label %168 unwind label %194

168:                                              ; preds = %166
  br i1 %2, label %169, label %224

169:                                              ; preds = %168
  %.not558 = icmp eq i32 %167, 0
  br i1 %.not558, label %170, label %1066

170:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %171 unwind label %196

171:                                              ; preds = %170
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.641)
          to label %172 unwind label %198

172:                                              ; preds = %171
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.3)
          to label %173 unwind label %200

173:                                              ; preds = %172
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.642)
          to label %174 unwind label %202

174:                                              ; preds = %173
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.18)
          to label %175 unwind label %204

175:                                              ; preds = %174
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %177 unwind label %206

177:                                              ; preds = %175
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  %178 = 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.19)
          to label %179 unwind label %194

179:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #6
  store i8 1, ptr %21, align 1, !tbaa !9
  invoke void @_Z8valtostrIbENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %180 unwind label %213

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

182:                                              ; preds = %180
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %181, ptr noundef nonnull @.str.20)
          to label %184 unwind label %215

184:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #6
  store i8 0, ptr %23, align 1, !tbaa !9
  invoke void @_Z8valtostrIbENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %185 unwind label %217

185:                                              ; preds = %184
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %183, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %187 unwind label %219

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

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

191:                                              ; preds = %189
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  invoke void @_Z4failv()
          to label %1066 unwind label %194

192:                                              ; preds = %6
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %1072

194:                                              ; preds = %356, %341, %302, %288, %249, %235, %224, %191, %177, %166
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %1071

196:                                              ; preds = %170
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %212

198:                                              ; preds = %171
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %211

200:                                              ; preds = %172
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %210

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

204:                                              ; preds = %174
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %208

206:                                              ; preds = %175
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %208

208:                                              ; preds = %206, %204
  %.pn450 = phi { ptr, i32 } [ %207, %206 ], [ %205, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %209

209:                                              ; preds = %208, %202
  %.pn450.pn = phi { ptr, i32 } [ %.pn450, %208 ], [ %203, %202 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  br label %210

210:                                              ; preds = %209, %200
  %.pn450.pn.pn = phi { ptr, i32 } [ %.pn450.pn, %209 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %211

211:                                              ; preds = %210, %198
  %.pn450.pn.pn.pn = phi { ptr, i32 } [ %.pn450.pn.pn, %210 ], [ %199, %198 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %212

212:                                              ; preds = %211, %196
  %.pn450.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn450.pn.pn.pn, %211 ], [ %197, %196 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %1071

213:                                              ; preds = %179
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %223

215:                                              ; preds = %182, %180
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %222

217:                                              ; preds = %184
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %221

219:                                              ; preds = %189, %187, %185
  %220 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %221

221:                                              ; preds = %219, %217
  %.pn456 = phi { ptr, i32 } [ %220, %219 ], [ %218, %217 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %222

222:                                              ; preds = %221, %215
  %.pn456.pn = phi { ptr, i32 } [ %.pn456, %221 ], [ %216, %215 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %223

223:                                              ; preds = %222, %213
  %.pn456.pn.pn = phi { ptr, i32 } [ %.pn456.pn, %222 ], [ %214, %213 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  br label %1071

224:                                              ; preds = %168
  invoke void @_Z13assertNoErrorj(i32 noundef %167)
          to label %225 unwind label %194

225:                                              ; preds = %224
  %226 = load i32, ptr %7, align 4, !tbaa !5
  %227 = load i32, ptr %12, align 4, !tbaa !5
  %.not = icmp eq i32 %226, %227
  br i1 %.not, label %278, label %228

228:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %229 unwind label %250

229:                                              ; preds = %228
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.643)
          to label %230 unwind label %252

230:                                              ; preds = %229
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.3)
          to label %231 unwind label %254

231:                                              ; preds = %230
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.190)
          to label %232 unwind label %256

232:                                              ; preds = %231
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.18)
          to label %233 unwind label %258

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

235:                                              ; preds = %233
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  %236 = 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.19)
          to label %237 unwind label %194

237:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %238 unwind label %267

238:                                              ; preds = %237
  %239 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %240 unwind label %269

240:                                              ; preds = %238
  %241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %239, ptr noundef nonnull @.str.20)
          to label %242 unwind label %269

242:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %243 unwind label %271

243:                                              ; preds = %242
  %244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %245 unwind label %273

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull @.str.21)
          to label %247 unwind label %273

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

249:                                              ; preds = %247
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  invoke void @_Z4failv()
          to label %278 unwind label %194

250:                                              ; preds = %228
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %266

252:                                              ; preds = %229
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %265

254:                                              ; preds = %230
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %264

256:                                              ; preds = %231
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %263

258:                                              ; preds = %232
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %262

260:                                              ; preds = %233
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %262

262:                                              ; preds = %260, %258
  %.pn = phi { ptr, i32 } [ %261, %260 ], [ %259, %258 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %263

263:                                              ; preds = %262, %256
  %.pn.pn = phi { ptr, i32 } [ %.pn, %262 ], [ %257, %256 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  br label %264

264:                                              ; preds = %263, %254
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %263 ], [ %255, %254 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %265

265:                                              ; preds = %264, %252
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %264 ], [ %253, %252 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %266

266:                                              ; preds = %265, %250
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %265 ], [ %251, %250 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  br label %1071

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

269:                                              ; preds = %240, %238
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %276

271:                                              ; preds = %242
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %275

273:                                              ; preds = %247, %245, %243
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %275

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

276:                                              ; preds = %275, %269
  %.pn291.pn = phi { ptr, i32 } [ %.pn291, %275 ], [ %270, %269 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %277

277:                                              ; preds = %276, %267
  %.pn291.pn.pn = phi { ptr, i32 } [ %.pn291.pn, %276 ], [ %268, %267 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %1071

278:                                              ; preds = %249, %225
  %279 = load i32, ptr %8, align 4, !tbaa !5
  %280 = load i32, ptr %13, align 4, !tbaa !5
  %.not295 = icmp eq i32 %279, %280
  br i1 %.not295, label %331, label %281

281:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %282 unwind label %303

282:                                              ; preds = %281
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.644)
          to label %283 unwind label %305

283:                                              ; preds = %282
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.3)
          to label %284 unwind label %307

284:                                              ; preds = %283
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.192)
          to label %285 unwind label %309

285:                                              ; preds = %284
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.18)
          to label %286 unwind label %311

286:                                              ; preds = %285
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %288 unwind label %313

288:                                              ; preds = %286
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  %289 = 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.19)
          to label %290 unwind label %194

290:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %291 unwind label %320

291:                                              ; preds = %290
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %293 unwind label %322

293:                                              ; preds = %291
  %294 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef nonnull @.str.20)
          to label %295 unwind label %322

295:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %296 unwind label %324

296:                                              ; preds = %295
  %297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %294, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %298 unwind label %326

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

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

302:                                              ; preds = %300
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  invoke void @_Z4failv()
          to label %331 unwind label %194

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

305:                                              ; preds = %282
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %318

307:                                              ; preds = %283
  %308 = landingpad { ptr, i32 }
          cleanup
  br label %317

309:                                              ; preds = %284
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %316

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

313:                                              ; preds = %286
  %314 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %315

315:                                              ; preds = %313, %311
  %.pn296 = phi { ptr, i32 } [ %314, %313 ], [ %312, %311 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %316

316:                                              ; preds = %315, %309
  %.pn296.pn = phi { ptr, i32 } [ %.pn296, %315 ], [ %310, %309 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %317

317:                                              ; preds = %316, %307
  %.pn296.pn.pn = phi { ptr, i32 } [ %.pn296.pn, %316 ], [ %308, %307 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %318

318:                                              ; preds = %317, %305
  %.pn296.pn.pn.pn = phi { ptr, i32 } [ %.pn296.pn.pn, %317 ], [ %306, %305 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %319

319:                                              ; preds = %318, %303
  %.pn296.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn296.pn.pn.pn, %318 ], [ %304, %303 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #6
  br label %1071

320:                                              ; preds = %290
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %330

322:                                              ; preds = %293, %291
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %329

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

326:                                              ; preds = %300, %298, %296
  %327 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %328

328:                                              ; preds = %326, %324
  %.pn302 = phi { ptr, i32 } [ %327, %326 ], [ %325, %324 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  br label %329

329:                                              ; preds = %328, %322
  %.pn302.pn = phi { ptr, i32 } [ %.pn302, %328 ], [ %323, %322 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %330

330:                                              ; preds = %329, %320
  %.pn302.pn.pn = phi { ptr, i32 } [ %.pn302.pn, %329 ], [ %321, %320 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %1071

331:                                              ; preds = %302, %278
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  invoke void @_Z6md5sumB5cxx11RKSt6vectorIhSaIhEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %332 unwind label %357

332:                                              ; preds = %331
  %333 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br i1 %333, label %334, label %390

334:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %46) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %335 unwind label %359

335:                                              ; preds = %334
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.645)
          to label %336 unwind label %361

336:                                              ; preds = %335
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.3)
          to label %337 unwind label %363

337:                                              ; preds = %336
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.646)
          to label %338 unwind label %365

338:                                              ; preds = %337
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.18)
          to label %339 unwind label %367

339:                                              ; preds = %338
  %340 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %341 unwind label %369

341:                                              ; preds = %339
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  %342 = 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.19)
          to label %343 unwind label %194

343:                                              ; preds = %341
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  invoke void @_Z8valtostrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES5_RKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %344 unwind label %376

344:                                              ; preds = %343
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %342, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %346 unwind label %378

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

348:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  invoke void @_Z6md5sumB5cxx11RKSt6vectorIhSaIhEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %349 unwind label %380

349:                                              ; preds = %348
  invoke void @_Z8valtostrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES5_RKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %350 unwind label %382

350:                                              ; preds = %349
  %351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %352 unwind label %384

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

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

356:                                              ; preds = %354
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  invoke void @_Z4failv()
          to label %390 unwind label %194

357:                                              ; preds = %331
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br label %1071

359:                                              ; preds = %334
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %375

361:                                              ; preds = %335
  %362 = landingpad { ptr, i32 }
          cleanup
  br label %374

363:                                              ; preds = %336
  %364 = landingpad { ptr, i32 }
          cleanup
  br label %373

365:                                              ; preds = %337
  %366 = landingpad { ptr, i32 }
          cleanup
  br label %372

367:                                              ; preds = %338
  %368 = landingpad { ptr, i32 }
          cleanup
  br label %371

369:                                              ; preds = %339
  %370 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %371

371:                                              ; preds = %369, %367
  %.pn306 = phi { ptr, i32 } [ %370, %369 ], [ %368, %367 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %372

372:                                              ; preds = %371, %365
  %.pn306.pn = phi { ptr, i32 } [ %.pn306, %371 ], [ %366, %365 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %373

373:                                              ; preds = %372, %363
  %.pn306.pn.pn = phi { ptr, i32 } [ %.pn306.pn, %372 ], [ %364, %363 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %374

374:                                              ; preds = %373, %361
  %.pn306.pn.pn.pn = phi { ptr, i32 } [ %.pn306.pn.pn, %373 ], [ %362, %361 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %375

375:                                              ; preds = %374, %359
  %.pn306.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn306.pn.pn.pn, %374 ], [ %360, %359 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  br label %1071

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

378:                                              ; preds = %346, %344
  %379 = landingpad { ptr, i32 }
          cleanup
  br label %388

380:                                              ; preds = %348
  %381 = landingpad { ptr, i32 }
          cleanup
  br label %387

382:                                              ; preds = %349
  %383 = landingpad { ptr, i32 }
          cleanup
  br label %386

384:                                              ; preds = %354, %352, %350
  %385 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %386

386:                                              ; preds = %384, %382
  %.pn312 = phi { ptr, i32 } [ %385, %384 ], [ %383, %382 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %387

387:                                              ; preds = %386, %380
  %.pn312.pn = phi { ptr, i32 } [ %.pn312, %386 ], [ %381, %380 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #6
  br label %388

388:                                              ; preds = %387, %378
  %.pn312.pn.pn = phi { ptr, i32 } [ %.pn312.pn, %387 ], [ %379, %378 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %389

389:                                              ; preds = %388, %376
  %.pn312.pn.pn.pn = phi { ptr, i32 } [ %.pn312.pn.pn, %388 ], [ %377, %376 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  br label %1071

390:                                              ; preds = %356, %332
  %391 = load i32, ptr %12, align 4, !tbaa !5
  %392 = load i32, ptr %13, align 4, !tbaa !5
  %393 = mul i32 %392, %391
  %394 = zext i32 %393 to i64
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %50) #6
  %395 = mul nuw nsw i64 %394, 3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %395, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %396 unwind label %398

396:                                              ; preds = %390
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #6
  %.not572 = icmp eq i32 %393, 0
  br i1 %.not572, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %.lr.ph, %396
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #6
  %397 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef 2, i32 noundef 8)
          to label %416 unwind label %451

398:                                              ; preds = %390
  %399 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #6
  br label %646

.lr.ph:                                           ; preds = %396, %.lr.ph
  %.0284559 = phi i64 [ %415, %.lr.ph ], [ 0, %396 ]
  %400 = shl nuw nsw i64 %.0284559, 2
  %401 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %400) #6
  %402 = load i8, ptr %401, align 1, !tbaa !11
  %403 = mul nuw nsw i64 %.0284559, 3
  %404 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %403) #6
  store i8 %402, ptr %404, align 1, !tbaa !11
  %405 = or disjoint i64 %400, 1
  %406 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %405) #6
  %407 = load i8, ptr %406, align 1, !tbaa !11
  %408 = add nuw nsw i64 %403, 1
  %409 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %408) #6
  store i8 %407, ptr %409, align 1, !tbaa !11
  %410 = or disjoint i64 %400, 2
  %411 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %410) #6
  %412 = load i8, ptr %411, align 1, !tbaa !11
  %413 = add nuw nsw i64 %403, 2
  %414 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %413) #6
  store i8 %412, ptr %414, align 1, !tbaa !11
  %415 = add nuw nsw i64 %.0284559, 1
  %exitcond.not = icmp eq i64 %415, %394
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !12

416:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %417 unwind label %453

417:                                              ; preds = %416
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.647)
          to label %418 unwind label %455

418:                                              ; preds = %417
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %419 unwind label %457

419:                                              ; preds = %418
  %420 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br i1 %420, label %421, label %422

421:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %424 unwind label %.critedge470.thread

422:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %62) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %423 unwind label %.critedge469.thread

423:                                              ; preds = %422
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %424 unwind label %.thread

424:                                              ; preds = %423, %421
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %425 unwind label %462

425:                                              ; preds = %424
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %397, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %426 unwind label %464

426:                                              ; preds = %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br i1 %420, label %.critedge497, label %.critedge

.critedge:                                        ; preds = %426
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  br label %.critedge467

.critedge497:                                     ; preds = %426
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  br label %.critedge467

.critedge467:                                     ; preds = %.critedge, %.critedge497
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  %427 = load i32, ptr %7, align 4, !tbaa !5
  %428 = load i32, ptr %12, align 4, !tbaa !5
  %.not325 = icmp eq i32 %427, %428
  br i1 %.not325, label %498, label %429

429:                                              ; preds = %.critedge467
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %430 unwind label %470

430:                                              ; preds = %429
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.648)
          to label %431 unwind label %472

431:                                              ; preds = %430
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.3)
          to label %432 unwind label %474

432:                                              ; preds = %431
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.190)
          to label %433 unwind label %476

433:                                              ; preds = %432
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.18)
          to label %434 unwind label %478

434:                                              ; preds = %433
  %435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %436 unwind label %480

436:                                              ; preds = %434
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  %437 = 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.19)
          to label %438 unwind label %451

438:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %439 unwind label %487

439:                                              ; preds = %438
  %440 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %437, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %441 unwind label %489

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

443:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %444 unwind label %491

444:                                              ; preds = %443
  %445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %442, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %446 unwind label %493

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

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

450:                                              ; preds = %448
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  invoke void @_Z4failv()
          to label %498 unwind label %451

451:                                              ; preds = %575, %561, %551, %522, %508, %450, %436, %._crit_edge
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %645

453:                                              ; preds = %416
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %469

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

457:                                              ; preds = %418
  %458 = landingpad { ptr, i32 }
          cleanup
  br label %467

.critedge470.thread:                              ; preds = %421
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge470

.critedge469.thread:                              ; preds = %422
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  br label %.critedge472

.thread:                                          ; preds = %423
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge469

462:                                              ; preds = %424
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %466

464:                                              ; preds = %425
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %466

466:                                              ; preds = %462, %464
  %.pn317 = phi { ptr, i32 } [ %465, %464 ], [ %463, %462 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br i1 %420, label %.critedge470, label %.critedge469

.critedge469:                                     ; preds = %466, %.thread
  %.pn317.pn505 = phi { ptr, i32 } [ %461, %.thread ], [ %.pn317, %466 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  br label %.critedge472

.critedge470:                                     ; preds = %466, %.critedge470.thread
  %.pn317.pn.pn.pn515 = phi { ptr, i32 } [ %459, %.critedge470.thread ], [ %.pn317, %466 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #6
  br label %.critedge472

.critedge472:                                     ; preds = %.critedge469, %.critedge469.thread, %.critedge470
  %.pn317.pn.pn.pn514 = phi { ptr, i32 } [ %.pn317.pn.pn.pn515, %.critedge470 ], [ %.pn317.pn505, %.critedge469 ], [ %460, %.critedge469.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %467

467:                                              ; preds = %.critedge472, %457
  %.pn317.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn.pn514, %.critedge472 ], [ %458, %457 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %468

468:                                              ; preds = %467, %455
  %.pn317.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn.pn.pn, %467 ], [ %456, %455 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %469

469:                                              ; preds = %468, %453
  %.pn317.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn317.pn.pn.pn.pn.pn, %468 ], [ %454, %453 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %645

470:                                              ; preds = %429
  %471 = landingpad { ptr, i32 }
          cleanup
  br label %486

472:                                              ; preds = %430
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %485

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

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

478:                                              ; preds = %433
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %482

480:                                              ; preds = %434
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %482

482:                                              ; preds = %480, %478
  %.pn326 = phi { ptr, i32 } [ %481, %480 ], [ %479, %478 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %483

483:                                              ; preds = %482, %476
  %.pn326.pn = phi { ptr, i32 } [ %.pn326, %482 ], [ %477, %476 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %484

484:                                              ; preds = %483, %474
  %.pn326.pn.pn = phi { ptr, i32 } [ %.pn326.pn, %483 ], [ %475, %474 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %485

485:                                              ; preds = %484, %472
  %.pn326.pn.pn.pn = phi { ptr, i32 } [ %.pn326.pn.pn, %484 ], [ %473, %472 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %486

486:                                              ; preds = %485, %470
  %.pn326.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn326.pn.pn.pn, %485 ], [ %471, %470 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  br label %645

487:                                              ; preds = %438
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %497

489:                                              ; preds = %441, %439
  %490 = landingpad { ptr, i32 }
          cleanup
  br label %496

491:                                              ; preds = %443
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %495

493:                                              ; preds = %448, %446, %444
  %494 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %495

495:                                              ; preds = %493, %491
  %.pn332 = phi { ptr, i32 } [ %494, %493 ], [ %492, %491 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #6
  br label %496

496:                                              ; preds = %495, %489
  %.pn332.pn = phi { ptr, i32 } [ %.pn332, %495 ], [ %490, %489 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %497

497:                                              ; preds = %496, %487
  %.pn332.pn.pn = phi { ptr, i32 } [ %.pn332.pn, %496 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %645

498:                                              ; preds = %450, %.critedge467
  %499 = load i32, ptr %8, align 4, !tbaa !5
  %500 = load i32, ptr %13, align 4, !tbaa !5
  %.not336 = icmp eq i32 %499, %500
  br i1 %.not336, label %551, label %501

501:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %502 unwind label %523

502:                                              ; preds = %501
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.649)
          to label %503 unwind label %525

503:                                              ; preds = %502
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull @.str.3)
          to label %504 unwind label %527

504:                                              ; preds = %503
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.192)
          to label %505 unwind label %529

505:                                              ; preds = %504
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.18)
          to label %506 unwind label %531

506:                                              ; preds = %505
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %508 unwind label %533

508:                                              ; preds = %506
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  %509 = 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.19)
          to label %510 unwind label %451

510:                                              ; preds = %508
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %511 unwind label %540

511:                                              ; preds = %510
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %509, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %513 unwind label %542

513:                                              ; preds = %511
  %514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %512, ptr noundef nonnull @.str.20)
          to label %515 unwind label %542

515:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %516 unwind label %544

516:                                              ; preds = %515
  %517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %518 unwind label %546

518:                                              ; preds = %516
  %519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %517, ptr noundef nonnull @.str.21)
          to label %520 unwind label %546

520:                                              ; preds = %518
  %521 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %519, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %522 unwind label %546

522:                                              ; preds = %520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  invoke void @_Z4failv()
          to label %551 unwind label %451

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

525:                                              ; preds = %502
  %526 = landingpad { ptr, i32 }
          cleanup
  br label %538

527:                                              ; preds = %503
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %537

529:                                              ; preds = %504
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %536

531:                                              ; preds = %505
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %535

533:                                              ; preds = %506
  %534 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %535

535:                                              ; preds = %533, %531
  %.pn337 = phi { ptr, i32 } [ %534, %533 ], [ %532, %531 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %536

536:                                              ; preds = %535, %529
  %.pn337.pn = phi { ptr, i32 } [ %.pn337, %535 ], [ %530, %529 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %537

537:                                              ; preds = %536, %527
  %.pn337.pn.pn = phi { ptr, i32 } [ %.pn337.pn, %536 ], [ %528, %527 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %538

538:                                              ; preds = %537, %525
  %.pn337.pn.pn.pn = phi { ptr, i32 } [ %.pn337.pn.pn, %537 ], [ %526, %525 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %539

539:                                              ; preds = %538, %523
  %.pn337.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn337.pn.pn.pn, %538 ], [ %524, %523 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #6
  br label %645

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

542:                                              ; preds = %513, %511
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %549

544:                                              ; preds = %515
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %548

546:                                              ; preds = %520, %518, %516
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %548

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

549:                                              ; preds = %548, %542
  %.pn343.pn = phi { ptr, i32 } [ %.pn343, %548 ], [ %543, %542 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %550

550:                                              ; preds = %549, %540
  %.pn343.pn.pn = phi { ptr, i32 } [ %.pn343.pn, %549 ], [ %541, %540 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  br label %645

551:                                              ; preds = %522, %498
  %552 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %50, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %553 unwind label %451

553:                                              ; preds = %551
  br i1 %552, label %554, label %604

554:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %555 unwind label %576

555:                                              ; preds = %554
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.650)
          to label %556 unwind label %578

556:                                              ; preds = %555
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull @.str.3)
          to label %557 unwind label %580

557:                                              ; preds = %556
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.651)
          to label %558 unwind label %582

558:                                              ; preds = %557
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.18)
          to label %559 unwind label %584

559:                                              ; preds = %558
  %560 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %561 unwind label %586

561:                                              ; preds = %559
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  %562 = 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.19)
          to label %563 unwind label %451

563:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 8 dereferenceable(24) %50)
          to label %564 unwind label %593

564:                                              ; preds = %563
  %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %562, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %566 unwind label %595

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

568:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(24) %52)
          to label %569 unwind label %597

569:                                              ; preds = %568
  %570 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %567, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %571 unwind label %599

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

573:                                              ; preds = %571
  %574 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %572, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %575 unwind label %599

575:                                              ; preds = %573
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  invoke void @_Z4failv()
          to label %604 unwind label %451

576:                                              ; preds = %554
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %592

578:                                              ; preds = %555
  %579 = landingpad { ptr, i32 }
          cleanup
  br label %591

580:                                              ; preds = %556
  %581 = landingpad { ptr, i32 }
          cleanup
  br label %590

582:                                              ; preds = %557
  %583 = landingpad { ptr, i32 }
          cleanup
  br label %589

584:                                              ; preds = %558
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %588

586:                                              ; preds = %559
  %587 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %588

588:                                              ; preds = %586, %584
  %.pn347 = phi { ptr, i32 } [ %587, %586 ], [ %585, %584 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %589

589:                                              ; preds = %588, %582
  %.pn347.pn = phi { ptr, i32 } [ %.pn347, %588 ], [ %583, %582 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %590

590:                                              ; preds = %589, %580
  %.pn347.pn.pn = phi { ptr, i32 } [ %.pn347.pn, %589 ], [ %581, %580 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %591

591:                                              ; preds = %590, %578
  %.pn347.pn.pn.pn = phi { ptr, i32 } [ %.pn347.pn.pn, %590 ], [ %579, %578 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %592

592:                                              ; preds = %591, %576
  %.pn347.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn347.pn.pn.pn, %591 ], [ %577, %576 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %645

593:                                              ; preds = %563
  %594 = landingpad { ptr, i32 }
          cleanup
  br label %603

595:                                              ; preds = %566, %564
  %596 = landingpad { ptr, i32 }
          cleanup
  br label %602

597:                                              ; preds = %568
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %601

599:                                              ; preds = %573, %571, %569
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %601

601:                                              ; preds = %599, %597
  %.pn353 = phi { ptr, i32 } [ %600, %599 ], [ %598, %597 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  br label %602

602:                                              ; preds = %601, %595
  %.pn353.pn = phi { ptr, i32 } [ %.pn353, %601 ], [ %596, %595 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %603

603:                                              ; preds = %602, %593
  %.pn353.pn.pn = phi { ptr, i32 } [ %.pn353.pn, %602 ], [ %594, %593 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  br label %645

604:                                              ; preds = %575, %553
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #6
  %605 = load i32, ptr %12, align 4, !tbaa !5
  %606 = load i32, ptr %13, align 4, !tbaa !5
  %607 = mul i32 %606, %605
  %608 = zext i32 %607 to i64
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #6
  %609 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef 6, i32 noundef 16)
          to label %610 unwind label %647

610:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %91) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %611 unwind label %649

611:                                              ; preds = %610
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull @.str.652)
          to label %612 unwind label %651

612:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %94) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %613 unwind label %653

613:                                              ; preds = %612
  %614 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br i1 %614, label %615, label %616

615:                                              ; preds = %613
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %618 unwind label %.critedge482.thread

616:                                              ; preds = %613
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %97) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %617 unwind label %.critedge481.thread

617:                                              ; preds = %616
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %618 unwind label %.thread516

618:                                              ; preds = %617, %615
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %619 unwind label %658

619:                                              ; preds = %618
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %609, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %620 unwind label %660

620:                                              ; preds = %619
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br i1 %614, label %.critedge498, label %.critedge474

.critedge474:                                     ; preds = %620
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  br label %.critedge479

.critedge498:                                     ; preds = %620
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #6
  br label %.critedge479

.critedge479:                                     ; preds = %.critedge474, %.critedge498
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  %621 = load i32, ptr %7, align 4, !tbaa !5
  %622 = load i32, ptr %12, align 4, !tbaa !5
  %.not368 = icmp eq i32 %621, %622
  br i1 %.not368, label %694, label %623

623:                                              ; preds = %.critedge479
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %102) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %103) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %624 unwind label %666

624:                                              ; preds = %623
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull @.str.653)
          to label %625 unwind label %668

625:                                              ; preds = %624
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %100, ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull @.str.3)
          to label %626 unwind label %670

626:                                              ; preds = %625
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull @.str.190)
          to label %627 unwind label %672

627:                                              ; preds = %626
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.18)
          to label %628 unwind label %674

628:                                              ; preds = %627
  %629 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %630 unwind label %676

630:                                              ; preds = %628
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  %631 = 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.19)
          to label %632 unwind label %647

632:                                              ; preds = %630
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %633 unwind label %683

633:                                              ; preds = %632
  %634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %631, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %635 unwind label %685

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

637:                                              ; preds = %635
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %105) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %638 unwind label %687

638:                                              ; preds = %637
  %639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %636, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %640 unwind label %689

640:                                              ; preds = %638
  %641 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %639, ptr noundef nonnull @.str.21)
          to label %642 unwind label %689

642:                                              ; preds = %640
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %641, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %644 unwind label %689

644:                                              ; preds = %642
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  invoke void @_Z4failv()
          to label %694 unwind label %647

645:                                              ; preds = %603, %592, %550, %539, %497, %486, %469, %451
  %.pn357 = phi { ptr, i32 } [ %452, %451 ], [ %.pn353.pn.pn, %603 ], [ %.pn347.pn.pn.pn.pn, %592 ], [ %.pn343.pn.pn, %550 ], [ %.pn337.pn.pn.pn.pn, %539 ], [ %.pn332.pn.pn, %497 ], [ %.pn326.pn.pn.pn.pn, %486 ], [ %.pn317.pn.pn.pn.pn.pn.pn, %469 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %50) #6
  br label %646

646:                                              ; preds = %645, %398
  %.pn357.pn = phi { ptr, i32 } [ %.pn357, %645 ], [ %399, %398 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %50) #6
  br label %1071

647:                                              ; preds = %718, %704, %644, %630, %604
  %648 = landingpad { ptr, i32 }
          cleanup
  br label %837

649:                                              ; preds = %610
  %650 = landingpad { ptr, i32 }
          cleanup
  br label %665

651:                                              ; preds = %611
  %652 = landingpad { ptr, i32 }
          cleanup
  br label %664

653:                                              ; preds = %612
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %663

.critedge482.thread:                              ; preds = %615
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge482

.critedge481.thread:                              ; preds = %616
  %656 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  br label %.critedge484

.thread516:                                       ; preds = %617
  %657 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge481

658:                                              ; preds = %618
  %659 = landingpad { ptr, i32 }
          cleanup
  br label %662

660:                                              ; preds = %619
  %661 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %662

662:                                              ; preds = %658, %660
  %.pn360 = phi { ptr, i32 } [ %661, %660 ], [ %659, %658 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br i1 %614, label %.critedge482, label %.critedge481

.critedge481:                                     ; preds = %662, %.thread516
  %.pn360.pn520 = phi { ptr, i32 } [ %657, %.thread516 ], [ %.pn360, %662 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  br label %.critedge484

.critedge482:                                     ; preds = %662, %.critedge482.thread
  %.pn360.pn.pn.pn533 = phi { ptr, i32 } [ %655, %.critedge482.thread ], [ %.pn360, %662 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #6
  br label %.critedge484

.critedge484:                                     ; preds = %.critedge481, %.critedge481.thread, %.critedge482
  %.pn360.pn.pn.pn532 = phi { ptr, i32 } [ %.pn360.pn.pn.pn533, %.critedge482 ], [ %.pn360.pn520, %.critedge481 ], [ %656, %.critedge481.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %663

663:                                              ; preds = %.critedge484, %653
  %.pn360.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn360.pn.pn.pn532, %.critedge484 ], [ %654, %653 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %664

664:                                              ; preds = %663, %651
  %.pn360.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn360.pn.pn.pn.pn, %663 ], [ %652, %651 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %665

665:                                              ; preds = %664, %649
  %.pn360.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn360.pn.pn.pn.pn.pn, %664 ], [ %650, %649 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  br label %837

666:                                              ; preds = %623
  %667 = landingpad { ptr, i32 }
          cleanup
  br label %682

668:                                              ; preds = %624
  %669 = landingpad { ptr, i32 }
          cleanup
  br label %681

670:                                              ; preds = %625
  %671 = landingpad { ptr, i32 }
          cleanup
  br label %680

672:                                              ; preds = %626
  %673 = landingpad { ptr, i32 }
          cleanup
  br label %679

674:                                              ; preds = %627
  %675 = landingpad { ptr, i32 }
          cleanup
  br label %678

676:                                              ; preds = %628
  %677 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %678

678:                                              ; preds = %676, %674
  %.pn369 = phi { ptr, i32 } [ %677, %676 ], [ %675, %674 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %679

679:                                              ; preds = %678, %672
  %.pn369.pn = phi { ptr, i32 } [ %.pn369, %678 ], [ %673, %672 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  br label %680

680:                                              ; preds = %679, %670
  %.pn369.pn.pn = phi { ptr, i32 } [ %.pn369.pn, %679 ], [ %671, %670 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %681

681:                                              ; preds = %680, %668
  %.pn369.pn.pn.pn = phi { ptr, i32 } [ %.pn369.pn.pn, %680 ], [ %669, %668 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %682

682:                                              ; preds = %681, %666
  %.pn369.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn369.pn.pn.pn, %681 ], [ %667, %666 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #6
  br label %837

683:                                              ; preds = %632
  %684 = landingpad { ptr, i32 }
          cleanup
  br label %693

685:                                              ; preds = %635, %633
  %686 = landingpad { ptr, i32 }
          cleanup
  br label %692

687:                                              ; preds = %637
  %688 = landingpad { ptr, i32 }
          cleanup
  br label %691

689:                                              ; preds = %642, %640, %638
  %690 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %691

691:                                              ; preds = %689, %687
  %.pn375 = phi { ptr, i32 } [ %690, %689 ], [ %688, %687 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %692

692:                                              ; preds = %691, %685
  %.pn375.pn = phi { ptr, i32 } [ %.pn375, %691 ], [ %686, %685 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %693

693:                                              ; preds = %692, %683
  %.pn375.pn.pn = phi { ptr, i32 } [ %.pn375.pn, %692 ], [ %684, %683 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  br label %837

694:                                              ; preds = %644, %.critedge479
  %695 = load i32, ptr %8, align 4, !tbaa !5
  %696 = load i32, ptr %13, align 4, !tbaa !5
  %.not379 = icmp eq i32 %695, %696
  br i1 %.not379, label %747, label %697

697:                                              ; preds = %694
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %111) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %698 unwind label %719

698:                                              ; preds = %697
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.654)
          to label %699 unwind label %721

699:                                              ; preds = %698
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull @.str.3)
          to label %700 unwind label %723

700:                                              ; preds = %699
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.192)
          to label %701 unwind label %725

701:                                              ; preds = %700
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.18)
          to label %702 unwind label %727

702:                                              ; preds = %701
  %703 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %704 unwind label %729

704:                                              ; preds = %702
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  %705 = 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.19)
          to label %706 unwind label %647

706:                                              ; preds = %704
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %707 unwind label %736

707:                                              ; preds = %706
  %708 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %705, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %709 unwind label %738

709:                                              ; preds = %707
  %710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %708, ptr noundef nonnull @.str.20)
          to label %711 unwind label %738

711:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %712 unwind label %740

712:                                              ; preds = %711
  %713 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %710, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %714 unwind label %742

714:                                              ; preds = %712
  %715 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %713, ptr noundef nonnull @.str.21)
          to label %716 unwind label %742

716:                                              ; preds = %714
  %717 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %715, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %718 unwind label %742

718:                                              ; preds = %716
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  invoke void @_Z4failv()
          to label %747 unwind label %647

719:                                              ; preds = %697
  %720 = landingpad { ptr, i32 }
          cleanup
  br label %735

721:                                              ; preds = %698
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %734

723:                                              ; preds = %699
  %724 = landingpad { ptr, i32 }
          cleanup
  br label %733

725:                                              ; preds = %700
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %732

727:                                              ; preds = %701
  %728 = landingpad { ptr, i32 }
          cleanup
  br label %731

729:                                              ; preds = %702
  %730 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %731

731:                                              ; preds = %729, %727
  %.pn380 = phi { ptr, i32 } [ %730, %729 ], [ %728, %727 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %732

732:                                              ; preds = %731, %725
  %.pn380.pn = phi { ptr, i32 } [ %.pn380, %731 ], [ %726, %725 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %733

733:                                              ; preds = %732, %723
  %.pn380.pn.pn = phi { ptr, i32 } [ %.pn380.pn, %732 ], [ %724, %723 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %734

734:                                              ; preds = %733, %721
  %.pn380.pn.pn.pn = phi { ptr, i32 } [ %.pn380.pn.pn, %733 ], [ %722, %721 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %735

735:                                              ; preds = %734, %719
  %.pn380.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn380.pn.pn.pn, %734 ], [ %720, %719 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  br label %837

736:                                              ; preds = %706
  %737 = landingpad { ptr, i32 }
          cleanup
  br label %746

738:                                              ; preds = %709, %707
  %739 = landingpad { ptr, i32 }
          cleanup
  br label %745

740:                                              ; preds = %711
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %744

742:                                              ; preds = %716, %714, %712
  %743 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %744

744:                                              ; preds = %742, %740
  %.pn386 = phi { ptr, i32 } [ %743, %742 ], [ %741, %740 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  br label %745

745:                                              ; preds = %744, %738
  %.pn386.pn = phi { ptr, i32 } [ %.pn386, %744 ], [ %739, %738 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %746

746:                                              ; preds = %745, %736
  %.pn386.pn.pn = phi { ptr, i32 } [ %.pn386.pn, %745 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  br label %837

747:                                              ; preds = %718, %694
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %114) #6
  %748 = shl nuw nsw i64 %608, 2
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %748, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %749 unwind label %751

749:                                              ; preds = %747
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #6
  %.not573 = icmp eq i32 %607, 0
  br i1 %.not573, label %._crit_edge563, label %.lr.ph562

._crit_edge563:                                   ; preds = %.lr.ph562, %749
  %750 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %114)
          to label %774 unwind label %797

751:                                              ; preds = %747
  %752 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #6
  br label %836

.lr.ph562:                                        ; preds = %749, %.lr.ph562
  %.0108560 = phi i64 [ %773, %.lr.ph562 ], [ 0, %749 ]
  %753 = shl nuw nsw i64 %.0108560, 3
  %754 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %753) #6
  %755 = load i8, ptr %754, align 1, !tbaa !11
  %756 = shl nuw nsw i64 %.0108560, 2
  %757 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %756) #6
  store i8 %755, ptr %757, align 1, !tbaa !11
  %758 = or disjoint i64 %753, 2
  %759 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %758) #6
  %760 = load i8, ptr %759, align 1, !tbaa !11
  %761 = or disjoint i64 %756, 1
  %762 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %761) #6
  store i8 %760, ptr %762, align 1, !tbaa !11
  %763 = or disjoint i64 %753, 4
  %764 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %763) #6
  %765 = load i8, ptr %764, align 1, !tbaa !11
  %766 = or disjoint i64 %756, 2
  %767 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %766) #6
  store i8 %765, ptr %767, align 1, !tbaa !11
  %768 = or disjoint i64 %753, 6
  %769 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %768) #6
  %770 = load i8, ptr %769, align 1, !tbaa !11
  %771 = or disjoint i64 %756, 3
  %772 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %771) #6
  store i8 %770, ptr %772, align 1, !tbaa !11
  %773 = add nuw nsw i64 %.0108560, 1
  %exitcond576.not = icmp eq i64 %773, %608
  br i1 %exitcond576.not, label %._crit_edge563, label %.lr.ph562, !llvm.loop !14

774:                                              ; preds = %._crit_edge563
  br i1 %750, label %775, label %827

775:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %121) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %776 unwind label %799

776:                                              ; preds = %775
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.655)
          to label %777 unwind label %801

777:                                              ; preds = %776
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %118, ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull @.str.3)
          to label %778 unwind label %803

778:                                              ; preds = %777
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull @.str.656)
          to label %779 unwind label %805

779:                                              ; preds = %778
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull @.str.18)
          to label %780 unwind label %807

780:                                              ; preds = %779
  %781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %116)
          to label %782 unwind label %809

782:                                              ; preds = %780
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  %783 = 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.19)
          to label %784 unwind label %797

784:                                              ; preds = %782
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %122) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %785 unwind label %816

785:                                              ; preds = %784
  %786 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %783, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %787 unwind label %818

787:                                              ; preds = %785
  %788 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %786, ptr noundef nonnull @.str.20)
          to label %789 unwind label %818

789:                                              ; preds = %787
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull align 8 dereferenceable(24) %114)
          to label %790 unwind label %820

790:                                              ; preds = %789
  %791 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %788, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %792 unwind label %822

792:                                              ; preds = %790
  %793 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %791, ptr noundef nonnull @.str.21)
          to label %794 unwind label %822

794:                                              ; preds = %792
  %795 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %793, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %796 unwind label %822

796:                                              ; preds = %794
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  invoke void @_Z4failv()
          to label %827 unwind label %797

797:                                              ; preds = %796, %782, %._crit_edge563
  %798 = landingpad { ptr, i32 }
          cleanup
  br label %835

799:                                              ; preds = %775
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %815

801:                                              ; preds = %776
  %802 = landingpad { ptr, i32 }
          cleanup
  br label %814

803:                                              ; preds = %777
  %804 = landingpad { ptr, i32 }
          cleanup
  br label %813

805:                                              ; preds = %778
  %806 = landingpad { ptr, i32 }
          cleanup
  br label %812

807:                                              ; preds = %779
  %808 = landingpad { ptr, i32 }
          cleanup
  br label %811

809:                                              ; preds = %780
  %810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %811

811:                                              ; preds = %809, %807
  %.pn390 = phi { ptr, i32 } [ %810, %809 ], [ %808, %807 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %812

812:                                              ; preds = %811, %805
  %.pn390.pn = phi { ptr, i32 } [ %.pn390, %811 ], [ %806, %805 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %813

813:                                              ; preds = %812, %803
  %.pn390.pn.pn = phi { ptr, i32 } [ %.pn390.pn, %812 ], [ %804, %803 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %814

814:                                              ; preds = %813, %801
  %.pn390.pn.pn.pn = phi { ptr, i32 } [ %.pn390.pn.pn, %813 ], [ %802, %801 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  br label %815

815:                                              ; preds = %814, %799
  %.pn390.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn390.pn.pn.pn, %814 ], [ %800, %799 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  br label %835

816:                                              ; preds = %784
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %826

818:                                              ; preds = %787, %785
  %819 = landingpad { ptr, i32 }
          cleanup
  br label %825

820:                                              ; preds = %789
  %821 = landingpad { ptr, i32 }
          cleanup
  br label %824

822:                                              ; preds = %794, %792, %790
  %823 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %824

824:                                              ; preds = %822, %820
  %.pn396 = phi { ptr, i32 } [ %823, %822 ], [ %821, %820 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  br label %825

825:                                              ; preds = %824, %818
  %.pn396.pn = phi { ptr, i32 } [ %.pn396, %824 ], [ %819, %818 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %826

826:                                              ; preds = %825, %816
  %.pn396.pn.pn = phi { ptr, i32 } [ %.pn396.pn, %825 ], [ %817, %816 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  br label %835

827:                                              ; preds = %796, %774
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #6
  %828 = load i32, ptr %12, align 4, !tbaa !5
  %829 = load i32, ptr %13, align 4, !tbaa !5
  %830 = mul i32 %829, %828
  %831 = zext i32 %830 to i64
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %124) #6
  %832 = mul nuw nsw i64 %831, 3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %125) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %832, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %833 unwind label %838

833:                                              ; preds = %827
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #6
  %.not574 = icmp eq i32 %830, 0
  br i1 %.not574, label %._crit_edge567, label %.lr.ph566

._crit_edge567:                                   ; preds = %.lr.ph566, %833
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %126) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  %834 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef 2, i32 noundef 16)
          to label %856 unwind label %891

835:                                              ; preds = %826, %815, %797
  %.pn400 = phi { ptr, i32 } [ %798, %797 ], [ %.pn396.pn.pn, %826 ], [ %.pn390.pn.pn.pn.pn, %815 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #6
  br label %836

836:                                              ; preds = %835, %751
  %.pn400.pn = phi { ptr, i32 } [ %.pn400, %835 ], [ %752, %751 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #6
  br label %837

837:                                              ; preds = %836, %746, %735, %693, %682, %665, %647
  %.pn400.pn.pn = phi { ptr, i32 } [ %.pn400.pn, %836 ], [ %648, %647 ], [ %.pn386.pn.pn, %746 ], [ %.pn380.pn.pn.pn.pn, %735 ], [ %.pn375.pn.pn, %693 ], [ %.pn369.pn.pn.pn.pn, %682 ], [ %.pn360.pn.pn.pn.pn.pn.pn, %665 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #6
  br label %1071

838:                                              ; preds = %827
  %839 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #6
  br label %1070

.lr.ph566:                                        ; preds = %833, %.lr.ph566
  %.0103564 = phi i64 [ %855, %.lr.ph566 ], [ 0, %833 ]
  %840 = shl nuw nsw i64 %.0103564, 2
  %841 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %840) #6
  %842 = load i8, ptr %841, align 1, !tbaa !11
  %843 = mul nuw nsw i64 %.0103564, 3
  %844 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %843) #6
  store i8 %842, ptr %844, align 1, !tbaa !11
  %845 = or disjoint i64 %840, 1
  %846 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %845) #6
  %847 = load i8, ptr %846, align 1, !tbaa !11
  %848 = add nuw nsw i64 %843, 1
  %849 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %848) #6
  store i8 %847, ptr %849, align 1, !tbaa !11
  %850 = or disjoint i64 %840, 2
  %851 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %850) #6
  %852 = load i8, ptr %851, align 1, !tbaa !11
  %853 = add nuw nsw i64 %843, 2
  %854 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %853) #6
  store i8 %852, ptr %854, align 1, !tbaa !11
  %855 = add nuw nsw i64 %.0103564, 1
  %exitcond577.not = icmp eq i64 %855, %831
  br i1 %exitcond577.not, label %._crit_edge567, label %.lr.ph566, !llvm.loop !15

856:                                              ; preds = %._crit_edge567
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %130) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %130)
          to label %857 unwind label %893

857:                                              ; preds = %856
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull @.str.657)
          to label %858 unwind label %895

858:                                              ; preds = %857
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %131) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %859 unwind label %897

859:                                              ; preds = %858
  %860 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br i1 %860, label %861, label %862

861:                                              ; preds = %859
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %134) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %864 unwind label %.critedge494.thread

862:                                              ; preds = %859
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %136) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %863 unwind label %.critedge493.thread

863:                                              ; preds = %862
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %131, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %864 unwind label %.thread534

864:                                              ; preds = %863, %861
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %865 unwind label %902

865:                                              ; preds = %864
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %834, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %866 unwind label %904

866:                                              ; preds = %865
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br i1 %860, label %.critedge499, label %.critedge486

.critedge486:                                     ; preds = %866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %.critedge491

.critedge499:                                     ; preds = %866
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #6
  br label %.critedge491

.critedge491:                                     ; preds = %.critedge486, %.critedge499
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  %867 = load i32, ptr %7, align 4, !tbaa !5
  %868 = load i32, ptr %12, align 4, !tbaa !5
  %.not412 = icmp eq i32 %867, %868
  br i1 %.not412, label %938, label %869

869:                                              ; preds = %.critedge491
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %142) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %870 unwind label %910

870:                                              ; preds = %869
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %140, ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull @.str.658)
          to label %871 unwind label %912

871:                                              ; preds = %870
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str.3)
          to label %872 unwind label %914

872:                                              ; preds = %871
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull @.str.190)
          to label %873 unwind label %916

873:                                              ; preds = %872
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull @.str.18)
          to label %874 unwind label %918

874:                                              ; preds = %873
  %875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %876 unwind label %920

876:                                              ; preds = %874
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  %877 = 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.19)
          to label %878 unwind label %891

878:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %879 unwind label %927

879:                                              ; preds = %878
  %880 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %877, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %881 unwind label %929

881:                                              ; preds = %879
  %882 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %880, ptr noundef nonnull @.str.20)
          to label %883 unwind label %929

883:                                              ; preds = %881
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %144) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %144, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %884 unwind label %931

884:                                              ; preds = %883
  %885 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %882, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %886 unwind label %933

886:                                              ; preds = %884
  %887 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %885, ptr noundef nonnull @.str.21)
          to label %888 unwind label %933

888:                                              ; preds = %886
  %889 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %887, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %890 unwind label %933

890:                                              ; preds = %888
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  invoke void @_Z4failv()
          to label %938 unwind label %891

891:                                              ; preds = %962, %948, %890, %876, %._crit_edge567
  %892 = landingpad { ptr, i32 }
          cleanup
  br label %1069

893:                                              ; preds = %856
  %894 = landingpad { ptr, i32 }
          cleanup
  br label %909

895:                                              ; preds = %857
  %896 = landingpad { ptr, i32 }
          cleanup
  br label %908

897:                                              ; preds = %858
  %898 = landingpad { ptr, i32 }
          cleanup
  br label %907

.critedge494.thread:                              ; preds = %861
  %899 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge494

.critedge493.thread:                              ; preds = %862
  %900 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %.critedge496

.thread534:                                       ; preds = %863
  %901 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge493

902:                                              ; preds = %864
  %903 = landingpad { ptr, i32 }
          cleanup
  br label %906

904:                                              ; preds = %865
  %905 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %906

906:                                              ; preds = %902, %904
  %.pn404 = phi { ptr, i32 } [ %905, %904 ], [ %903, %902 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br i1 %860, label %.critedge494, label %.critedge493

.critedge493:                                     ; preds = %906, %.thread534
  %.pn404.pn538 = phi { ptr, i32 } [ %901, %.thread534 ], [ %.pn404, %906 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  br label %.critedge496

.critedge494:                                     ; preds = %906, %.critedge494.thread
  %.pn404.pn.pn.pn551 = phi { ptr, i32 } [ %899, %.critedge494.thread ], [ %.pn404, %906 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #6
  br label %.critedge496

.critedge496:                                     ; preds = %.critedge493, %.critedge493.thread, %.critedge494
  %.pn404.pn.pn.pn550 = phi { ptr, i32 } [ %.pn404.pn.pn.pn551, %.critedge494 ], [ %.pn404.pn538, %.critedge493 ], [ %900, %.critedge493.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %907

907:                                              ; preds = %.critedge496, %897
  %.pn404.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn404.pn.pn.pn550, %.critedge496 ], [ %898, %897 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %908

908:                                              ; preds = %907, %895
  %.pn404.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn404.pn.pn.pn.pn, %907 ], [ %896, %895 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %909

909:                                              ; preds = %908, %893
  %.pn404.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn404.pn.pn.pn.pn.pn, %908 ], [ %894, %893 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %130) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  br label %1069

910:                                              ; preds = %869
  %911 = landingpad { ptr, i32 }
          cleanup
  br label %926

912:                                              ; preds = %870
  %913 = landingpad { ptr, i32 }
          cleanup
  br label %925

914:                                              ; preds = %871
  %915 = landingpad { ptr, i32 }
          cleanup
  br label %924

916:                                              ; preds = %872
  %917 = landingpad { ptr, i32 }
          cleanup
  br label %923

918:                                              ; preds = %873
  %919 = landingpad { ptr, i32 }
          cleanup
  br label %922

920:                                              ; preds = %874
  %921 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %922

922:                                              ; preds = %920, %918
  %.pn413 = phi { ptr, i32 } [ %921, %920 ], [ %919, %918 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %923

923:                                              ; preds = %922, %916
  %.pn413.pn = phi { ptr, i32 } [ %.pn413, %922 ], [ %917, %916 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %924

924:                                              ; preds = %923, %914
  %.pn413.pn.pn = phi { ptr, i32 } [ %.pn413.pn, %923 ], [ %915, %914 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #6
  br label %925

925:                                              ; preds = %924, %912
  %.pn413.pn.pn.pn = phi { ptr, i32 } [ %.pn413.pn.pn, %924 ], [ %913, %912 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %926

926:                                              ; preds = %925, %910
  %.pn413.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn413.pn.pn.pn, %925 ], [ %911, %910 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  br label %1069

927:                                              ; preds = %878
  %928 = landingpad { ptr, i32 }
          cleanup
  br label %937

929:                                              ; preds = %881, %879
  %930 = landingpad { ptr, i32 }
          cleanup
  br label %936

931:                                              ; preds = %883
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %935

933:                                              ; preds = %888, %886, %884
  %934 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #6
  br label %935

935:                                              ; preds = %933, %931
  %.pn419 = phi { ptr, i32 } [ %934, %933 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #6
  br label %936

936:                                              ; preds = %935, %929
  %.pn419.pn = phi { ptr, i32 } [ %.pn419, %935 ], [ %930, %929 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  br label %937

937:                                              ; preds = %936, %927
  %.pn419.pn.pn = phi { ptr, i32 } [ %.pn419.pn, %936 ], [ %928, %927 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #6
  br label %1069

938:                                              ; preds = %890, %.critedge491
  %939 = load i32, ptr %8, align 4, !tbaa !5
  %940 = load i32, ptr %13, align 4, !tbaa !5
  %.not423 = icmp eq i32 %939, %940
  br i1 %.not423, label %991, label %941

941:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %145) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %146) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %147) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %148) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %150) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %942 unwind label %963

942:                                              ; preds = %941
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull @.str.659)
          to label %943 unwind label %965

943:                                              ; preds = %942
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %147, ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull @.str.3)
          to label %944 unwind label %967

944:                                              ; preds = %943
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull @.str.192)
          to label %945 unwind label %969

945:                                              ; preds = %944
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef nonnull @.str.18)
          to label %946 unwind label %971

946:                                              ; preds = %945
  %947 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %948 unwind label %973

948:                                              ; preds = %946
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  %949 = 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.19)
          to label %950 unwind label %891

950:                                              ; preds = %948
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %951 unwind label %980

951:                                              ; preds = %950
  %952 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %949, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %953 unwind label %982

953:                                              ; preds = %951
  %954 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %952, ptr noundef nonnull @.str.20)
          to label %955 unwind label %982

955:                                              ; preds = %953
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %152) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 4 dereferenceable(4) %13)
          to label %956 unwind label %984

956:                                              ; preds = %955
  %957 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %954, ptr noundef nonnull align 8 dereferenceable(32) %152)
          to label %958 unwind label %986

958:                                              ; preds = %956
  %959 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %957, ptr noundef nonnull @.str.21)
          to label %960 unwind label %986

960:                                              ; preds = %958
  %961 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %959, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %962 unwind label %986

962:                                              ; preds = %960
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  invoke void @_Z4failv()
          to label %991 unwind label %891

963:                                              ; preds = %941
  %964 = landingpad { ptr, i32 }
          cleanup
  br label %979

965:                                              ; preds = %942
  %966 = landingpad { ptr, i32 }
          cleanup
  br label %978

967:                                              ; preds = %943
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %977

969:                                              ; preds = %944
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %976

971:                                              ; preds = %945
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %975

973:                                              ; preds = %946
  %974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %975

975:                                              ; preds = %973, %971
  %.pn424 = phi { ptr, i32 } [ %974, %973 ], [ %972, %971 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %976

976:                                              ; preds = %975, %969
  %.pn424.pn = phi { ptr, i32 } [ %.pn424, %975 ], [ %970, %969 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %977

977:                                              ; preds = %976, %967
  %.pn424.pn.pn = phi { ptr, i32 } [ %.pn424.pn, %976 ], [ %968, %967 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %978

978:                                              ; preds = %977, %965
  %.pn424.pn.pn.pn = phi { ptr, i32 } [ %.pn424.pn.pn, %977 ], [ %966, %965 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %979

979:                                              ; preds = %978, %963
  %.pn424.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn424.pn.pn.pn, %978 ], [ %964, %963 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %1069

980:                                              ; preds = %950
  %981 = landingpad { ptr, i32 }
          cleanup
  br label %990

982:                                              ; preds = %953, %951
  %983 = landingpad { ptr, i32 }
          cleanup
  br label %989

984:                                              ; preds = %955
  %985 = landingpad { ptr, i32 }
          cleanup
  br label %988

986:                                              ; preds = %960, %958, %956
  %987 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %988

988:                                              ; preds = %986, %984
  %.pn430 = phi { ptr, i32 } [ %987, %986 ], [ %985, %984 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #6
  br label %989

989:                                              ; preds = %988, %982
  %.pn430.pn = phi { ptr, i32 } [ %.pn430, %988 ], [ %983, %982 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %990

990:                                              ; preds = %989, %980
  %.pn430.pn.pn = phi { ptr, i32 } [ %.pn430.pn, %989 ], [ %981, %980 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  br label %1069

991:                                              ; preds = %962, %938
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %153) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %154) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %832, ptr noundef nonnull align 1 dereferenceable(1) %154)
          to label %992 unwind label %994

992:                                              ; preds = %991
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %154) #6
  br i1 %.not574, label %._crit_edge571, label %.lr.ph570

._crit_edge571:                                   ; preds = %.lr.ph570, %992
  %993 = invoke noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %124, ptr noundef nonnull align 8 dereferenceable(24) %153)
          to label %1012 unwind label %1035

994:                                              ; preds = %991
  %995 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %154) #6
  br label %1068

.lr.ph570:                                        ; preds = %992, %.lr.ph570
  %.0568 = phi i64 [ %1011, %.lr.ph570 ], [ 0, %992 ]
  %996 = mul nuw nsw i64 %.0568, 6
  %997 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %996) #6
  %998 = load i8, ptr %997, align 1, !tbaa !11
  %999 = mul nuw nsw i64 %.0568, 3
  %1000 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %999) #6
  store i8 %998, ptr %1000, align 1, !tbaa !11
  %1001 = add nuw nsw i64 %996, 2
  %1002 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %1001) #6
  %1003 = load i8, ptr %1002, align 1, !tbaa !11
  %1004 = add nuw nsw i64 %999, 1
  %1005 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %1004) #6
  store i8 %1003, ptr %1005, align 1, !tbaa !11
  %1006 = add nuw nsw i64 %996, 4
  %1007 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %1006) #6
  %1008 = load i8, ptr %1007, align 1, !tbaa !11
  %1009 = add nuw nsw i64 %999, 2
  %1010 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %1009) #6
  store i8 %1008, ptr %1010, align 1, !tbaa !11
  %1011 = add nuw nsw i64 %.0568, 1
  %exitcond578.not = icmp eq i64 %1011, %831
  br i1 %exitcond578.not, label %._crit_edge571, label %.lr.ph570, !llvm.loop !16

1012:                                             ; preds = %._crit_edge571
  br i1 %993, label %1013, label %1065

1013:                                             ; preds = %1012
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %155) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %158) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %160) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %160)
          to label %1014 unwind label %1037

1014:                                             ; preds = %1013
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull @.str.660)
          to label %1015 unwind label %1039

1015:                                             ; preds = %1014
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull @.str.3)
          to label %1016 unwind label %1041

1016:                                             ; preds = %1015
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %156, ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull @.str.661)
          to label %1017 unwind label %1043

1017:                                             ; preds = %1016
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef nonnull @.str.18)
          to label %1018 unwind label %1045

1018:                                             ; preds = %1017
  %1019 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1020 unwind label %1047

1020:                                             ; preds = %1018
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  %1021 = 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.19)
          to label %1022 unwind label %1035

1022:                                             ; preds = %1020
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %161) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %1023 unwind label %1054

1023:                                             ; preds = %1022
  %1024 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1021, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %1025 unwind label %1056

1025:                                             ; preds = %1023
  %1026 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1024, ptr noundef nonnull @.str.20)
          to label %1027 unwind label %1056

1027:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull align 8 dereferenceable(24) %153)
          to label %1028 unwind label %1058

1028:                                             ; preds = %1027
  %1029 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1026, ptr noundef nonnull align 8 dereferenceable(32) %162)
          to label %1030 unwind label %1060

1030:                                             ; preds = %1028
  %1031 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1029, ptr noundef nonnull @.str.21)
          to label %1032 unwind label %1060

1032:                                             ; preds = %1030
  %1033 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1031, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1034 unwind label %1060

1034:                                             ; preds = %1032
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  invoke void @_Z4failv()
          to label %1065 unwind label %1035

1035:                                             ; preds = %1034, %1020, %._crit_edge571
  %1036 = landingpad { ptr, i32 }
          cleanup
  br label %1067

1037:                                             ; preds = %1013
  %1038 = landingpad { ptr, i32 }
          cleanup
  br label %1053

1039:                                             ; preds = %1014
  %1040 = landingpad { ptr, i32 }
          cleanup
  br label %1052

1041:                                             ; preds = %1015
  %1042 = landingpad { ptr, i32 }
          cleanup
  br label %1051

1043:                                             ; preds = %1016
  %1044 = landingpad { ptr, i32 }
          cleanup
  br label %1050

1045:                                             ; preds = %1017
  %1046 = landingpad { ptr, i32 }
          cleanup
  br label %1049

1047:                                             ; preds = %1018
  %1048 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1049

1049:                                             ; preds = %1047, %1045
  %.pn434 = phi { ptr, i32 } [ %1048, %1047 ], [ %1046, %1045 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #6
  br label %1050

1050:                                             ; preds = %1049, %1043
  %.pn434.pn = phi { ptr, i32 } [ %.pn434, %1049 ], [ %1044, %1043 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1051

1051:                                             ; preds = %1050, %1041
  %.pn434.pn.pn = phi { ptr, i32 } [ %.pn434.pn, %1050 ], [ %1042, %1041 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1052

1052:                                             ; preds = %1051, %1039
  %.pn434.pn.pn.pn = phi { ptr, i32 } [ %.pn434.pn.pn, %1051 ], [ %1040, %1039 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1053

1053:                                             ; preds = %1052, %1037
  %.pn434.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn434.pn.pn.pn, %1052 ], [ %1038, %1037 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #6
  br label %1067

1054:                                             ; preds = %1022
  %1055 = landingpad { ptr, i32 }
          cleanup
  br label %1064

1056:                                             ; preds = %1025, %1023
  %1057 = landingpad { ptr, i32 }
          cleanup
  br label %1063

1058:                                             ; preds = %1027
  %1059 = landingpad { ptr, i32 }
          cleanup
  br label %1062

1060:                                             ; preds = %1032, %1030, %1028
  %1061 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1062

1062:                                             ; preds = %1060, %1058
  %.pn440 = phi { ptr, i32 } [ %1061, %1060 ], [ %1059, %1058 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  br label %1063

1063:                                             ; preds = %1062, %1056
  %.pn440.pn = phi { ptr, i32 } [ %.pn440, %1062 ], [ %1057, %1056 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1064

1064:                                             ; preds = %1063, %1054
  %.pn440.pn.pn = phi { ptr, i32 } [ %.pn440.pn, %1063 ], [ %1055, %1054 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  br label %1067

1065:                                             ; preds = %1034, %1012
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %153) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %153) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %126) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #6
  br label %1066

1066:                                             ; preds = %169, %191, %1065
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #6
  ret void

1067:                                             ; preds = %1064, %1053, %1035
  %.pn444 = phi { ptr, i32 } [ %1036, %1035 ], [ %.pn440.pn.pn, %1064 ], [ %.pn434.pn.pn.pn.pn, %1053 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %153) #6
  br label %1068

1068:                                             ; preds = %1067, %994
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %1067 ], [ %995, %994 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %153) #6
  br label %1069

1069:                                             ; preds = %1068, %990, %979, %937, %926, %909, %891
  %.pn444.pn.pn = phi { ptr, i32 } [ %.pn444.pn, %1068 ], [ %892, %891 ], [ %.pn430.pn.pn, %990 ], [ %.pn424.pn.pn.pn.pn, %979 ], [ %.pn419.pn.pn, %937 ], [ %.pn413.pn.pn.pn.pn, %926 ], [ %.pn404.pn.pn.pn.pn.pn.pn, %909 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %126) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %124) #6
  br label %1070

1070:                                             ; preds = %1069, %838
  %.pn444.pn.pn.pn = phi { ptr, i32 } [ %.pn444.pn.pn, %1069 ], [ %839, %838 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %124) #6
  br label %1071

1071:                                             ; preds = %1070, %837, %646, %389, %375, %357, %330, %319, %277, %266, %223, %212, %194
  %.pn460 = phi { ptr, i32 } [ %195, %194 ], [ %.pn456.pn.pn, %223 ], [ %.pn450.pn.pn.pn.pn, %212 ], [ %.pn444.pn.pn.pn, %1070 ], [ %.pn400.pn.pn, %837 ], [ %.pn357.pn, %646 ], [ %.pn312.pn.pn.pn, %389 ], [ %.pn306.pn.pn.pn.pn, %375 ], [ %358, %357 ], [ %.pn302.pn.pn, %330 ], [ %.pn296.pn.pn.pn.pn, %319 ], [ %.pn291.pn.pn, %277 ], [ %.pn.pn.pn.pn.pn, %266 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #6
  br label %1072

1072:                                             ; preds = %1071, %192
  %.pn460.pn = phi { ptr, i32 } [ %.pn460, %1071 ], [ %193, %192 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #6
  resume { ptr, i32 } %.pn460.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneIhSaIhEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0

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

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

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass