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

; 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::allocator" = type { 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.lodepng::State" = type { %struct.LodePNGState.base, [4 x i8] }
%struct.LodePNGState.base = type <{ ptr, %struct.LodePNGDecoderSettings, %struct.LodePNGEncoderSettings, %struct.LodePNGColorMode, %struct.LodePNGInfo, i32 }>
%struct.LodePNGDecoderSettings = type { %struct.LodePNGDecompressSettings, i32, i32, i32, i32, i32, i32 }
%struct.LodePNGDecompressSettings = type { i32, i32, ptr, ptr, ptr }
%struct.LodePNGEncoderSettings = type { %struct.LodePNGCompressSettings, i32, i32, i32, ptr, i32, i32, i32 }
%struct.LodePNGCompressSettings = type { i32, i32, i32, i32, i32, i32, ptr, ptr, ptr }
%struct.LodePNGColorMode = type { i32, i32, ptr, i64, i32, i32, i32, i32 }
%struct.LodePNGInfo = type { i32, i32, i32, %struct.LodePNGColorMode, i32, i32, i32, i32, i64, ptr, ptr, i64, ptr, ptr, ptr, ptr, i32, %struct.LodePNGTime, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, i32, [3 x ptr], [3 x i64] }
%struct.LodePNGTime = type { i32, i32, i32, i32, i32, i32 }
%"class.std::allocator.0" = type { i8 }
%struct.LodePNGState = type <{ ptr, %struct.LodePNGDecoderSettings, %struct.LodePNGEncoderSettings, %struct.LodePNGColorMode, %struct.LodePNGInfo, i32, [4 x i8] }>

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.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.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.622 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.623 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.624 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.625 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.626 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.627 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.628 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.629 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.634 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.636 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.639 = external hidden unnamed_addr constant [5 x i8], align 1

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIhENSt7__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: 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 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 noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #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 nounwind uwtable
declare dso_local void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3 align 2

declare void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508)) unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIiENSt7__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 noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24)) #3 align 2

; 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
declare dso_local void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #4

declare noundef i32 @_ZN7lodepng13convertToSrgbEPhPKhjjPK12LodePNGState(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext, i8 noundef zeroext, i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext, i8 noundef zeroext) #3

declare noundef i32 @_ZN7lodepng15convertFromSrgbEPhPKhjjPK12LodePNGState(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef, i8 noundef zeroext, i32 noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef, i8 noundef zeroext) #3

declare noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef) #4

; Function Attrs: mustprogress uwtable
define dso_local void @_Z11testICCGrayv() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::__cxx11::basic_string", align 8
  %2 = alloca %"class.std::allocator", align 1
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca %"class.std::vector", align 8
  %6 = alloca %"class.lodepng::State", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca %"class.lodepng::State", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.lodepng::State", align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca i8, align 1
  %19 = alloca %"class.std::allocator.0", align 1
  %20 = alloca %"class.std::vector", align 8
  %21 = alloca i8, align 1
  %22 = alloca %"class.std::allocator.0", align 1
  %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::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca i32, align 4
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i32, align 4
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca i32, align 4
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca i32, align 4
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca i32, align 4
  %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 i32, align 4
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca i32, align 4
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca i32, align 4
  %62 = alloca %"class.std::__cxx11::basic_string", 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::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::allocator", align 1
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca i32, align 4
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i32, align 4
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i32, align 4
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca i32, align 4
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca i32, align 4
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::allocator", align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca i32, align 4
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca i32, align 4
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca i32, align 4
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::allocator", align 1
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca i32, align 4
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca i32, align 4
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca i32, align 4
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca i32, align 4
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca i32, align 4
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca i32, align 4
  %127 = alloca %"class.std::vector", align 8
  %128 = alloca i8, align 1
  %129 = alloca %"class.std::allocator.0", align 1
  %130 = alloca i64, 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::__cxx11::basic_string", align 8
  %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 i32, align 4
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca i8, align 1
  %143 = alloca %"class.std::vector", align 8
  %144 = alloca i8, align 1
  %145 = alloca %"class.std::allocator.0", align 1
  %146 = alloca %"class.std::vector", align 8
  %147 = alloca i8, align 1
  %148 = alloca %"class.std::allocator.0", align 1
  %149 = alloca i64, align 8
  %150 = alloca i32, align 4
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", 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::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca i8, align 1
  %162 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.615)
  %163 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 32, ptr %1) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %2) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef @.str.616, ptr noundef nonnull align 1 dereferenceable(1) %2)
          to label %164 unwind label %264

164:                                              ; preds = %0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %2) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %165 unwind label %268

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 512, ptr %6) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6)
          to label %166 unwind label %272

166:                                              ; preds = %165
  %167 = getelementptr inbounds %struct.LodePNGState, ptr %6, i32 0, i32 3
  %168 = getelementptr inbounds %struct.LodePNGColorMode, ptr %167, i32 0, i32 0
  store i32 0, ptr %168, align 8, !tbaa !5
  %169 = getelementptr inbounds %struct.LodePNGState, ptr %6, i32 0, i32 4
  %170 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  %171 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  %172 = trunc i64 %171 to i32
  %173 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %169, ptr noundef @.str.617, ptr noundef %170, i32 noundef %172)
          to label %174 unwind label %276

174:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.618, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %175 unwind label %280

175:                                              ; preds = %174
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %176 unwind label %284

176:                                              ; preds = %175
  call void @llvm.lifetime.start.p0(i64 512, ptr %10) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10)
          to label %177 unwind label %288

177:                                              ; preds = %176
  %178 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 3
  %179 = getelementptr inbounds %struct.LodePNGColorMode, ptr %178, i32 0, i32 0
  store i32 0, ptr %179, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %181 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  %182 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  %183 = trunc i64 %182 to i32
  %184 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %180, ptr noundef @.str.619, ptr noundef %181, i32 noundef %183)
          to label %185 unwind label %292

185:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.620, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %186 unwind label %296

186:                                              ; preds = %185
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %187 unwind label %300

187:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 512, ptr %14) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %14)
          to label %188 unwind label %304

188:                                              ; preds = %187
  %189 = getelementptr inbounds %struct.LodePNGState, ptr %14, i32 0, i32 3
  %190 = getelementptr inbounds %struct.LodePNGColorMode, ptr %189, i32 0, i32 0
  store i32 0, ptr %190, align 8, !tbaa !5
  %191 = getelementptr inbounds %struct.LodePNGState, ptr %14, i32 0, i32 4
  %192 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %193 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %194 = trunc i64 %193 to i32
  %195 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %191, ptr noundef @.str.621, ptr noundef %192, i32 noundef %194)
          to label %196 unwind label %308

196:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 4, ptr %15, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 2, ptr %16, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #6
  %197 = load i32, ptr %15, align 4, !tbaa !21
  %198 = load i32, ptr %16, align 4, !tbaa !21
  %199 = mul i32 %197, %198
  %200 = zext i32 %199 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #6
  store i8 -1, ptr %18, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %200, ptr noundef nonnull align 1 dereferenceable(1) %18, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %201 unwind label %312

201:                                              ; preds = %196
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #6
  %202 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 0) #6
  store i8 0, ptr %202, align 1, !tbaa !22
  %203 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1) #6
  store i8 40, ptr %203, align 1, !tbaa !22
  %204 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 2) #6
  store i8 80, ptr %204, align 1, !tbaa !22
  %205 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 3) #6
  store i8 120, ptr %205, align 1, !tbaa !22
  %206 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 4) #6
  store i8 -96, ptr %206, align 1, !tbaa !22
  %207 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 5) #6
  store i8 -56, ptr %207, align 1, !tbaa !22
  %208 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 6) #6
  store i8 -16, ptr %208, align 1, !tbaa !22
  %209 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 7) #6
  store i8 -1, ptr %209, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #6
  %210 = load i32, ptr %15, align 4, !tbaa !21
  %211 = load i32, ptr %16, align 4, !tbaa !21
  %212 = mul i32 %210, %211
  %213 = zext i32 %212 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #6
  store i8 -1, ptr %21, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %213, ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %214 unwind label %316

214:                                              ; preds = %201
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  %215 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  %216 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %217 = load i32, ptr %15, align 4, !tbaa !21
  %218 = load i32, ptr %16, align 4, !tbaa !21
  %219 = invoke noundef i32 @_ZN7lodepng13convertToSrgbEPhPKhjjPK12LodePNGState(ptr noundef %215, ptr noundef %216, i32 noundef %217, i32 noundef %218, ptr noundef %10)
          to label %220 unwind label %320

220:                                              ; preds = %214
  invoke void @_Z13assertNoErrorj(i32 noundef %219)
          to label %221 unwind label %320

221:                                              ; preds = %220
  %222 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 0) #6
  %223 = load i8, ptr %222, align 1, !tbaa !22
  %224 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 0, i8 noundef zeroext %223, i32 noundef 1)
          to label %225 unwind label %320

225:                                              ; preds = %221
  br i1 %224, label %392, label %226

226:                                              ; preds = %225
  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 32, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %227 unwind label %324

227:                                              ; preds = %226
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.622)
          to label %228 unwind label %328

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

229:                                              ; preds = %228
  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.623)
          to label %230 unwind label %336

230:                                              ; preds = %229
  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.548)
          to label %231 unwind label %340

231:                                              ; preds = %230
  %232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %233 unwind label %344

233:                                              ; preds = %231
  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 @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %235 unwind label %320

235:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  store i32 0, ptr %30, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %236 unwind label %353

236:                                              ; preds = %235
  %237 = 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) %234, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %238 unwind label %357

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

240:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  %241 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 0) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 1 dereferenceable(1) %241)
          to label %242 unwind label %361

242:                                              ; preds = %240
  %243 = 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) %239, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %244 unwind label %365

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

246:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  store i32 1, ptr %33, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 4 dereferenceable(4) %33)
          to label %247 unwind label %369

247:                                              ; preds = %246
  %248 = 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) %245, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %249 unwind label %373

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

251:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  %252 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 0) #6
  %253 = load i8, ptr %252, align 1, !tbaa !22
  %254 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 0, i8 noundef zeroext %253)
          to label %255 unwind label %377

255:                                              ; preds = %251
  store i32 %254, ptr %35, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %256 unwind label %377

256:                                              ; preds = %255
  %257 = 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) %250, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %258 unwind label %381

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

260:                                              ; preds = %258
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %262 unwind label %381

262:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  invoke void @_Z4failv()
          to label %263 unwind label %320

263:                                              ; preds = %262
  br label %392

264:                                              ; preds = %0
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %3, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %2) #6
  br label %1532

268:                                              ; preds = %164
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %3, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %4, align 4
  br label %1531

272:                                              ; preds = %165
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %3, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %4, align 4
  br label %1530

276:                                              ; preds = %166
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %3, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %4, align 4
  br label %1529

280:                                              ; preds = %174
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %3, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #6
  br label %1528

284:                                              ; preds = %175
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %3, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %4, align 4
  br label %1527

288:                                              ; preds = %176
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %3, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %4, align 4
  br label %1526

292:                                              ; preds = %177
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %3, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %4, align 4
  br label %1525

296:                                              ; preds = %185
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %3, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #6
  br label %1524

300:                                              ; preds = %186
  %301 = landingpad { ptr, i32 }
          cleanup
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %3, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %4, align 4
  br label %1523

304:                                              ; preds = %187
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %3, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %4, align 4
  br label %1522

308:                                              ; preds = %188
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %3, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %4, align 4
  br label %1521

312:                                              ; preds = %196
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %3, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #6
  br label %1520

316:                                              ; preds = %201
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %3, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #6
  br label %1358

320:                                              ; preds = %1099, %1070, %1058, %988, %959, %947, %877, %848, %836, %766, %737, %725, %655, %626, %614, %544, %515, %503, %433, %404, %392, %262, %233, %221, %220, %214
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %3, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %4, align 4
  br label %1357

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

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

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

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

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

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

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

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

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

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

352:                                              ; preds = %351, %324
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  br label %1357

353:                                              ; preds = %235
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %3, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %4, align 4
  br label %391

357:                                              ; preds = %238, %236
  %358 = landingpad { ptr, i32 }
          cleanup
  %359 = extractvalue { ptr, i32 } %358, 0
  store ptr %359, ptr %3, align 8
  %360 = extractvalue { ptr, i32 } %358, 1
  store i32 %360, ptr %4, align 4
  br label %390

361:                                              ; preds = %240
  %362 = landingpad { ptr, i32 }
          cleanup
  %363 = extractvalue { ptr, i32 } %362, 0
  store ptr %363, ptr %3, align 8
  %364 = extractvalue { ptr, i32 } %362, 1
  store i32 %364, ptr %4, align 4
  br label %389

365:                                              ; preds = %244, %242
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %3, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %4, align 4
  br label %388

369:                                              ; preds = %246
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %3, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %4, align 4
  br label %387

373:                                              ; preds = %249, %247
  %374 = landingpad { ptr, i32 }
          cleanup
  %375 = extractvalue { ptr, i32 } %374, 0
  store ptr %375, ptr %3, align 8
  %376 = extractvalue { ptr, i32 } %374, 1
  store i32 %376, ptr %4, align 4
  br label %386

377:                                              ; preds = %255, %251
  %378 = landingpad { ptr, i32 }
          cleanup
  %379 = extractvalue { ptr, i32 } %378, 0
  store ptr %379, ptr %3, align 8
  %380 = extractvalue { ptr, i32 } %378, 1
  store i32 %380, ptr %4, align 4
  br label %385

381:                                              ; preds = %260, %258, %256
  %382 = landingpad { ptr, i32 }
          cleanup
  %383 = extractvalue { ptr, i32 } %382, 0
  store ptr %383, ptr %3, align 8
  %384 = extractvalue { ptr, i32 } %382, 1
  store i32 %384, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %385

385:                                              ; preds = %381, %377
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #6
  br label %386

386:                                              ; preds = %385, %373
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %387

387:                                              ; preds = %386, %369
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #6
  br label %388

388:                                              ; preds = %387, %365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %389

389:                                              ; preds = %388, %361
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  br label %390

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

391:                                              ; preds = %390, %353
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #6
  br label %1357

392:                                              ; preds = %263, %225
  %393 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 1) #6
  %394 = load i8, ptr %393, align 1, !tbaa !22
  %395 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 15, i8 noundef zeroext %394, i32 noundef 1)
          to label %396 unwind label %320

396:                                              ; preds = %392
  br i1 %395, label %503, label %397

397:                                              ; preds = %396
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %398 unwind label %435

398:                                              ; preds = %397
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.624)
          to label %399 unwind label %439

399:                                              ; preds = %398
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.3)
          to label %400 unwind label %443

400:                                              ; preds = %399
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.625)
          to label %401 unwind label %447

401:                                              ; preds = %400
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @.str.548)
          to label %402 unwind label %451

402:                                              ; preds = %401
  %403 = 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) %36)
          to label %404 unwind label %455

404:                                              ; preds = %402
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  %405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %406 unwind label %320

406:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #6
  store i32 15, ptr %43, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %407 unwind label %464

407:                                              ; preds = %406
  %408 = 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) %405, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %409 unwind label %468

409:                                              ; preds = %407
  %410 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %408, ptr noundef @.str.20)
          to label %411 unwind label %468

411:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #6
  %412 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 1) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 1 dereferenceable(1) %412)
          to label %413 unwind label %472

413:                                              ; preds = %411
  %414 = 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) %410, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %415 unwind label %476

415:                                              ; preds = %413
  %416 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %414, ptr noundef @.str.550)
          to label %417 unwind label %476

417:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  store i32 1, ptr %46, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %418 unwind label %480

418:                                              ; preds = %417
  %419 = 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) %416, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %420 unwind label %484

420:                                              ; preds = %418
  %421 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %419, ptr noundef @.str.551)
          to label %422 unwind label %484

422:                                              ; preds = %420
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #6
  %423 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 1) #6
  %424 = load i8, ptr %423, align 1, !tbaa !22
  %425 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 15, i8 noundef zeroext %424)
          to label %426 unwind label %488

426:                                              ; preds = %422
  store i32 %425, ptr %48, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %427 unwind label %488

427:                                              ; preds = %426
  %428 = 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) %421, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %429 unwind label %492

429:                                              ; preds = %427
  %430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %428, ptr noundef @.str.21)
          to label %431 unwind label %492

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %430, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %433 unwind label %492

433:                                              ; preds = %431
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #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) %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  invoke void @_Z4failv()
          to label %434 unwind label %320

434:                                              ; preds = %433
  br label %503

435:                                              ; preds = %397
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %3, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %4, align 4
  br label %463

439:                                              ; preds = %398
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %3, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %4, align 4
  br label %462

443:                                              ; preds = %399
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %3, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %4, align 4
  br label %461

447:                                              ; preds = %400
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %3, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %4, align 4
  br label %460

451:                                              ; preds = %401
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %3, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %4, align 4
  br label %459

455:                                              ; preds = %402
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %3, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %459

459:                                              ; preds = %455, %451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %460

460:                                              ; preds = %459, %447
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %461

461:                                              ; preds = %460, %443
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %462

462:                                              ; preds = %461, %439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %463

463:                                              ; preds = %462, %435
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #6
  br label %1357

464:                                              ; preds = %406
  %465 = landingpad { ptr, i32 }
          cleanup
  %466 = extractvalue { ptr, i32 } %465, 0
  store ptr %466, ptr %3, align 8
  %467 = extractvalue { ptr, i32 } %465, 1
  store i32 %467, ptr %4, align 4
  br label %502

468:                                              ; preds = %409, %407
  %469 = landingpad { ptr, i32 }
          cleanup
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %3, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %4, align 4
  br label %501

472:                                              ; preds = %411
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %3, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %4, align 4
  br label %500

476:                                              ; preds = %415, %413
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %3, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %4, align 4
  br label %499

480:                                              ; preds = %417
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %3, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %4, align 4
  br label %498

484:                                              ; preds = %420, %418
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %3, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %4, align 4
  br label %497

488:                                              ; preds = %426, %422
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %3, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %4, align 4
  br label %496

492:                                              ; preds = %431, %429, %427
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %3, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %496

496:                                              ; preds = %492, %488
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #6
  br label %497

497:                                              ; preds = %496, %484
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %498

498:                                              ; preds = %497, %480
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %499

499:                                              ; preds = %498, %476
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %500

500:                                              ; preds = %499, %472
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #6
  br label %501

501:                                              ; preds = %500, %468
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %502

502:                                              ; preds = %501, %464
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #6
  br label %1357

503:                                              ; preds = %434, %396
  %504 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 2) #6
  %505 = load i8, ptr %504, align 1, !tbaa !22
  %506 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 52, i8 noundef zeroext %505, i32 noundef 1)
          to label %507 unwind label %320

507:                                              ; preds = %503
  br i1 %506, label %614, label %508

508:                                              ; preds = %507
  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 %509 unwind label %546

509:                                              ; preds = %508
  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.626)
          to label %510 unwind label %550

510:                                              ; preds = %509
  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 %511 unwind label %554

511:                                              ; preds = %510
  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.627)
          to label %512 unwind label %558

512:                                              ; preds = %511
  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.548)
          to label %513 unwind label %562

513:                                              ; preds = %512
  %514 = 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 %515 unwind label %566

515:                                              ; preds = %513
  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
  %516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %517 unwind label %320

517:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  store i32 52, ptr %56, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 4 dereferenceable(4) %56)
          to label %518 unwind label %575

518:                                              ; preds = %517
  %519 = 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) %516, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %520 unwind label %579

520:                                              ; preds = %518
  %521 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %519, ptr noundef @.str.20)
          to label %522 unwind label %579

522:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #6
  %523 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 2) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 1 dereferenceable(1) %523)
          to label %524 unwind label %583

524:                                              ; preds = %522
  %525 = 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) %521, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %526 unwind label %587

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

528:                                              ; preds = %526
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i32 1, ptr %59, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %529 unwind label %591

529:                                              ; preds = %528
  %530 = 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) %527, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %531 unwind label %595

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

533:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #6
  %534 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 2) #6
  %535 = load i8, ptr %534, align 1, !tbaa !22
  %536 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 52, i8 noundef zeroext %535)
          to label %537 unwind label %599

537:                                              ; preds = %533
  store i32 %536, ptr %61, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %538 unwind label %599

538:                                              ; preds = %537
  %539 = 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) %532, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %540 unwind label %603

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

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

544:                                              ; preds = %542
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  invoke void @_Z4failv()
          to label %545 unwind label %320

545:                                              ; preds = %544
  br label %614

546:                                              ; preds = %508
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %3, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %4, align 4
  br label %574

550:                                              ; preds = %509
  %551 = landingpad { ptr, i32 }
          cleanup
  %552 = extractvalue { ptr, i32 } %551, 0
  store ptr %552, ptr %3, align 8
  %553 = extractvalue { ptr, i32 } %551, 1
  store i32 %553, ptr %4, align 4
  br label %573

554:                                              ; preds = %510
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %3, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %4, align 4
  br label %572

558:                                              ; preds = %511
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %3, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %4, align 4
  br label %571

562:                                              ; preds = %512
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %3, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %4, align 4
  br label %570

566:                                              ; preds = %513
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %3, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %570

570:                                              ; preds = %566, %562
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %571

571:                                              ; preds = %570, %558
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %572

572:                                              ; preds = %571, %554
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %573

573:                                              ; preds = %572, %550
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %574

574:                                              ; preds = %573, %546
  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 %1357

575:                                              ; preds = %517
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %3, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %4, align 4
  br label %613

579:                                              ; preds = %520, %518
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %3, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %4, align 4
  br label %612

583:                                              ; preds = %522
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %3, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %4, align 4
  br label %611

587:                                              ; preds = %526, %524
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %3, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %4, align 4
  br label %610

591:                                              ; preds = %528
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %3, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %4, align 4
  br label %609

595:                                              ; preds = %531, %529
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %3, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %4, align 4
  br label %608

599:                                              ; preds = %537, %533
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %3, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %4, align 4
  br label %607

603:                                              ; preds = %542, %540, %538
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %3, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %607

607:                                              ; preds = %603, %599
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #6
  br label %608

608:                                              ; preds = %607, %595
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %609

609:                                              ; preds = %608, %591
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %610

610:                                              ; preds = %609, %587
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %611

611:                                              ; preds = %610, %583
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #6
  br label %612

612:                                              ; preds = %611, %579
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %613

613:                                              ; preds = %612, %575
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #6
  br label %1357

614:                                              ; preds = %545, %507
  %615 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 3) #6
  %616 = load i8, ptr %615, align 1, !tbaa !22
  %617 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 94, i8 noundef zeroext %616, i32 noundef 1)
          to label %618 unwind label %320

618:                                              ; preds = %614
  br i1 %617, label %725, label %619

619:                                              ; preds = %618
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #6
  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 32, ptr %66) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %620 unwind label %657

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 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.628)
          to label %621 unwind label %661

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 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.3)
          to label %622 unwind label %665

622:                                              ; preds = %621
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.629)
          to label %623 unwind label %669

623:                                              ; preds = %622
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.548)
          to label %624 unwind label %673

624:                                              ; preds = %623
  %625 = 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) %62)
          to label %626 unwind label %677

626:                                              ; preds = %624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  %627 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %628 unwind label %320

628:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #6
  store i32 94, ptr %69, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %629 unwind label %686

629:                                              ; preds = %628
  %630 = 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) %627, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %631 unwind label %690

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

633:                                              ; preds = %631
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #6
  %634 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 3) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 1 dereferenceable(1) %634)
          to label %635 unwind label %694

635:                                              ; preds = %633
  %636 = 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) %632, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %637 unwind label %698

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

639:                                              ; preds = %637
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #6
  store i32 1, ptr %72, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 4 dereferenceable(4) %72)
          to label %640 unwind label %702

640:                                              ; preds = %639
  %641 = 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) %638, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %642 unwind label %706

642:                                              ; preds = %640
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %641, ptr noundef @.str.551)
          to label %644 unwind label %706

644:                                              ; preds = %642
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #6
  %645 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 3) #6
  %646 = load i8, ptr %645, align 1, !tbaa !22
  %647 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 94, i8 noundef zeroext %646)
          to label %648 unwind label %710

648:                                              ; preds = %644
  store i32 %647, ptr %74, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %649 unwind label %710

649:                                              ; preds = %648
  %650 = 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) %643, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %651 unwind label %714

651:                                              ; preds = %649
  %652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %650, ptr noundef @.str.21)
          to label %653 unwind label %714

653:                                              ; preds = %651
  %654 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %652, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %655 unwind label %714

655:                                              ; preds = %653
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  invoke void @_Z4failv()
          to label %656 unwind label %320

656:                                              ; preds = %655
  br label %725

657:                                              ; preds = %619
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %3, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %4, align 4
  br label %685

661:                                              ; preds = %620
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %3, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %4, align 4
  br label %684

665:                                              ; preds = %621
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %3, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %4, align 4
  br label %683

669:                                              ; preds = %622
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %3, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %4, align 4
  br label %682

673:                                              ; preds = %623
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %3, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %4, align 4
  br label %681

677:                                              ; preds = %624
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %3, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %681

681:                                              ; preds = %677, %673
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %682

682:                                              ; preds = %681, %669
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %683

683:                                              ; preds = %682, %665
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #6
  br label %684

684:                                              ; preds = %683, %661
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %685

685:                                              ; preds = %684, %657
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #6
  br label %1357

686:                                              ; preds = %628
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %3, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %4, align 4
  br label %724

690:                                              ; preds = %631, %629
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %3, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %4, align 4
  br label %723

694:                                              ; preds = %633
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %3, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %4, align 4
  br label %722

698:                                              ; preds = %637, %635
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %3, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %4, align 4
  br label %721

702:                                              ; preds = %639
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %3, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %4, align 4
  br label %720

706:                                              ; preds = %642, %640
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %3, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %4, align 4
  br label %719

710:                                              ; preds = %648, %644
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %3, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %4, align 4
  br label %718

714:                                              ; preds = %653, %651, %649
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %3, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %718

718:                                              ; preds = %714, %710
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %719

719:                                              ; preds = %718, %706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %720

720:                                              ; preds = %719, %702
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  br label %721

721:                                              ; preds = %720, %698
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #6
  br label %722

722:                                              ; preds = %721, %694
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #6
  br label %723

723:                                              ; preds = %722, %690
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %724

724:                                              ; preds = %723, %686
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #6
  br label %1357

725:                                              ; preds = %656, %618
  %726 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 4) #6
  %727 = load i8, ptr %726, align 1, !tbaa !22
  %728 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 139, i8 noundef zeroext %727, i32 noundef 1)
          to label %729 unwind label %320

729:                                              ; preds = %725
  br i1 %728, label %836, label %730

730:                                              ; preds = %729
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %731 unwind label %768

731:                                              ; preds = %730
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.630)
          to label %732 unwind label %772

732:                                              ; preds = %731
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.3)
          to label %733 unwind label %776

733:                                              ; preds = %732
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.631)
          to label %734 unwind label %780

734:                                              ; preds = %733
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.548)
          to label %735 unwind label %784

735:                                              ; preds = %734
  %736 = 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) %75)
          to label %737 unwind label %788

737:                                              ; preds = %735
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %739 unwind label %320

739:                                              ; preds = %737
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #6
  store i32 139, ptr %82, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %740 unwind label %797

740:                                              ; preds = %739
  %741 = 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) %738, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %742 unwind label %801

742:                                              ; preds = %740
  %743 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %741, ptr noundef @.str.20)
          to label %744 unwind label %801

744:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #6
  %745 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 4) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 1 dereferenceable(1) %745)
          to label %746 unwind label %805

746:                                              ; preds = %744
  %747 = 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) %743, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %748 unwind label %809

748:                                              ; preds = %746
  %749 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %747, ptr noundef @.str.550)
          to label %750 unwind label %809

750:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #6
  store i32 1, ptr %85, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 4 dereferenceable(4) %85)
          to label %751 unwind label %813

751:                                              ; preds = %750
  %752 = 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) %749, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %753 unwind label %817

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

755:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #6
  %756 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 4) #6
  %757 = load i8, ptr %756, align 1, !tbaa !22
  %758 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 139, i8 noundef zeroext %757)
          to label %759 unwind label %821

759:                                              ; preds = %755
  store i32 %758, ptr %87, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 4 dereferenceable(4) %87)
          to label %760 unwind label %821

760:                                              ; preds = %759
  %761 = 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) %754, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %762 unwind label %825

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

764:                                              ; preds = %762
  %765 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %763, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %766 unwind label %825

766:                                              ; preds = %764
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #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) %84) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  invoke void @_Z4failv()
          to label %767 unwind label %320

767:                                              ; preds = %766
  br label %836

768:                                              ; preds = %730
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %3, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %4, align 4
  br label %796

772:                                              ; preds = %731
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %3, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %4, align 4
  br label %795

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

780:                                              ; preds = %733
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %3, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %4, align 4
  br label %793

784:                                              ; preds = %734
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %3, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %4, align 4
  br label %792

788:                                              ; preds = %735
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %3, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %792

792:                                              ; preds = %788, %784
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %793

793:                                              ; preds = %792, %780
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %794

794:                                              ; preds = %793, %776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #6
  br label %795

795:                                              ; preds = %794, %772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %796

796:                                              ; preds = %795, %768
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  br label %1357

797:                                              ; preds = %739
  %798 = landingpad { ptr, i32 }
          cleanup
  %799 = extractvalue { ptr, i32 } %798, 0
  store ptr %799, ptr %3, align 8
  %800 = extractvalue { ptr, i32 } %798, 1
  store i32 %800, ptr %4, align 4
  br label %835

801:                                              ; preds = %742, %740
  %802 = landingpad { ptr, i32 }
          cleanup
  %803 = extractvalue { ptr, i32 } %802, 0
  store ptr %803, ptr %3, align 8
  %804 = extractvalue { ptr, i32 } %802, 1
  store i32 %804, ptr %4, align 4
  br label %834

805:                                              ; preds = %744
  %806 = landingpad { ptr, i32 }
          cleanup
  %807 = extractvalue { ptr, i32 } %806, 0
  store ptr %807, ptr %3, align 8
  %808 = extractvalue { ptr, i32 } %806, 1
  store i32 %808, ptr %4, align 4
  br label %833

809:                                              ; preds = %748, %746
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %3, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %4, align 4
  br label %832

813:                                              ; preds = %750
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %3, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %4, align 4
  br label %831

817:                                              ; preds = %753, %751
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %3, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %4, align 4
  br label %830

821:                                              ; preds = %759, %755
  %822 = landingpad { ptr, i32 }
          cleanup
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %3, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %4, align 4
  br label %829

825:                                              ; preds = %764, %762, %760
  %826 = landingpad { ptr, i32 }
          cleanup
  %827 = extractvalue { ptr, i32 } %826, 0
  store ptr %827, ptr %3, align 8
  %828 = extractvalue { ptr, i32 } %826, 1
  store i32 %828, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %829

829:                                              ; preds = %825, %821
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %830

830:                                              ; preds = %829, %817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %831

831:                                              ; preds = %830, %813
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #6
  br label %832

832:                                              ; preds = %831, %809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %833

833:                                              ; preds = %832, %805
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #6
  br label %834

834:                                              ; preds = %833, %801
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #6
  br label %835

835:                                              ; preds = %834, %797
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #6
  br label %1357

836:                                              ; preds = %767, %729
  %837 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 5) #6
  %838 = load i8, ptr %837, align 1, !tbaa !22
  %839 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 187, i8 noundef zeroext %838, i32 noundef 1)
          to label %840 unwind label %320

840:                                              ; preds = %836
  br i1 %839, label %947, label %841

841:                                              ; preds = %840
  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 32, ptr %92) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %842 unwind label %879

842:                                              ; preds = %841
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef @.str.632)
          to label %843 unwind label %883

843:                                              ; preds = %842
  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.3)
          to label %844 unwind label %887

844:                                              ; preds = %843
  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.633)
          to label %845 unwind label %891

845:                                              ; preds = %844
  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.548)
          to label %846 unwind label %895

846:                                              ; preds = %845
  %847 = 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) %88)
          to label %848 unwind label %899

848:                                              ; preds = %846
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  %849 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %850 unwind label %320

850:                                              ; preds = %848
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #6
  store i32 187, ptr %95, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 4 dereferenceable(4) %95)
          to label %851 unwind label %908

851:                                              ; preds = %850
  %852 = 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) %849, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %853 unwind label %912

853:                                              ; preds = %851
  %854 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %852, ptr noundef @.str.20)
          to label %855 unwind label %912

855:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #6
  %856 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 5) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 1 dereferenceable(1) %856)
          to label %857 unwind label %916

857:                                              ; preds = %855
  %858 = 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) %854, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %859 unwind label %920

859:                                              ; preds = %857
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %858, ptr noundef @.str.550)
          to label %861 unwind label %920

861:                                              ; preds = %859
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #6
  store i32 1, ptr %98, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 4 dereferenceable(4) %98)
          to label %862 unwind label %924

862:                                              ; preds = %861
  %863 = 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) %860, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %864 unwind label %928

864:                                              ; preds = %862
  %865 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %863, ptr noundef @.str.551)
          to label %866 unwind label %928

866:                                              ; preds = %864
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #6
  %867 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 5) #6
  %868 = load i8, ptr %867, align 1, !tbaa !22
  %869 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 187, i8 noundef zeroext %868)
          to label %870 unwind label %932

870:                                              ; preds = %866
  store i32 %869, ptr %100, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull align 4 dereferenceable(4) %100)
          to label %871 unwind label %932

871:                                              ; preds = %870
  %872 = 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) %865, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %873 unwind label %936

873:                                              ; preds = %871
  %874 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %872, ptr noundef @.str.21)
          to label %875 unwind label %936

875:                                              ; preds = %873
  %876 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %874, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %877 unwind label %936

877:                                              ; preds = %875
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  invoke void @_Z4failv()
          to label %878 unwind label %320

878:                                              ; preds = %877
  br label %947

879:                                              ; preds = %841
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %3, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %4, align 4
  br label %907

883:                                              ; preds = %842
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %3, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %4, align 4
  br label %906

887:                                              ; preds = %843
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %3, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %4, align 4
  br label %905

891:                                              ; preds = %844
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %3, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %4, align 4
  br label %904

895:                                              ; preds = %845
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %3, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %4, align 4
  br label %903

899:                                              ; preds = %846
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %3, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %903

903:                                              ; preds = %899, %895
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #6
  br label %904

904:                                              ; preds = %903, %891
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %905

905:                                              ; preds = %904, %887
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  br label %906

906:                                              ; preds = %905, %883
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %907

907:                                              ; preds = %906, %879
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %1357

908:                                              ; preds = %850
  %909 = landingpad { ptr, i32 }
          cleanup
  %910 = extractvalue { ptr, i32 } %909, 0
  store ptr %910, ptr %3, align 8
  %911 = extractvalue { ptr, i32 } %909, 1
  store i32 %911, ptr %4, align 4
  br label %946

912:                                              ; preds = %853, %851
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %3, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %4, align 4
  br label %945

916:                                              ; preds = %855
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %3, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %4, align 4
  br label %944

920:                                              ; preds = %859, %857
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %3, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %4, align 4
  br label %943

924:                                              ; preds = %861
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %3, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %4, align 4
  br label %942

928:                                              ; preds = %864, %862
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %3, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %4, align 4
  br label %941

932:                                              ; preds = %870, %866
  %933 = landingpad { ptr, i32 }
          cleanup
  %934 = extractvalue { ptr, i32 } %933, 0
  store ptr %934, ptr %3, align 8
  %935 = extractvalue { ptr, i32 } %933, 1
  store i32 %935, ptr %4, align 4
  br label %940

936:                                              ; preds = %875, %873, %871
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %3, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %940

940:                                              ; preds = %936, %932
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #6
  br label %941

941:                                              ; preds = %940, %928
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %942

942:                                              ; preds = %941, %924
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #6
  br label %943

943:                                              ; preds = %942, %920
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %944

944:                                              ; preds = %943, %916
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #6
  br label %945

945:                                              ; preds = %944, %912
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %946

946:                                              ; preds = %945, %908
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %1357

947:                                              ; preds = %878, %840
  %948 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 6) #6
  %949 = load i8, ptr %948, align 1, !tbaa !22
  %950 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 236, i8 noundef zeroext %949, i32 noundef 1)
          to label %951 unwind label %320

951:                                              ; preds = %947
  br i1 %950, label %1058, label %952

952:                                              ; preds = %951
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %105) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %953 unwind label %990

953:                                              ; preds = %952
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef @.str.634)
          to label %954 unwind label %994

954:                                              ; preds = %953
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef @.str.3)
          to label %955 unwind label %998

955:                                              ; preds = %954
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef @.str.635)
          to label %956 unwind label %1002

956:                                              ; preds = %955
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.548)
          to label %957 unwind label %1006

957:                                              ; preds = %956
  %958 = 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) %101)
          to label %959 unwind label %1010

959:                                              ; preds = %957
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #6
  %960 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %961 unwind label %320

961:                                              ; preds = %959
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #6
  store i32 236, ptr %108, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull align 4 dereferenceable(4) %108)
          to label %962 unwind label %1019

962:                                              ; preds = %961
  %963 = 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) %960, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %964 unwind label %1023

964:                                              ; preds = %962
  %965 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %963, ptr noundef @.str.20)
          to label %966 unwind label %1023

966:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #6
  %967 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 6) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 1 dereferenceable(1) %967)
          to label %968 unwind label %1027

968:                                              ; preds = %966
  %969 = 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) %965, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %970 unwind label %1031

970:                                              ; preds = %968
  %971 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %969, ptr noundef @.str.550)
          to label %972 unwind label %1031

972:                                              ; preds = %970
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #6
  store i32 1, ptr %111, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull align 4 dereferenceable(4) %111)
          to label %973 unwind label %1035

973:                                              ; preds = %972
  %974 = 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) %971, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %975 unwind label %1039

975:                                              ; preds = %973
  %976 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %974, ptr noundef @.str.551)
          to label %977 unwind label %1039

977:                                              ; preds = %975
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #6
  %978 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 6) #6
  %979 = load i8, ptr %978, align 1, !tbaa !22
  %980 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 236, i8 noundef zeroext %979)
          to label %981 unwind label %1043

981:                                              ; preds = %977
  store i32 %980, ptr %113, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 4 dereferenceable(4) %113)
          to label %982 unwind label %1043

982:                                              ; preds = %981
  %983 = 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) %976, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %984 unwind label %1047

984:                                              ; preds = %982
  %985 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %983, ptr noundef @.str.21)
          to label %986 unwind label %1047

986:                                              ; preds = %984
  %987 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %985, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %988 unwind label %1047

988:                                              ; preds = %986
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #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) %107) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #6
  invoke void @_Z4failv()
          to label %989 unwind label %320

989:                                              ; preds = %988
  br label %1058

990:                                              ; preds = %952
  %991 = landingpad { ptr, i32 }
          cleanup
  %992 = extractvalue { ptr, i32 } %991, 0
  store ptr %992, ptr %3, align 8
  %993 = extractvalue { ptr, i32 } %991, 1
  store i32 %993, ptr %4, align 4
  br label %1018

994:                                              ; preds = %953
  %995 = landingpad { ptr, i32 }
          cleanup
  %996 = extractvalue { ptr, i32 } %995, 0
  store ptr %996, ptr %3, align 8
  %997 = extractvalue { ptr, i32 } %995, 1
  store i32 %997, ptr %4, align 4
  br label %1017

998:                                              ; preds = %954
  %999 = landingpad { ptr, i32 }
          cleanup
  %1000 = extractvalue { ptr, i32 } %999, 0
  store ptr %1000, ptr %3, align 8
  %1001 = extractvalue { ptr, i32 } %999, 1
  store i32 %1001, ptr %4, align 4
  br label %1016

1002:                                             ; preds = %955
  %1003 = landingpad { ptr, i32 }
          cleanup
  %1004 = extractvalue { ptr, i32 } %1003, 0
  store ptr %1004, ptr %3, align 8
  %1005 = extractvalue { ptr, i32 } %1003, 1
  store i32 %1005, ptr %4, align 4
  br label %1015

1006:                                             ; preds = %956
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %3, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %4, align 4
  br label %1014

1010:                                             ; preds = %957
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %3, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %1014

1014:                                             ; preds = %1010, %1006
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %1015

1015:                                             ; preds = %1014, %1002
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %1016

1016:                                             ; preds = %1015, %998
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %1017

1017:                                             ; preds = %1016, %994
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %1018

1018:                                             ; preds = %1017, %990
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #6
  br label %1357

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

1023:                                             ; preds = %964, %962
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %3, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %4, align 4
  br label %1056

1027:                                             ; preds = %966
  %1028 = landingpad { ptr, i32 }
          cleanup
  %1029 = extractvalue { ptr, i32 } %1028, 0
  store ptr %1029, ptr %3, align 8
  %1030 = extractvalue { ptr, i32 } %1028, 1
  store i32 %1030, ptr %4, align 4
  br label %1055

1031:                                             ; preds = %970, %968
  %1032 = landingpad { ptr, i32 }
          cleanup
  %1033 = extractvalue { ptr, i32 } %1032, 0
  store ptr %1033, ptr %3, align 8
  %1034 = extractvalue { ptr, i32 } %1032, 1
  store i32 %1034, ptr %4, align 4
  br label %1054

1035:                                             ; preds = %972
  %1036 = landingpad { ptr, i32 }
          cleanup
  %1037 = extractvalue { ptr, i32 } %1036, 0
  store ptr %1037, ptr %3, align 8
  %1038 = extractvalue { ptr, i32 } %1036, 1
  store i32 %1038, ptr %4, align 4
  br label %1053

1039:                                             ; preds = %975, %973
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %3, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %4, align 4
  br label %1052

1043:                                             ; preds = %981, %977
  %1044 = landingpad { ptr, i32 }
          cleanup
  %1045 = extractvalue { ptr, i32 } %1044, 0
  store ptr %1045, ptr %3, align 8
  %1046 = extractvalue { ptr, i32 } %1044, 1
  store i32 %1046, ptr %4, align 4
  br label %1051

1047:                                             ; preds = %986, %984, %982
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %3, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %1051

1051:                                             ; preds = %1047, %1043
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #6
  br label %1052

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

1053:                                             ; preds = %1052, %1035
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #6
  br label %1054

1054:                                             ; preds = %1053, %1031
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #6
  br label %1055

1055:                                             ; preds = %1054, %1027
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #6
  br label %1056

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

1057:                                             ; preds = %1056, %1019
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #6
  br label %1357

1058:                                             ; preds = %989, %951
  %1059 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 7) #6
  %1060 = load i8, ptr %1059, align 1, !tbaa !22
  %1061 = invoke noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 255, i8 noundef zeroext %1060, i32 noundef 1)
          to label %1062 unwind label %320

1062:                                             ; preds = %1058
  br i1 %1061, label %1169, label %1063

1063:                                             ; preds = %1062
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1064 unwind label %1101

1064:                                             ; preds = %1063
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.636)
          to label %1065 unwind label %1105

1065:                                             ; preds = %1064
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.3)
          to label %1066 unwind label %1109

1066:                                             ; preds = %1065
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %115, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.637)
          to label %1067 unwind label %1113

1067:                                             ; preds = %1066
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.548)
          to label %1068 unwind label %1117

1068:                                             ; preds = %1067
  %1069 = 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) %114)
          to label %1070 unwind label %1121

1070:                                             ; preds = %1068
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  %1071 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %1072 unwind label %320

1072:                                             ; preds = %1070
  call void @llvm.lifetime.start.p0(i64 32, ptr %120) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #6
  store i32 255, ptr %121, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %120, ptr noundef nonnull align 4 dereferenceable(4) %121)
          to label %1073 unwind label %1130

1073:                                             ; preds = %1072
  %1074 = 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) %1071, ptr noundef nonnull align 8 dereferenceable(32) %120)
          to label %1075 unwind label %1134

1075:                                             ; preds = %1073
  %1076 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1074, ptr noundef @.str.20)
          to label %1077 unwind label %1134

1077:                                             ; preds = %1075
  call void @llvm.lifetime.start.p0(i64 32, ptr %122) #6
  %1078 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 7) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 1 dereferenceable(1) %1078)
          to label %1079 unwind label %1138

1079:                                             ; preds = %1077
  %1080 = 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) %1076, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %1081 unwind label %1142

1081:                                             ; preds = %1079
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1080, ptr noundef @.str.550)
          to label %1083 unwind label %1142

1083:                                             ; preds = %1081
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #6
  store i32 1, ptr %124, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull align 4 dereferenceable(4) %124)
          to label %1084 unwind label %1146

1084:                                             ; preds = %1083
  %1085 = 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) %1082, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1086 unwind label %1150

1086:                                             ; preds = %1084
  %1087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1085, ptr noundef @.str.551)
          to label %1088 unwind label %1150

1088:                                             ; preds = %1086
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #6
  %1089 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef 7) #6
  %1090 = load i8, ptr %1089, align 1, !tbaa !22
  %1091 = invoke noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 255, i8 noundef zeroext %1090)
          to label %1092 unwind label %1154

1092:                                             ; preds = %1088
  store i32 %1091, ptr %126, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull align 4 dereferenceable(4) %126)
          to label %1093 unwind label %1154

1093:                                             ; preds = %1092
  %1094 = 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) %1087, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1095 unwind label %1158

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

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

1099:                                             ; preds = %1097
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %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 %122) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #6
  invoke void @_Z4failv()
          to label %1100 unwind label %320

1100:                                             ; preds = %1099
  br label %1169

1101:                                             ; preds = %1063
  %1102 = landingpad { ptr, i32 }
          cleanup
  %1103 = extractvalue { ptr, i32 } %1102, 0
  store ptr %1103, ptr %3, align 8
  %1104 = extractvalue { ptr, i32 } %1102, 1
  store i32 %1104, ptr %4, align 4
  br label %1129

1105:                                             ; preds = %1064
  %1106 = landingpad { ptr, i32 }
          cleanup
  %1107 = extractvalue { ptr, i32 } %1106, 0
  store ptr %1107, ptr %3, align 8
  %1108 = extractvalue { ptr, i32 } %1106, 1
  store i32 %1108, ptr %4, align 4
  br label %1128

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

1113:                                             ; preds = %1066
  %1114 = landingpad { ptr, i32 }
          cleanup
  %1115 = extractvalue { ptr, i32 } %1114, 0
  store ptr %1115, ptr %3, align 8
  %1116 = extractvalue { ptr, i32 } %1114, 1
  store i32 %1116, ptr %4, align 4
  br label %1126

1117:                                             ; preds = %1067
  %1118 = landingpad { ptr, i32 }
          cleanup
  %1119 = extractvalue { ptr, i32 } %1118, 0
  store ptr %1119, ptr %3, align 8
  %1120 = extractvalue { ptr, i32 } %1118, 1
  store i32 %1120, ptr %4, align 4
  br label %1125

1121:                                             ; preds = %1068
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %3, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %1125

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

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

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

1128:                                             ; preds = %1127, %1105
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %1129

1129:                                             ; preds = %1128, %1101
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  br label %1357

1130:                                             ; preds = %1072
  %1131 = landingpad { ptr, i32 }
          cleanup
  %1132 = extractvalue { ptr, i32 } %1131, 0
  store ptr %1132, ptr %3, align 8
  %1133 = extractvalue { ptr, i32 } %1131, 1
  store i32 %1133, ptr %4, align 4
  br label %1168

1134:                                             ; preds = %1075, %1073
  %1135 = landingpad { ptr, i32 }
          cleanup
  %1136 = extractvalue { ptr, i32 } %1135, 0
  store ptr %1136, ptr %3, align 8
  %1137 = extractvalue { ptr, i32 } %1135, 1
  store i32 %1137, ptr %4, align 4
  br label %1167

1138:                                             ; preds = %1077
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %3, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %4, align 4
  br label %1166

1142:                                             ; preds = %1081, %1079
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %3, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %4, align 4
  br label %1165

1146:                                             ; preds = %1083
  %1147 = landingpad { ptr, i32 }
          cleanup
  %1148 = extractvalue { ptr, i32 } %1147, 0
  store ptr %1148, ptr %3, align 8
  %1149 = extractvalue { ptr, i32 } %1147, 1
  store i32 %1149, ptr %4, align 4
  br label %1164

1150:                                             ; preds = %1086, %1084
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %3, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %4, align 4
  br label %1163

1154:                                             ; preds = %1092, %1088
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %3, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %4, align 4
  br label %1162

1158:                                             ; preds = %1097, %1095, %1093
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %3, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %1162

1162:                                             ; preds = %1158, %1154
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #6
  br label %1163

1163:                                             ; preds = %1162, %1150
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %1164

1164:                                             ; preds = %1163, %1146
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #6
  br label %1165

1165:                                             ; preds = %1164, %1142
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %1166

1166:                                             ; preds = %1165, %1138
  call void @llvm.lifetime.end.p0(i64 32, ptr %122) #6
  br label %1167

1167:                                             ; preds = %1166, %1134
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #6
  br label %1168

1168:                                             ; preds = %1167, %1130
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %120) #6
  br label %1357

1169:                                             ; preds = %1100, %1062
  call void @llvm.lifetime.start.p0(i64 24, ptr %127) #6
  %1170 = load i32, ptr %15, align 4, !tbaa !21
  %1171 = load i32, ptr %16, align 4, !tbaa !21
  %1172 = mul i32 %1170, %1171
  %1173 = zext i32 %1172 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #6
  store i8 -1, ptr %128, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %1173, ptr noundef nonnull align 1 dereferenceable(1) %128, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %1174 unwind label %1186

1174:                                             ; preds = %1169
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #6
  %1175 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  %1176 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  %1177 = load i32, ptr %15, align 4, !tbaa !21
  %1178 = load i32, ptr %16, align 4, !tbaa !21
  %1179 = invoke noundef i32 @_ZN7lodepng15convertFromSrgbEPhPKhjjPK12LodePNGState(ptr noundef %1175, ptr noundef %1176, i32 noundef %1177, i32 noundef %1178, ptr noundef %10)
          to label %1180 unwind label %1190

1180:                                             ; preds = %1174
  invoke void @_Z13assertNoErrorj(i32 noundef %1179)
          to label %1181 unwind label %1190

1181:                                             ; preds = %1180
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #6
  store i64 0, ptr %130, align 8, !tbaa !23
  br label %1182

1182:                                             ; preds = %1321, %1181
  %1183 = load i64, ptr %130, align 8, !tbaa !23
  %1184 = icmp ult i64 %1183, 8
  br i1 %1184, label %1194, label %1185

1185:                                             ; preds = %1182
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #6
  br label %1325

1186:                                             ; preds = %1169
  %1187 = landingpad { ptr, i32 }
          cleanup
  %1188 = extractvalue { ptr, i32 } %1187, 0
  store ptr %1188, ptr %3, align 8
  %1189 = extractvalue { ptr, i32 } %1187, 1
  store i32 %1189, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #6
  br label %1356

1190:                                             ; preds = %1180, %1174
  %1191 = landingpad { ptr, i32 }
          cleanup
  %1192 = extractvalue { ptr, i32 } %1191, 0
  store ptr %1192, ptr %3, align 8
  %1193 = extractvalue { ptr, i32 } %1191, 1
  store i32 %1193, ptr %4, align 4
  br label %1355

1194:                                             ; preds = %1182
  %1195 = load i64, ptr %130, align 8, !tbaa !23
  %1196 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1195) #6
  %1197 = load i8, ptr %1196, align 1, !tbaa !22
  %1198 = load i64, ptr %130, align 8, !tbaa !23
  %1199 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %1198) #6
  %1200 = load i8, ptr %1199, align 1, !tbaa !22
  %1201 = invoke noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext %1197, i8 noundef zeroext %1200, i32 noundef 1)
          to label %1202 unwind label %1248

1202:                                             ; preds = %1194
  br i1 %1201, label %1320, label %1203

1203:                                             ; preds = %1202
  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 32, ptr %134) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %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 @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1204 unwind label %1252

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 %134, ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef @.str.638)
          to label %1205 unwind label %1256

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 %133, ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.3)
          to label %1206 unwind label %1260

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 %132, ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef @.str.613)
          to label %1207 unwind label %1264

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 %131, ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef @.str.548)
          to label %1208 unwind label %1268

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) %131)
          to label %1210 unwind label %1272

1210:                                             ; preds = %1208
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  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 %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  %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.549)
          to label %1212 unwind label %1248

1212:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #6
  %1213 = load i64, ptr %130, align 8, !tbaa !23
  %1214 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1213) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 1 dereferenceable(1) %1214)
          to label %1215 unwind label %1281

1215:                                             ; preds = %1212
  %1216 = 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) %137)
          to label %1217 unwind label %1285

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

1219:                                             ; preds = %1217
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #6
  %1220 = load i64, ptr %130, align 8, !tbaa !23
  %1221 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %1220) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 1 dereferenceable(1) %1221)
          to label %1222 unwind label %1289

1222:                                             ; preds = %1219
  %1223 = 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) %1218, ptr noundef nonnull align 8 dereferenceable(32) %138)
          to label %1224 unwind label %1293

1224:                                             ; preds = %1222
  %1225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1223, ptr noundef @.str.550)
          to label %1226 unwind label %1293

1226:                                             ; preds = %1224
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #6
  store i32 1, ptr %140, align 4, !tbaa !21
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %139, ptr noundef nonnull align 4 dereferenceable(4) %140)
          to label %1227 unwind label %1297

1227:                                             ; preds = %1226
  %1228 = 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) %1225, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1229 unwind label %1301

1229:                                             ; preds = %1227
  %1230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1228, ptr noundef @.str.551)
          to label %1231 unwind label %1301

1231:                                             ; preds = %1229
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #6
  %1232 = load i64, ptr %130, align 8, !tbaa !23
  %1233 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1232) #6
  %1234 = load i8, ptr %1233, align 1, !tbaa !22
  %1235 = load i64, ptr %130, align 8, !tbaa !23
  %1236 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %1235) #6
  %1237 = load i8, ptr %1236, align 1, !tbaa !22
  %1238 = invoke noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext %1234, i8 noundef zeroext %1237)
          to label %1239 unwind label %1305

1239:                                             ; preds = %1231
  store i8 %1238, ptr %142, align 1, !tbaa !22
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %141, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %1240 unwind label %1305

1240:                                             ; preds = %1239
  %1241 = 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) %1230, ptr noundef nonnull align 8 dereferenceable(32) %141)
          to label %1242 unwind label %1309

1242:                                             ; preds = %1240
  %1243 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1241, ptr noundef @.str.21)
          to label %1244 unwind label %1309

1244:                                             ; preds = %1242
  %1245 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1243, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1246 unwind label %1309

1246:                                             ; preds = %1244
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #6
  invoke void @_Z4failv()
          to label %1247 unwind label %1248

1247:                                             ; preds = %1246
  br label %1320

1248:                                             ; preds = %1246, %1210, %1194
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %3, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %4, align 4
  br label %1324

1252:                                             ; preds = %1203
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %3, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %4, align 4
  br label %1280

1256:                                             ; preds = %1204
  %1257 = landingpad { ptr, i32 }
          cleanup
  %1258 = extractvalue { ptr, i32 } %1257, 0
  store ptr %1258, ptr %3, align 8
  %1259 = extractvalue { ptr, i32 } %1257, 1
  store i32 %1259, ptr %4, align 4
  br label %1279

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

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

1268:                                             ; preds = %1207
  %1269 = landingpad { ptr, i32 }
          cleanup
  %1270 = extractvalue { ptr, i32 } %1269, 0
  store ptr %1270, ptr %3, align 8
  %1271 = extractvalue { ptr, i32 } %1269, 1
  store i32 %1271, ptr %4, align 4
  br label %1276

1272:                                             ; preds = %1208
  %1273 = landingpad { ptr, i32 }
          cleanup
  %1274 = extractvalue { ptr, i32 } %1273, 0
  store ptr %1274, ptr %3, align 8
  %1275 = extractvalue { ptr, i32 } %1273, 1
  store i32 %1275, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #6
  br label %1276

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

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

1278:                                             ; preds = %1277, %1260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %1279

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

1280:                                             ; preds = %1279, %1252
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %1324

1281:                                             ; preds = %1212
  %1282 = landingpad { ptr, i32 }
          cleanup
  %1283 = extractvalue { ptr, i32 } %1282, 0
  store ptr %1283, ptr %3, align 8
  %1284 = extractvalue { ptr, i32 } %1282, 1
  store i32 %1284, ptr %4, align 4
  br label %1319

1285:                                             ; preds = %1217, %1215
  %1286 = landingpad { ptr, i32 }
          cleanup
  %1287 = extractvalue { ptr, i32 } %1286, 0
  store ptr %1287, ptr %3, align 8
  %1288 = extractvalue { ptr, i32 } %1286, 1
  store i32 %1288, ptr %4, align 4
  br label %1318

1289:                                             ; preds = %1219
  %1290 = landingpad { ptr, i32 }
          cleanup
  %1291 = extractvalue { ptr, i32 } %1290, 0
  store ptr %1291, ptr %3, align 8
  %1292 = extractvalue { ptr, i32 } %1290, 1
  store i32 %1292, ptr %4, align 4
  br label %1317

1293:                                             ; preds = %1224, %1222
  %1294 = landingpad { ptr, i32 }
          cleanup
  %1295 = extractvalue { ptr, i32 } %1294, 0
  store ptr %1295, ptr %3, align 8
  %1296 = extractvalue { ptr, i32 } %1294, 1
  store i32 %1296, ptr %4, align 4
  br label %1316

1297:                                             ; preds = %1226
  %1298 = landingpad { ptr, i32 }
          cleanup
  %1299 = extractvalue { ptr, i32 } %1298, 0
  store ptr %1299, ptr %3, align 8
  %1300 = extractvalue { ptr, i32 } %1298, 1
  store i32 %1300, ptr %4, align 4
  br label %1315

1301:                                             ; preds = %1229, %1227
  %1302 = landingpad { ptr, i32 }
          cleanup
  %1303 = extractvalue { ptr, i32 } %1302, 0
  store ptr %1303, ptr %3, align 8
  %1304 = extractvalue { ptr, i32 } %1302, 1
  store i32 %1304, ptr %4, align 4
  br label %1314

1305:                                             ; preds = %1239, %1231
  %1306 = landingpad { ptr, i32 }
          cleanup
  %1307 = extractvalue { ptr, i32 } %1306, 0
  store ptr %1307, ptr %3, align 8
  %1308 = extractvalue { ptr, i32 } %1306, 1
  store i32 %1308, ptr %4, align 4
  br label %1313

1309:                                             ; preds = %1244, %1242, %1240
  %1310 = landingpad { ptr, i32 }
          cleanup
  %1311 = extractvalue { ptr, i32 } %1310, 0
  store ptr %1311, ptr %3, align 8
  %1312 = extractvalue { ptr, i32 } %1310, 1
  store i32 %1312, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br label %1313

1313:                                             ; preds = %1309, %1305
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #6
  br label %1314

1314:                                             ; preds = %1313, %1301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1315

1315:                                             ; preds = %1314, %1297
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #6
  br label %1316

1316:                                             ; preds = %1315, %1293
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1317

1317:                                             ; preds = %1316, %1289
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #6
  br label %1318

1318:                                             ; preds = %1317, %1285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1319

1319:                                             ; preds = %1318, %1281
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #6
  br label %1324

1320:                                             ; preds = %1247, %1202
  br label %1321

1321:                                             ; preds = %1320
  %1322 = load i64, ptr %130, align 8, !tbaa !23
  %1323 = add i64 %1322, 1
  store i64 %1323, ptr %130, align 8, !tbaa !23
  br label %1182, !llvm.loop !24

1324:                                             ; preds = %1319, %1280, %1248
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #6
  br label %1355

1325:                                             ; preds = %1185
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %143) #6
  %1326 = load i32, ptr %15, align 4, !tbaa !21
  %1327 = load i32, ptr %16, align 4, !tbaa !21
  %1328 = mul i32 %1326, %1327
  %1329 = zext i32 %1328 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %144) #6
  store i8 -1, ptr %144, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %145) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %143, i64 noundef %1329, ptr noundef nonnull align 1 dereferenceable(1) %144, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %1330 unwind label %1359

1330:                                             ; preds = %1325
  call void @_ZNSt15__new_allocatorIhED2Ev(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 1, ptr %144) #6
  %1331 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %143) #6
  %1332 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %1333 = load i32, ptr %15, align 4, !tbaa !21
  %1334 = load i32, ptr %16, align 4, !tbaa !21
  %1335 = invoke noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef %1331, ptr noundef %1332, i32 noundef %1333, i32 noundef %1334, ptr noundef %6, ptr noundef %14, i32 noundef 3)
          to label %1336 unwind label %1363

1336:                                             ; preds = %1330
  invoke void @_Z13assertNoErrorj(i32 noundef %1335)
          to label %1337 unwind label %1363

1337:                                             ; preds = %1336
  call void @llvm.lifetime.start.p0(i64 24, ptr %146) #6
  %1338 = load i32, ptr %15, align 4, !tbaa !21
  %1339 = load i32, ptr %16, align 4, !tbaa !21
  %1340 = mul i32 %1338, %1339
  %1341 = zext i32 %1340 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #6
  store i8 -1, ptr %147, align 1, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %148) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef %1341, ptr noundef nonnull align 1 dereferenceable(1) %147, ptr noundef nonnull align 1 dereferenceable(1) %148)
          to label %1342 unwind label %1367

1342:                                             ; preds = %1337
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  %1343 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %146) #6
  %1344 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %143) #6
  %1345 = load i32, ptr %15, align 4, !tbaa !21
  %1346 = load i32, ptr %16, align 4, !tbaa !21
  %1347 = invoke noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef %1343, ptr noundef %1344, i32 noundef %1345, i32 noundef %1346, ptr noundef %14, ptr noundef %6, i32 noundef 3)
          to label %1348 unwind label %1371

1348:                                             ; preds = %1342
  invoke void @_Z13assertNoErrorj(i32 noundef %1347)
          to label %1349 unwind label %1371

1349:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #6
  store i64 0, ptr %149, align 8, !tbaa !23
  br label %1350

1350:                                             ; preds = %1510, %1349
  %1351 = load i64, ptr %149, align 8, !tbaa !23
  %1352 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %1353 = icmp ult i64 %1351, %1352
  br i1 %1353, label %1375, label %1354

1354:                                             ; preds = %1350
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #6
  br label %1514

1355:                                             ; preds = %1324, %1190
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  br label %1356

1356:                                             ; preds = %1355, %1186
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #6
  br label %1357

1357:                                             ; preds = %1356, %1168, %1129, %1057, %1018, %946, %907, %835, %796, %724, %685, %613, %574, %502, %463, %391, %352, %320
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #6
  br label %1358

1358:                                             ; preds = %1357, %316
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #6
  br label %1519

1359:                                             ; preds = %1325
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %3, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(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 1, ptr %144) #6
  br label %1518

1363:                                             ; preds = %1336, %1330
  %1364 = landingpad { ptr, i32 }
          cleanup
  %1365 = extractvalue { ptr, i32 } %1364, 0
  store ptr %1365, ptr %3, align 8
  %1366 = extractvalue { ptr, i32 } %1364, 1
  store i32 %1366, ptr %4, align 4
  br label %1517

1367:                                             ; preds = %1337
  %1368 = landingpad { ptr, i32 }
          cleanup
  %1369 = extractvalue { ptr, i32 } %1368, 0
  store ptr %1369, ptr %3, align 8
  %1370 = extractvalue { ptr, i32 } %1368, 1
  store i32 %1370, ptr %4, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #6
  br label %1516

1371:                                             ; preds = %1348, %1342
  %1372 = landingpad { ptr, i32 }
          cleanup
  %1373 = extractvalue { ptr, i32 } %1372, 0
  store ptr %1373, ptr %3, align 8
  %1374 = extractvalue { ptr, i32 } %1372, 1
  store i32 %1374, ptr %4, align 4
  br label %1515

1375:                                             ; preds = %1350
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #6
  %1376 = load i64, ptr %149, align 8, !tbaa !23
  %1377 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1376) #6
  %1378 = load i8, ptr %1377, align 1, !tbaa !22
  %1379 = zext i8 %1378 to i32
  %1380 = icmp slt i32 %1379, 16
  %1381 = zext i1 %1380 to i64
  %1382 = select i1 %1380, i32 8, i32 1
  store i32 %1382, ptr %150, align 4, !tbaa !21
  %1383 = load i64, ptr %149, align 8, !tbaa !23
  %1384 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1383) #6
  %1385 = load i8, ptr %1384, align 1, !tbaa !22
  %1386 = load i64, ptr %149, align 8, !tbaa !23
  %1387 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef %1386) #6
  %1388 = load i8, ptr %1387, align 1, !tbaa !22
  %1389 = load i32, ptr %150, align 4, !tbaa !21
  %1390 = invoke noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext %1385, i8 noundef zeroext %1388, i32 noundef %1389)
          to label %1391 unwind label %1437

1391:                                             ; preds = %1375
  br i1 %1390, label %1509, label %1392

1392:                                             ; preds = %1391
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %152) #6
  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 %1393 unwind label %1441

1393:                                             ; preds = %1392
  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.639)
          to label %1394 unwind label %1445

1394:                                             ; preds = %1393
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %153, ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef @.str.3)
          to label %1395 unwind label %1449

1395:                                             ; preds = %1394
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 8 dereferenceable(32) %153, ptr noundef @.str.613)
          to label %1396 unwind label %1453

1396:                                             ; preds = %1395
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 8 dereferenceable(32) %152, ptr noundef @.str.548)
          to label %1397 unwind label %1457

1397:                                             ; preds = %1396
  %1398 = 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) %151)
          to label %1399 unwind label %1461

1399:                                             ; preds = %1397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  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) %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
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  %1400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.549)
          to label %1401 unwind label %1437

1401:                                             ; preds = %1399
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #6
  %1402 = load i64, ptr %149, align 8, !tbaa !23
  %1403 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1402) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull align 1 dereferenceable(1) %1403)
          to label %1404 unwind label %1470

1404:                                             ; preds = %1401
  %1405 = 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) %1400, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %1406 unwind label %1474

1406:                                             ; preds = %1404
  %1407 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1405, ptr noundef @.str.20)
          to label %1408 unwind label %1474

1408:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #6
  %1409 = load i64, ptr %149, align 8, !tbaa !23
  %1410 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef %1409) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 1 dereferenceable(1) %1410)
          to label %1411 unwind label %1478

1411:                                             ; preds = %1408
  %1412 = 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) %1407, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1413 unwind label %1482

1413:                                             ; preds = %1411
  %1414 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1412, ptr noundef @.str.550)
          to label %1415 unwind label %1482

1415:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #6
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 4 dereferenceable(4) %150)
          to label %1416 unwind label %1486

1416:                                             ; preds = %1415
  %1417 = 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) %1414, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1418 unwind label %1490

1418:                                             ; preds = %1416
  %1419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1417, ptr noundef @.str.551)
          to label %1420 unwind label %1490

1420:                                             ; preds = %1418
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #6
  %1421 = load i64, ptr %149, align 8, !tbaa !23
  %1422 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %1421) #6
  %1423 = load i8, ptr %1422, align 1, !tbaa !22
  %1424 = load i64, ptr %149, align 8, !tbaa !23
  %1425 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %146, i64 noundef %1424) #6
  %1426 = load i8, ptr %1425, align 1, !tbaa !22
  %1427 = invoke noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext %1423, i8 noundef zeroext %1426)
          to label %1428 unwind label %1494

1428:                                             ; preds = %1420
  store i8 %1427, ptr %161, align 1, !tbaa !22
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %1429 unwind label %1494

1429:                                             ; preds = %1428
  %1430 = 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) %1419, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1431 unwind label %1498

1431:                                             ; preds = %1429
  %1432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1430, ptr noundef @.str.21)
          to label %1433 unwind label %1498

1433:                                             ; preds = %1431
  %1434 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1432, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1435 unwind label %1498

1435:                                             ; preds = %1433
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  invoke void @_Z4failv()
          to label %1436 unwind label %1437

1436:                                             ; preds = %1435
  br label %1509

1437:                                             ; preds = %1435, %1399, %1375
  %1438 = landingpad { ptr, i32 }
          cleanup
  %1439 = extractvalue { ptr, i32 } %1438, 0
  store ptr %1439, ptr %3, align 8
  %1440 = extractvalue { ptr, i32 } %1438, 1
  store i32 %1440, ptr %4, align 4
  br label %1513

1441:                                             ; preds = %1392
  %1442 = landingpad { ptr, i32 }
          cleanup
  %1443 = extractvalue { ptr, i32 } %1442, 0
  store ptr %1443, ptr %3, align 8
  %1444 = extractvalue { ptr, i32 } %1442, 1
  store i32 %1444, ptr %4, align 4
  br label %1469

1445:                                             ; preds = %1393
  %1446 = landingpad { ptr, i32 }
          cleanup
  %1447 = extractvalue { ptr, i32 } %1446, 0
  store ptr %1447, ptr %3, align 8
  %1448 = extractvalue { ptr, i32 } %1446, 1
  store i32 %1448, ptr %4, align 4
  br label %1468

1449:                                             ; preds = %1394
  %1450 = landingpad { ptr, i32 }
          cleanup
  %1451 = extractvalue { ptr, i32 } %1450, 0
  store ptr %1451, ptr %3, align 8
  %1452 = extractvalue { ptr, i32 } %1450, 1
  store i32 %1452, ptr %4, align 4
  br label %1467

1453:                                             ; preds = %1395
  %1454 = landingpad { ptr, i32 }
          cleanup
  %1455 = extractvalue { ptr, i32 } %1454, 0
  store ptr %1455, ptr %3, align 8
  %1456 = extractvalue { ptr, i32 } %1454, 1
  store i32 %1456, ptr %4, align 4
  br label %1466

1457:                                             ; preds = %1396
  %1458 = landingpad { ptr, i32 }
          cleanup
  %1459 = extractvalue { ptr, i32 } %1458, 0
  store ptr %1459, ptr %3, align 8
  %1460 = extractvalue { ptr, i32 } %1458, 1
  store i32 %1460, ptr %4, align 4
  br label %1465

1461:                                             ; preds = %1397
  %1462 = landingpad { ptr, i32 }
          cleanup
  %1463 = extractvalue { ptr, i32 } %1462, 0
  store ptr %1463, ptr %3, align 8
  %1464 = extractvalue { ptr, i32 } %1462, 1
  store i32 %1464, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1465

1465:                                             ; preds = %1461, %1457
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1466

1466:                                             ; preds = %1465, %1453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1467

1467:                                             ; preds = %1466, %1449
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1468

1468:                                             ; preds = %1467, %1445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #6
  br label %1469

1469:                                             ; preds = %1468, %1441
  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
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #6
  br label %1513

1470:                                             ; preds = %1401
  %1471 = landingpad { ptr, i32 }
          cleanup
  %1472 = extractvalue { ptr, i32 } %1471, 0
  store ptr %1472, ptr %3, align 8
  %1473 = extractvalue { ptr, i32 } %1471, 1
  store i32 %1473, ptr %4, align 4
  br label %1508

1474:                                             ; preds = %1406, %1404
  %1475 = landingpad { ptr, i32 }
          cleanup
  %1476 = extractvalue { ptr, i32 } %1475, 0
  store ptr %1476, ptr %3, align 8
  %1477 = extractvalue { ptr, i32 } %1475, 1
  store i32 %1477, ptr %4, align 4
  br label %1507

1478:                                             ; preds = %1408
  %1479 = landingpad { ptr, i32 }
          cleanup
  %1480 = extractvalue { ptr, i32 } %1479, 0
  store ptr %1480, ptr %3, align 8
  %1481 = extractvalue { ptr, i32 } %1479, 1
  store i32 %1481, ptr %4, align 4
  br label %1506

1482:                                             ; preds = %1413, %1411
  %1483 = landingpad { ptr, i32 }
          cleanup
  %1484 = extractvalue { ptr, i32 } %1483, 0
  store ptr %1484, ptr %3, align 8
  %1485 = extractvalue { ptr, i32 } %1483, 1
  store i32 %1485, ptr %4, align 4
  br label %1505

1486:                                             ; preds = %1415
  %1487 = landingpad { ptr, i32 }
          cleanup
  %1488 = extractvalue { ptr, i32 } %1487, 0
  store ptr %1488, ptr %3, align 8
  %1489 = extractvalue { ptr, i32 } %1487, 1
  store i32 %1489, ptr %4, align 4
  br label %1504

1490:                                             ; preds = %1418, %1416
  %1491 = landingpad { ptr, i32 }
          cleanup
  %1492 = extractvalue { ptr, i32 } %1491, 0
  store ptr %1492, ptr %3, align 8
  %1493 = extractvalue { ptr, i32 } %1491, 1
  store i32 %1493, ptr %4, align 4
  br label %1503

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

1498:                                             ; preds = %1433, %1431, %1429
  %1499 = landingpad { ptr, i32 }
          cleanup
  %1500 = extractvalue { ptr, i32 } %1499, 0
  store ptr %1500, ptr %3, align 8
  %1501 = extractvalue { ptr, i32 } %1499, 1
  store i32 %1501, ptr %4, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1502

1502:                                             ; preds = %1498, %1494
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #6
  br label %1503

1503:                                             ; preds = %1502, %1490
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1504

1504:                                             ; preds = %1503, %1486
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #6
  br label %1505

1505:                                             ; preds = %1504, %1482
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  br label %1506

1506:                                             ; preds = %1505, %1478
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #6
  br label %1507

1507:                                             ; preds = %1506, %1474
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  br label %1508

1508:                                             ; preds = %1507, %1470
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #6
  br label %1513

1509:                                             ; preds = %1436, %1391
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #6
  br label %1510

1510:                                             ; preds = %1509
  %1511 = load i64, ptr %149, align 8, !tbaa !23
  %1512 = add i64 %1511, 1
  store i64 %1512, ptr %149, align 8, !tbaa !23
  br label %1350, !llvm.loop !26

1513:                                             ; preds = %1508, %1469, %1437
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #6
  br label %1515

1514:                                             ; preds = %1354
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %143) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %143) #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 @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %14) #6
  call void @llvm.lifetime.end.p0(i64 512, 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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr %10) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr %6) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %1) #6
  ret void

1515:                                             ; preds = %1513, %1371
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #6
  br label %1516

1516:                                             ; preds = %1515, %1367
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #6
  br label %1517

1517:                                             ; preds = %1516, %1363
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %143) #6
  br label %1518

1518:                                             ; preds = %1517, %1359
  call void @llvm.lifetime.end.p0(i64 24, ptr %143) #6
  br label %1519

1519:                                             ; preds = %1518, %1358
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  br label %1520

1520:                                             ; preds = %1519, %312
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %1521

1521:                                             ; preds = %1520, %308
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %14) #6
  br label %1522

1522:                                             ; preds = %1521, %304
  call void @llvm.lifetime.end.p0(i64 512, ptr %14) #6
  br label %1523

1523:                                             ; preds = %1522, %300
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %1524

1524:                                             ; preds = %1523, %296
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %1525

1525:                                             ; preds = %1524, %292
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10) #6
  br label %1526

1526:                                             ; preds = %1525, %288
  call void @llvm.lifetime.end.p0(i64 512, ptr %10) #6
  br label %1527

1527:                                             ; preds = %1526, %284
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %1528

1528:                                             ; preds = %1527, %280
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #6
  br label %1529

1529:                                             ; preds = %1528, %276
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6) #6
  br label %1530

1530:                                             ; preds = %1529, %272
  call void @llvm.lifetime.end.p0(i64 512, ptr %6) #6
  br label %1531

1531:                                             ; preds = %1530, %268
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  br label %1532

1532:                                             ; preds = %1531, %264
  call void @llvm.lifetime.end.p0(i64 32, ptr %1) #6
  br label %1533

1533:                                             ; preds = %1532
  %1534 = load ptr, ptr %3, align 8
  %1535 = load i32, ptr %4, align 4
  %1536 = insertvalue { ptr, i32 } poison, ptr %1534, 0
  %1537 = insertvalue { ptr, i32 } %1536, i32 %1535, 1
  resume { ptr, i32 } %1537
}

; 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 = { nounwind "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, !17, i64 152}
!6 = !{!"_ZTS12LodePNGState", !7, i64 8, !13, i64 64, !16, i64 152, !19, i64 192, !9, i64 504}
!7 = !{!"_ZTS22LodePNGDecoderSettings", !8, i64 0, !9, i64 32, !9, i64 36, !9, i64 40, !9, i64 44, !9, i64 48, !9, i64 52}
!8 = !{!"_ZTS25LodePNGDecompressSettings", !9, i64 0, !9, i64 4, !12, i64 8, !12, i64 16, !12, i64 24}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"any pointer", !10, i64 0}
!13 = !{!"_ZTS22LodePNGEncoderSettings", !14, i64 0, !9, i64 48, !9, i64 52, !15, i64 56, !12, i64 64, !9, i64 72, !9, i64 76, !9, i64 80}
!14 = !{!"_ZTS23LodePNGCompressSettings", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !9, i64 16, !9, i64 20, !12, i64 24, !12, i64 32, !12, i64 40}
!15 = !{!"_ZTS21LodePNGFilterStrategy", !10, i64 0}
!16 = !{!"_ZTS16LodePNGColorMode", !17, i64 0, !9, i64 4, !12, i64 8, !18, i64 16, !9, i64 24, !9, i64 28, !9, i64 32, !9, i64 36}
!17 = !{!"_ZTS16LodePNGColorType", !10, i64 0}
!18 = !{!"long", !10, i64 0}
!19 = !{!"_ZTS11LodePNGInfo", !9, i64 0, !9, i64 4, !9, i64 8, !16, i64 16, !9, i64 56, !9, i64 60, !9, i64 64, !9, i64 68, !18, i64 72, !12, i64 80, !12, i64 88, !18, i64 96, !12, i64 104, !12, i64 112, !12, i64 120, !12, i64 128, !9, i64 136, !20, i64 140, !9, i64 164, !9, i64 168, !9, i64 172, !9, i64 176, !9, i64 180, !9, i64 184, !9, i64 188, !9, i64 192, !9, i64 196, !9, i64 200, !9, i64 204, !9, i64 208, !9, i64 212, !9, i64 216, !9, i64 220, !9, i64 224, !9, i64 228, !9, i64 232, !12, i64 240, !12, i64 248, !9, i64 256, !10, i64 264, !10, i64 288}
!20 = !{!"_ZTS11LodePNGTime", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !9, i64 16, !9, i64 20}
!21 = !{!9, !9, i64 0}
!22 = !{!10, !10, i64 0}
!23 = !{!18, !18, i64 0}
!24 = distinct !{!24, !25}
!25 = !{!"llvm.loop.mustprogress"}
!26 = distinct !{!26, !25}


; 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::allocator" = type { 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.lodepng::State" = type { %struct.LodePNGState.base, [4 x i8] }
%struct.LodePNGState.base = type <{ ptr, %struct.LodePNGDecoderSettings, %struct.LodePNGEncoderSettings, %struct.LodePNGColorMode, %struct.LodePNGInfo, i32 }>
%struct.LodePNGDecoderSettings = type { %struct.LodePNGDecompressSettings, i32, i32, i32, i32, i32, i32 }
%struct.LodePNGDecompressSettings = type { i32, i32, ptr, ptr, ptr }
%struct.LodePNGEncoderSettings = type { %struct.LodePNGCompressSettings, i32, i32, i32, ptr, i32, i32, i32 }
%struct.LodePNGCompressSettings = type { i32, i32, i32, i32, i32, i32, ptr, ptr, ptr }
%struct.LodePNGColorMode = type { i32, i32, ptr, i64, i32, i32, i32, i32 }
%struct.LodePNGInfo = type { i32, i32, i32, %struct.LodePNGColorMode, i32, i32, i32, i32, i64, ptr, ptr, i64, ptr, ptr, ptr, ptr, i32, %struct.LodePNGTime, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, i32, [3 x ptr], [3 x i64] }
%struct.LodePNGTime = type { i32, i32, i32, i32, i32, i32 }
%"class.std::allocator.0" = type { i8 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.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.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [441 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.622 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.623 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.624 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.625 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.626 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.627 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.628 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.629 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.634 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.636 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.639 = 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 uwtable
declare dso_local void @_Z8valtostrIhENSt7__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 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 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 noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) 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 nounwind uwtable
declare dso_local void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3 align 2

declare void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508)) unnamed_addr #4

; Function Attrs: nounwind
declare void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508)) unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z8valtostrIiENSt7__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 noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; 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
declare dso_local void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare noundef i32 @_ZN7lodepng13convertToSrgbEPhPKhjjPK12LodePNGState(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext, i8 noundef zeroext, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext, i8 noundef zeroext) local_unnamed_addr #3

declare noundef i32 @_ZN7lodepng15convertFromSrgbEPhPKhjjPK12LodePNGState(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef, i8 noundef zeroext, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef, i8 noundef zeroext) local_unnamed_addr #3

declare noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
define dso_local void @_Z11testICCGrayv() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.std::__cxx11::basic_string", align 8
  %2 = alloca %"class.std::allocator", align 1
  %3 = alloca %"class.std::vector", align 8
  %4 = alloca %"class.lodepng::State", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::allocator", align 1
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca %"class.lodepng::State", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.lodepng::State", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca i8, align 1
  %15 = alloca %"class.std::allocator.0", align 1
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca i8, align 1
  %18 = alloca %"class.std::allocator.0", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %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 i32, align 4
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca i32, align 4
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca i32, align 4
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca i32, align 4
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::allocator", align 1
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca i32, align 4
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca i32, align 4
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca i32, align 4
  %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 i32, align 4
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca i32, align 4
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca i32, align 4
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca i32, align 4
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca i32, align 4
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::allocator", align 1
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca i32, align 4
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca i32, align 4
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca i32, align 4
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator", align 1
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca i32, align 4
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca i32, align 4
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca i32, align 4
  %123 = alloca %"class.std::vector", align 8
  %124 = alloca i8, align 1
  %125 = alloca %"class.std::allocator.0", align 1
  %126 = alloca %"class.std::__cxx11::basic_string", 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::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::allocator", align 1
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca i32, align 4
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca i8, align 1
  %138 = alloca %"class.std::vector", align 8
  %139 = alloca i8, align 1
  %140 = alloca %"class.std::allocator.0", align 1
  %141 = alloca %"class.std::vector", align 8
  %142 = alloca i8, align 1
  %143 = alloca %"class.std::allocator.0", align 1
  %144 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca i8, align 1
  %156 = 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.615)
  %157 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %2) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull @.str.616, ptr noundef nonnull align 1 dereferenceable(1) %2)
          to label %158 unwind label %242

158:                                              ; preds = %0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %159 unwind label %244

159:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %4) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %4)
          to label %160 unwind label %246

160:                                              ; preds = %159
  %161 = getelementptr inbounds i8, ptr %4, i64 152
  store i32 0, ptr %161, align 8, !tbaa !5
  %162 = getelementptr inbounds i8, ptr %4, i64 192
  %163 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %164 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %165 = trunc i64 %164 to i32
  %166 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %162, ptr noundef nonnull @.str.617, ptr noundef %163, i32 noundef %165)
          to label %167 unwind label %248

167:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.618, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %168 unwind label %250

168:                                              ; preds = %167
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %169 unwind label %252

169:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %8) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %8)
          to label %170 unwind label %254

170:                                              ; preds = %169
  %171 = getelementptr inbounds i8, ptr %8, i64 152
  store i32 0, ptr %171, align 8, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %8, i64 192
  %173 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  %174 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  %175 = trunc i64 %174 to i32
  %176 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %172, ptr noundef nonnull @.str.619, ptr noundef %173, i32 noundef %175)
          to label %177 unwind label %256

177:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.620, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %178 unwind label %258

178:                                              ; preds = %177
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #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
  invoke void @_Z10fromBase64ISt6vectorIhSaIhEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvRT_RKT0_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %179 unwind label %260

179:                                              ; preds = %178
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %12) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %12)
          to label %180 unwind label %262

180:                                              ; preds = %179
  %181 = getelementptr inbounds i8, ptr %12, i64 152
  store i32 0, ptr %181, align 8, !tbaa !5
  %182 = getelementptr inbounds i8, ptr %12, i64 192
  %183 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %184 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #6
  %185 = trunc i64 %184 to i32
  %186 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %182, ptr noundef nonnull @.str.621, ptr noundef %183, i32 noundef %185)
          to label %187 unwind label %264

187:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #6
  store i8 -1, ptr %14, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %14, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %188 unwind label %266

188:                                              ; preds = %187
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  %189 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 0) #6
  store i8 0, ptr %189, align 1, !tbaa !21
  %190 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 1) #6
  store i8 40, ptr %190, align 1, !tbaa !21
  %191 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 2) #6
  store i8 80, ptr %191, align 1, !tbaa !21
  %192 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 3) #6
  store i8 120, ptr %192, align 1, !tbaa !21
  %193 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 4) #6
  store i8 -96, ptr %193, align 1, !tbaa !21
  %194 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 5) #6
  store i8 -56, ptr %194, align 1, !tbaa !21
  %195 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 6) #6
  store i8 -16, ptr %195, align 1, !tbaa !21
  %196 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef 7) #6
  store i8 -1, ptr %196, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #6
  store i8 -1, ptr %17, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %197 unwind label %268

197:                                              ; preds = %188
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #6
  %198 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  %199 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %200 = invoke noundef i32 @_ZN7lodepng13convertToSrgbEPhPKhjjPK12LodePNGState(ptr noundef %198, ptr noundef %199, i32 noundef 4, i32 noundef 2, ptr noundef nonnull %8)
          to label %201 unwind label %270

201:                                              ; preds = %197
  invoke void @_Z13assertNoErrorj(i32 noundef %200)
          to label %202 unwind label %270

202:                                              ; preds = %201
  %203 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 0) #6
  %204 = load i8, ptr %203, align 1, !tbaa !21
  %205 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 0, i8 noundef zeroext %204, i32 noundef 1)
  br i1 %205, label %312, label %206

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

207:                                              ; preds = %206
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.622)
          to label %208 unwind label %274

208:                                              ; preds = %207
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.3)
          to label %209 unwind label %276

209:                                              ; preds = %208
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.623)
          to label %210 unwind label %278

210:                                              ; preds = %209
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.548)
          to label %211 unwind label %280

211:                                              ; preds = %210
  %212 = 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) %19)
          to label %213 unwind label %282

213:                                              ; preds = %211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  %214 = 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.549)
          to label %215 unwind label %270

215:                                              ; preds = %213
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #6
  store i32 0, ptr %26, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %216 unwind label %289

216:                                              ; preds = %215
  %217 = 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) %214, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %218 unwind label %291

218:                                              ; preds = %216
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef nonnull @.str.20)
          to label %220 unwind label %291

220:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  %221 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 0) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 1 dereferenceable(1) %221)
          to label %222 unwind label %293

222:                                              ; preds = %220
  %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) %219, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %224 unwind label %295

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 nonnull @.str.550)
          to label %226 unwind label %295

226:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #6
  store i32 1, ptr %29, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %227 unwind label %297

227:                                              ; preds = %226
  %228 = 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) %28)
          to label %229 unwind label %299

229:                                              ; preds = %227
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %228, ptr noundef nonnull @.str.551)
          to label %231 unwind label %299

231:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #6
  %232 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 0) #6
  %233 = load i8, ptr %232, align 1, !tbaa !21
  %234 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 0, i8 noundef zeroext %233)
  store i32 %234, ptr %31, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__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) %31)
          to label %235 unwind label %301

235:                                              ; preds = %231
  %236 = 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) %230, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %237 unwind label %303

237:                                              ; preds = %235
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull @.str.21)
          to label %239 unwind label %303

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

241:                                              ; preds = %239
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  invoke void @_Z4failv()
          to label %312 unwind label %270

242:                                              ; preds = %0
  %243 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %2) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %2) #6
  br label %1108

244:                                              ; preds = %158
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %1107

246:                                              ; preds = %159
  %247 = landingpad { ptr, i32 }
          cleanup
  br label %1106

248:                                              ; preds = %160
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %1105

250:                                              ; preds = %167
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #6
  br label %1104

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

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

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

258:                                              ; preds = %177
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #6
  br label %1100

260:                                              ; preds = %178
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %1099

262:                                              ; preds = %179
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %1098

264:                                              ; preds = %180
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %1097

266:                                              ; preds = %187
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  br label %1096

268:                                              ; preds = %188
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #6
  br label %986

270:                                              ; preds = %831, %803, %751, %723, %671, %643, %591, %563, %511, %483, %431, %403, %351, %323, %241, %213, %201, %197
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %985

272:                                              ; preds = %206
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %288

274:                                              ; preds = %207
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %287

276:                                              ; preds = %208
  %277 = landingpad { ptr, i32 }
          cleanup
  br label %286

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

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

282:                                              ; preds = %211
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %284

284:                                              ; preds = %282, %280
  %.pn = phi { ptr, i32 } [ %283, %282 ], [ %281, %280 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %285

285:                                              ; preds = %284, %278
  %.pn.pn = phi { ptr, i32 } [ %.pn, %284 ], [ %279, %278 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %286

286:                                              ; preds = %285, %276
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %285 ], [ %277, %276 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  br label %287

287:                                              ; preds = %286, %274
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %286 ], [ %275, %274 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %288

288:                                              ; preds = %287, %272
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %287 ], [ %273, %272 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %985

289:                                              ; preds = %215
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %311

291:                                              ; preds = %218, %216
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %310

293:                                              ; preds = %220
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %309

295:                                              ; preds = %224, %222
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %308

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

299:                                              ; preds = %229, %227
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %306

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

303:                                              ; preds = %239, %237, %235
  %304 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %305

305:                                              ; preds = %303, %301
  %.pn192 = phi { ptr, i32 } [ %304, %303 ], [ %302, %301 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  br label %306

306:                                              ; preds = %305, %299
  %.pn192.pn = phi { ptr, i32 } [ %.pn192, %305 ], [ %300, %299 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #6
  br label %307

307:                                              ; preds = %306, %297
  %.pn192.pn.pn = phi { ptr, i32 } [ %.pn192.pn, %306 ], [ %298, %297 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #6
  br label %308

308:                                              ; preds = %307, %295
  %.pn192.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn, %307 ], [ %296, %295 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #6
  br label %309

309:                                              ; preds = %308, %293
  %.pn192.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn, %308 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %310

310:                                              ; preds = %309, %291
  %.pn192.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn, %309 ], [ %292, %291 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #6
  br label %311

311:                                              ; preds = %310, %289
  %.pn192.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn.pn.pn.pn, %310 ], [ %290, %289 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #6
  br label %985

312:                                              ; preds = %241, %202
  %313 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 1) #6
  %314 = load i8, ptr %313, align 1, !tbaa !21
  %315 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 15, i8 noundef zeroext %314, i32 noundef 1)
  br i1 %315, label %392, label %316

316:                                              ; preds = %312
  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 %317 unwind label %352

317:                                              ; preds = %316
  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.624)
          to label %318 unwind label %354

318:                                              ; preds = %317
  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 %319 unwind label %356

319:                                              ; preds = %318
  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.625)
          to label %320 unwind label %358

320:                                              ; preds = %319
  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.548)
          to label %321 unwind label %360

321:                                              ; preds = %320
  %322 = 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 %323 unwind label %362

323:                                              ; preds = %321
  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
  %324 = 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.549)
          to label %325 unwind label %270

325:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #6
  store i32 15, ptr %39, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__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) %39)
          to label %326 unwind label %369

326:                                              ; preds = %325
  %327 = 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) %324, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %328 unwind label %371

328:                                              ; preds = %326
  %329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %327, ptr noundef nonnull @.str.20)
          to label %330 unwind label %371

330:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  %331 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 1) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 1 dereferenceable(1) %331)
          to label %332 unwind label %373

332:                                              ; preds = %330
  %333 = 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) %329, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %334 unwind label %375

334:                                              ; preds = %332
  %335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %333, ptr noundef nonnull @.str.550)
          to label %336 unwind label %375

336:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #6
  store i32 1, ptr %42, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %337 unwind label %377

337:                                              ; preds = %336
  %338 = 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) %335, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %339 unwind label %379

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

341:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #6
  %342 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 1) #6
  %343 = load i8, ptr %342, align 1, !tbaa !21
  %344 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 15, i8 noundef zeroext %343)
  store i32 %344, ptr %44, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %345 unwind label %381

345:                                              ; preds = %341
  %346 = 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) %340, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %347 unwind label %383

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

349:                                              ; preds = %347
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %351 unwind label %383

351:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #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
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  invoke void @_Z4failv()
          to label %392 unwind label %270

352:                                              ; preds = %316
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %368

354:                                              ; preds = %317
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %367

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

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

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

362:                                              ; preds = %321
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %364

364:                                              ; preds = %362, %360
  %.pn200 = phi { ptr, i32 } [ %363, %362 ], [ %361, %360 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %365

365:                                              ; preds = %364, %358
  %.pn200.pn = phi { ptr, i32 } [ %.pn200, %364 ], [ %359, %358 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br label %366

366:                                              ; preds = %365, %356
  %.pn200.pn.pn = phi { ptr, i32 } [ %.pn200.pn, %365 ], [ %357, %356 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %367

367:                                              ; preds = %366, %354
  %.pn200.pn.pn.pn = phi { ptr, i32 } [ %.pn200.pn.pn, %366 ], [ %355, %354 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #6
  br label %368

368:                                              ; preds = %367, %352
  %.pn200.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn200.pn.pn.pn, %367 ], [ %353, %352 ]
  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 %985

369:                                              ; preds = %325
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %391

371:                                              ; preds = %328, %326
  %372 = landingpad { ptr, i32 }
          cleanup
  br label %390

373:                                              ; preds = %330
  %374 = landingpad { ptr, i32 }
          cleanup
  br label %389

375:                                              ; preds = %334, %332
  %376 = landingpad { ptr, i32 }
          cleanup
  br label %388

377:                                              ; preds = %336
  %378 = landingpad { ptr, i32 }
          cleanup
  br label %387

379:                                              ; preds = %339, %337
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %386

381:                                              ; preds = %341
  %382 = landingpad { ptr, i32 }
          cleanup
  br label %385

383:                                              ; preds = %349, %347, %345
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #6
  br label %385

385:                                              ; preds = %383, %381
  %.pn206 = phi { ptr, i32 } [ %384, %383 ], [ %382, %381 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #6
  br label %386

386:                                              ; preds = %385, %379
  %.pn206.pn = phi { ptr, i32 } [ %.pn206, %385 ], [ %380, %379 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %387

387:                                              ; preds = %386, %377
  %.pn206.pn.pn = phi { ptr, i32 } [ %.pn206.pn, %386 ], [ %378, %377 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  br label %388

388:                                              ; preds = %387, %375
  %.pn206.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn, %387 ], [ %376, %375 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %389

389:                                              ; preds = %388, %373
  %.pn206.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn, %388 ], [ %374, %373 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  br label %390

390:                                              ; preds = %389, %371
  %.pn206.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn, %389 ], [ %372, %371 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %391

391:                                              ; preds = %390, %369
  %.pn206.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn206.pn.pn.pn.pn.pn, %390 ], [ %370, %369 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %985

392:                                              ; preds = %351, %312
  %393 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 2) #6
  %394 = load i8, ptr %393, align 1, !tbaa !21
  %395 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 52, i8 noundef zeroext %394, i32 noundef 1)
  br i1 %395, label %472, label %396

396:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %397 unwind label %432

397:                                              ; preds = %396
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.626)
          to label %398 unwind label %434

398:                                              ; preds = %397
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.3)
          to label %399 unwind label %436

399:                                              ; preds = %398
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.627)
          to label %400 unwind label %438

400:                                              ; preds = %399
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.548)
          to label %401 unwind label %440

401:                                              ; preds = %400
  %402 = 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) %45)
          to label %403 unwind label %442

403:                                              ; preds = %401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  %404 = 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.549)
          to label %405 unwind label %270

405:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #6
  store i32 52, ptr %52, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %406 unwind label %449

406:                                              ; preds = %405
  %407 = 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) %404, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %408 unwind label %451

408:                                              ; preds = %406
  %409 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %407, ptr noundef nonnull @.str.20)
          to label %410 unwind label %451

410:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  %411 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 2) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 1 dereferenceable(1) %411)
          to label %412 unwind label %453

412:                                              ; preds = %410
  %413 = 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) %409, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %414 unwind label %455

414:                                              ; preds = %412
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %413, ptr noundef nonnull @.str.550)
          to label %416 unwind label %455

416:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #6
  store i32 1, ptr %55, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %417 unwind label %457

417:                                              ; preds = %416
  %418 = 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) %415, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %419 unwind label %459

419:                                              ; preds = %417
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %418, ptr noundef nonnull @.str.551)
          to label %421 unwind label %459

421:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #6
  %422 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 2) #6
  %423 = load i8, ptr %422, align 1, !tbaa !21
  %424 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 52, i8 noundef zeroext %423)
  store i32 %424, ptr %57, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 4 dereferenceable(4) %57)
          to label %425 unwind label %461

425:                                              ; preds = %421
  %426 = 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) %420, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %427 unwind label %463

427:                                              ; preds = %425
  %428 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %426, ptr noundef nonnull @.str.21)
          to label %429 unwind label %463

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

431:                                              ; preds = %429
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  invoke void @_Z4failv()
          to label %472 unwind label %270

432:                                              ; preds = %396
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %448

434:                                              ; preds = %397
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %447

436:                                              ; preds = %398
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %446

438:                                              ; preds = %399
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %445

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

442:                                              ; preds = %401
  %443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  br label %444

444:                                              ; preds = %442, %440
  %.pn214 = phi { ptr, i32 } [ %443, %442 ], [ %441, %440 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %445

445:                                              ; preds = %444, %438
  %.pn214.pn = phi { ptr, i32 } [ %.pn214, %444 ], [ %439, %438 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %446

446:                                              ; preds = %445, %436
  %.pn214.pn.pn = phi { ptr, i32 } [ %.pn214.pn, %445 ], [ %437, %436 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %447

447:                                              ; preds = %446, %434
  %.pn214.pn.pn.pn = phi { ptr, i32 } [ %.pn214.pn.pn, %446 ], [ %435, %434 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %448

448:                                              ; preds = %447, %432
  %.pn214.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn214.pn.pn.pn, %447 ], [ %433, %432 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #6
  br label %985

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

451:                                              ; preds = %408, %406
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %470

453:                                              ; preds = %410
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %469

455:                                              ; preds = %414, %412
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %468

457:                                              ; preds = %416
  %458 = landingpad { ptr, i32 }
          cleanup
  br label %467

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

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

463:                                              ; preds = %429, %427, %425
  %464 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #6
  br label %465

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

466:                                              ; preds = %465, %459
  %.pn220.pn = phi { ptr, i32 } [ %.pn220, %465 ], [ %460, %459 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #6
  br label %467

467:                                              ; preds = %466, %457
  %.pn220.pn.pn = phi { ptr, i32 } [ %.pn220.pn, %466 ], [ %458, %457 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #6
  br label %468

468:                                              ; preds = %467, %455
  %.pn220.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn, %467 ], [ %456, %455 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %469

469:                                              ; preds = %468, %453
  %.pn220.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn, %468 ], [ %454, %453 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %470

470:                                              ; preds = %469, %451
  %.pn220.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn, %469 ], [ %452, %451 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %471

471:                                              ; preds = %470, %449
  %.pn220.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn220.pn.pn.pn.pn.pn, %470 ], [ %450, %449 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  br label %985

472:                                              ; preds = %431, %392
  %473 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 3) #6
  %474 = load i8, ptr %473, align 1, !tbaa !21
  %475 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 94, i8 noundef zeroext %474, i32 noundef 1)
  br i1 %475, label %552, label %476

476:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %477 unwind label %512

477:                                              ; preds = %476
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.628)
          to label %478 unwind label %514

478:                                              ; preds = %477
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.3)
          to label %479 unwind label %516

479:                                              ; preds = %478
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.629)
          to label %480 unwind label %518

480:                                              ; preds = %479
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.548)
          to label %481 unwind label %520

481:                                              ; preds = %480
  %482 = 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) %58)
          to label %483 unwind label %522

483:                                              ; preds = %481
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  %484 = 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.549)
          to label %485 unwind label %270

485:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #6
  store i32 94, ptr %65, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %486 unwind label %529

486:                                              ; preds = %485
  %487 = 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) %484, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %488 unwind label %531

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

490:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #6
  %491 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 3) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 1 dereferenceable(1) %491)
          to label %492 unwind label %533

492:                                              ; preds = %490
  %493 = 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) %489, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %494 unwind label %535

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

496:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #6
  store i32 1, ptr %68, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %497 unwind label %537

497:                                              ; preds = %496
  %498 = 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) %495, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %499 unwind label %539

499:                                              ; preds = %497
  %500 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %498, ptr noundef nonnull @.str.551)
          to label %501 unwind label %539

501:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #6
  %502 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 3) #6
  %503 = load i8, ptr %502, align 1, !tbaa !21
  %504 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 94, i8 noundef zeroext %503)
  store i32 %504, ptr %70, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__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) %70)
          to label %505 unwind label %541

505:                                              ; preds = %501
  %506 = 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) %500, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %507 unwind label %543

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

509:                                              ; preds = %507
  %510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %508, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %511 unwind label %543

511:                                              ; preds = %509
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  invoke void @_Z4failv()
          to label %552 unwind label %270

512:                                              ; preds = %476
  %513 = landingpad { ptr, i32 }
          cleanup
  br label %528

514:                                              ; preds = %477
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %527

516:                                              ; preds = %478
  %517 = landingpad { ptr, i32 }
          cleanup
  br label %526

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

520:                                              ; preds = %480
  %521 = landingpad { ptr, i32 }
          cleanup
  br label %524

522:                                              ; preds = %481
  %523 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %524

524:                                              ; preds = %522, %520
  %.pn228 = phi { ptr, i32 } [ %523, %522 ], [ %521, %520 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %525

525:                                              ; preds = %524, %518
  %.pn228.pn = phi { ptr, i32 } [ %.pn228, %524 ], [ %519, %518 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %526

526:                                              ; preds = %525, %516
  %.pn228.pn.pn = phi { ptr, i32 } [ %.pn228.pn, %525 ], [ %517, %516 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %527

527:                                              ; preds = %526, %514
  %.pn228.pn.pn.pn = phi { ptr, i32 } [ %.pn228.pn.pn, %526 ], [ %515, %514 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #6
  br label %528

528:                                              ; preds = %527, %512
  %.pn228.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn228.pn.pn.pn, %527 ], [ %513, %512 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #6
  br label %985

529:                                              ; preds = %485
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %551

531:                                              ; preds = %488, %486
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %550

533:                                              ; preds = %490
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %549

535:                                              ; preds = %494, %492
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %548

537:                                              ; preds = %496
  %538 = landingpad { ptr, i32 }
          cleanup
  br label %547

539:                                              ; preds = %499, %497
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %546

541:                                              ; preds = %501
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %545

543:                                              ; preds = %509, %507, %505
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %545

545:                                              ; preds = %543, %541
  %.pn234 = phi { ptr, i32 } [ %544, %543 ], [ %542, %541 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #6
  br label %546

546:                                              ; preds = %545, %539
  %.pn234.pn = phi { ptr, i32 } [ %.pn234, %545 ], [ %540, %539 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #6
  br label %547

547:                                              ; preds = %546, %537
  %.pn234.pn.pn = phi { ptr, i32 } [ %.pn234.pn, %546 ], [ %538, %537 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #6
  br label %548

548:                                              ; preds = %547, %535
  %.pn234.pn.pn.pn = phi { ptr, i32 } [ %.pn234.pn.pn, %547 ], [ %536, %535 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #6
  br label %549

549:                                              ; preds = %548, %533
  %.pn234.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn234.pn.pn.pn, %548 ], [ %534, %533 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #6
  br label %550

550:                                              ; preds = %549, %531
  %.pn234.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn234.pn.pn.pn.pn, %549 ], [ %532, %531 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %551

551:                                              ; preds = %550, %529
  %.pn234.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn234.pn.pn.pn.pn.pn, %550 ], [ %530, %529 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  br label %985

552:                                              ; preds = %511, %472
  %553 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 4) #6
  %554 = load i8, ptr %553, align 1, !tbaa !21
  %555 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 139, i8 noundef zeroext %554, i32 noundef 1)
  br i1 %555, label %632, label %556

556:                                              ; preds = %552
  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 %557 unwind label %592

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 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.630)
          to label %558 unwind label %594

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 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull @.str.3)
          to label %559 unwind label %596

559:                                              ; preds = %558
  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.631)
          to label %560 unwind label %598

560:                                              ; preds = %559
  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.548)
          to label %561 unwind label %600

561:                                              ; preds = %560
  %562 = 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 %563 unwind label %602

563:                                              ; preds = %561
  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
  %564 = 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.549)
          to label %565 unwind label %270

565:                                              ; preds = %563
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #6
  store i32 139, ptr %78, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__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) %78)
          to label %566 unwind label %609

566:                                              ; preds = %565
  %567 = 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) %564, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %568 unwind label %611

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

570:                                              ; preds = %568
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  %571 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 4) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 1 dereferenceable(1) %571)
          to label %572 unwind label %613

572:                                              ; preds = %570
  %573 = 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) %569, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %574 unwind label %615

574:                                              ; preds = %572
  %575 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %573, ptr noundef nonnull @.str.550)
          to label %576 unwind label %615

576:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #6
  store i32 1, ptr %81, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 4 dereferenceable(4) %81)
          to label %577 unwind label %617

577:                                              ; preds = %576
  %578 = 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) %575, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %579 unwind label %619

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

581:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #6
  %582 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 4) #6
  %583 = load i8, ptr %582, align 1, !tbaa !21
  %584 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 139, i8 noundef zeroext %583)
  store i32 %584, ptr %83, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %585 unwind label %621

585:                                              ; preds = %581
  %586 = 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) %580, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %587 unwind label %623

587:                                              ; preds = %585
  %588 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %586, ptr noundef nonnull @.str.21)
          to label %589 unwind label %623

589:                                              ; preds = %587
  %590 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %588, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %591 unwind label %623

591:                                              ; preds = %589
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  invoke void @_Z4failv()
          to label %632 unwind label %270

592:                                              ; preds = %556
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %608

594:                                              ; preds = %557
  %595 = landingpad { ptr, i32 }
          cleanup
  br label %607

596:                                              ; preds = %558
  %597 = landingpad { ptr, i32 }
          cleanup
  br label %606

598:                                              ; preds = %559
  %599 = landingpad { ptr, i32 }
          cleanup
  br label %605

600:                                              ; preds = %560
  %601 = landingpad { ptr, i32 }
          cleanup
  br label %604

602:                                              ; preds = %561
  %603 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %604

604:                                              ; preds = %602, %600
  %.pn242 = phi { ptr, i32 } [ %603, %602 ], [ %601, %600 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %605

605:                                              ; preds = %604, %598
  %.pn242.pn = phi { ptr, i32 } [ %.pn242, %604 ], [ %599, %598 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %606

606:                                              ; preds = %605, %596
  %.pn242.pn.pn = phi { ptr, i32 } [ %.pn242.pn, %605 ], [ %597, %596 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #6
  br label %607

607:                                              ; preds = %606, %594
  %.pn242.pn.pn.pn = phi { ptr, i32 } [ %.pn242.pn.pn, %606 ], [ %595, %594 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %608

608:                                              ; preds = %607, %592
  %.pn242.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn242.pn.pn.pn, %607 ], [ %593, %592 ]
  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 %985

609:                                              ; preds = %565
  %610 = landingpad { ptr, i32 }
          cleanup
  br label %631

611:                                              ; preds = %568, %566
  %612 = landingpad { ptr, i32 }
          cleanup
  br label %630

613:                                              ; preds = %570
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %629

615:                                              ; preds = %574, %572
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %628

617:                                              ; preds = %576
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %627

619:                                              ; preds = %579, %577
  %620 = landingpad { ptr, i32 }
          cleanup
  br label %626

621:                                              ; preds = %581
  %622 = landingpad { ptr, i32 }
          cleanup
  br label %625

623:                                              ; preds = %589, %587, %585
  %624 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #6
  br label %625

625:                                              ; preds = %623, %621
  %.pn248 = phi { ptr, i32 } [ %624, %623 ], [ %622, %621 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #6
  br label %626

626:                                              ; preds = %625, %619
  %.pn248.pn = phi { ptr, i32 } [ %.pn248, %625 ], [ %620, %619 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #6
  br label %627

627:                                              ; preds = %626, %617
  %.pn248.pn.pn = phi { ptr, i32 } [ %.pn248.pn, %626 ], [ %618, %617 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #6
  br label %628

628:                                              ; preds = %627, %615
  %.pn248.pn.pn.pn = phi { ptr, i32 } [ %.pn248.pn.pn, %627 ], [ %616, %615 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %629

629:                                              ; preds = %628, %613
  %.pn248.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn248.pn.pn.pn, %628 ], [ %614, %613 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %630

630:                                              ; preds = %629, %611
  %.pn248.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn248.pn.pn.pn.pn, %629 ], [ %612, %611 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %631

631:                                              ; preds = %630, %609
  %.pn248.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn248.pn.pn.pn.pn.pn, %630 ], [ %610, %609 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #6
  br label %985

632:                                              ; preds = %591, %552
  %633 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 5) #6
  %634 = load i8, ptr %633, align 1, !tbaa !21
  %635 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 187, i8 noundef zeroext %634, i32 noundef 1)
  br i1 %635, label %712, label %636

636:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %89) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %637 unwind label %672

637:                                              ; preds = %636
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.632)
          to label %638 unwind label %674

638:                                              ; preds = %637
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.3)
          to label %639 unwind label %676

639:                                              ; preds = %638
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull @.str.633)
          to label %640 unwind label %678

640:                                              ; preds = %639
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.548)
          to label %641 unwind label %680

641:                                              ; preds = %640
  %642 = 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) %84)
          to label %643 unwind label %682

643:                                              ; preds = %641
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  %644 = 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.549)
          to label %645 unwind label %270

645:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #6
  store i32 187, ptr %91, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 4 dereferenceable(4) %91)
          to label %646 unwind label %689

646:                                              ; preds = %645
  %647 = 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) %644, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %648 unwind label %691

648:                                              ; preds = %646
  %649 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %647, ptr noundef nonnull @.str.20)
          to label %650 unwind label %691

650:                                              ; preds = %648
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #6
  %651 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 5) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull align 1 dereferenceable(1) %651)
          to label %652 unwind label %693

652:                                              ; preds = %650
  %653 = 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) %649, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %654 unwind label %695

654:                                              ; preds = %652
  %655 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %653, ptr noundef nonnull @.str.550)
          to label %656 unwind label %695

656:                                              ; preds = %654
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #6
  store i32 1, ptr %94, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 4 dereferenceable(4) %94)
          to label %657 unwind label %697

657:                                              ; preds = %656
  %658 = 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) %655, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %659 unwind label %699

659:                                              ; preds = %657
  %660 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %658, ptr noundef nonnull @.str.551)
          to label %661 unwind label %699

661:                                              ; preds = %659
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #6
  %662 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 5) #6
  %663 = load i8, ptr %662, align 1, !tbaa !21
  %664 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 187, i8 noundef zeroext %663)
  store i32 %664, ptr %96, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 4 dereferenceable(4) %96)
          to label %665 unwind label %701

665:                                              ; preds = %661
  %666 = 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) %660, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %667 unwind label %703

667:                                              ; preds = %665
  %668 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %666, ptr noundef nonnull @.str.21)
          to label %669 unwind label %703

669:                                              ; preds = %667
  %670 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %668, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %671 unwind label %703

671:                                              ; preds = %669
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #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) %90) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  invoke void @_Z4failv()
          to label %712 unwind label %270

672:                                              ; preds = %636
  %673 = landingpad { ptr, i32 }
          cleanup
  br label %688

674:                                              ; preds = %637
  %675 = landingpad { ptr, i32 }
          cleanup
  br label %687

676:                                              ; preds = %638
  %677 = landingpad { ptr, i32 }
          cleanup
  br label %686

678:                                              ; preds = %639
  %679 = landingpad { ptr, i32 }
          cleanup
  br label %685

680:                                              ; preds = %640
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %684

682:                                              ; preds = %641
  %683 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %684

684:                                              ; preds = %682, %680
  %.pn256 = phi { ptr, i32 } [ %683, %682 ], [ %681, %680 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %685

685:                                              ; preds = %684, %678
  %.pn256.pn = phi { ptr, i32 } [ %.pn256, %684 ], [ %679, %678 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %686

686:                                              ; preds = %685, %676
  %.pn256.pn.pn = phi { ptr, i32 } [ %.pn256.pn, %685 ], [ %677, %676 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br label %687

687:                                              ; preds = %686, %674
  %.pn256.pn.pn.pn = phi { ptr, i32 } [ %.pn256.pn.pn, %686 ], [ %675, %674 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %688

688:                                              ; preds = %687, %672
  %.pn256.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn256.pn.pn.pn, %687 ], [ %673, %672 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #6
  br label %985

689:                                              ; preds = %645
  %690 = landingpad { ptr, i32 }
          cleanup
  br label %711

691:                                              ; preds = %648, %646
  %692 = landingpad { ptr, i32 }
          cleanup
  br label %710

693:                                              ; preds = %650
  %694 = landingpad { ptr, i32 }
          cleanup
  br label %709

695:                                              ; preds = %654, %652
  %696 = landingpad { ptr, i32 }
          cleanup
  br label %708

697:                                              ; preds = %656
  %698 = landingpad { ptr, i32 }
          cleanup
  br label %707

699:                                              ; preds = %659, %657
  %700 = landingpad { ptr, i32 }
          cleanup
  br label %706

701:                                              ; preds = %661
  %702 = landingpad { ptr, i32 }
          cleanup
  br label %705

703:                                              ; preds = %669, %667, %665
  %704 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %705

705:                                              ; preds = %703, %701
  %.pn262 = phi { ptr, i32 } [ %704, %703 ], [ %702, %701 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  br label %706

706:                                              ; preds = %705, %699
  %.pn262.pn = phi { ptr, i32 } [ %.pn262, %705 ], [ %700, %699 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %707

707:                                              ; preds = %706, %697
  %.pn262.pn.pn = phi { ptr, i32 } [ %.pn262.pn, %706 ], [ %698, %697 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  br label %708

708:                                              ; preds = %707, %695
  %.pn262.pn.pn.pn = phi { ptr, i32 } [ %.pn262.pn.pn, %707 ], [ %696, %695 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #6
  br label %709

709:                                              ; preds = %708, %693
  %.pn262.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn262.pn.pn.pn, %708 ], [ %694, %693 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #6
  br label %710

710:                                              ; preds = %709, %691
  %.pn262.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn262.pn.pn.pn.pn, %709 ], [ %692, %691 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  br label %711

711:                                              ; preds = %710, %689
  %.pn262.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn262.pn.pn.pn.pn.pn, %710 ], [ %690, %689 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #6
  br label %985

712:                                              ; preds = %671, %632
  %713 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 6) #6
  %714 = load i8, ptr %713, align 1, !tbaa !21
  %715 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 236, i8 noundef zeroext %714, i32 noundef 1)
  br i1 %715, label %792, label %716

716:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #6
  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 1, ptr nonnull %102) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %717 unwind label %752

717:                                              ; preds = %716
  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.634)
          to label %718 unwind label %754

718:                                              ; preds = %717
  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.3)
          to label %719 unwind label %756

719:                                              ; preds = %718
  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.635)
          to label %720 unwind label %758

720:                                              ; preds = %719
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull @.str.548)
          to label %721 unwind label %760

721:                                              ; preds = %720
  %722 = 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) %97)
          to label %723 unwind label %762

723:                                              ; preds = %721
  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 @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  %724 = 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.549)
          to label %725 unwind label %270

725:                                              ; preds = %723
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %104) #6
  store i32 236, ptr %104, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull align 4 dereferenceable(4) %104)
          to label %726 unwind label %769

726:                                              ; preds = %725
  %727 = 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) %724, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %728 unwind label %771

728:                                              ; preds = %726
  %729 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %727, ptr noundef nonnull @.str.20)
          to label %730 unwind label %771

730:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %105) #6
  %731 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 6) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 1 dereferenceable(1) %731)
          to label %732 unwind label %773

732:                                              ; preds = %730
  %733 = 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) %729, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %734 unwind label %775

734:                                              ; preds = %732
  %735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %733, ptr noundef nonnull @.str.550)
          to label %736 unwind label %775

736:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %107) #6
  store i32 1, ptr %107, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef nonnull align 4 dereferenceable(4) %107)
          to label %737 unwind label %777

737:                                              ; preds = %736
  %738 = 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) %735, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %739 unwind label %779

739:                                              ; preds = %737
  %740 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %738, ptr noundef nonnull @.str.551)
          to label %741 unwind label %779

741:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #6
  %742 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 6) #6
  %743 = load i8, ptr %742, align 1, !tbaa !21
  %744 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 236, i8 noundef zeroext %743)
  store i32 %744, ptr %109, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 4 dereferenceable(4) %109)
          to label %745 unwind label %781

745:                                              ; preds = %741
  %746 = 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) %740, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %747 unwind label %783

747:                                              ; preds = %745
  %748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %746, ptr noundef nonnull @.str.21)
          to label %749 unwind label %783

749:                                              ; preds = %747
  %750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %748, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %751 unwind label %783

751:                                              ; preds = %749
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  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) %103) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  invoke void @_Z4failv()
          to label %792 unwind label %270

752:                                              ; preds = %716
  %753 = landingpad { ptr, i32 }
          cleanup
  br label %768

754:                                              ; preds = %717
  %755 = landingpad { ptr, i32 }
          cleanup
  br label %767

756:                                              ; preds = %718
  %757 = landingpad { ptr, i32 }
          cleanup
  br label %766

758:                                              ; preds = %719
  %759 = landingpad { ptr, i32 }
          cleanup
  br label %765

760:                                              ; preds = %720
  %761 = landingpad { ptr, i32 }
          cleanup
  br label %764

762:                                              ; preds = %721
  %763 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %764

764:                                              ; preds = %762, %760
  %.pn270 = phi { ptr, i32 } [ %763, %762 ], [ %761, %760 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #6
  br label %765

765:                                              ; preds = %764, %758
  %.pn270.pn = phi { ptr, i32 } [ %.pn270, %764 ], [ %759, %758 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %766

766:                                              ; preds = %765, %756
  %.pn270.pn.pn = phi { ptr, i32 } [ %.pn270.pn, %765 ], [ %757, %756 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #6
  br label %767

767:                                              ; preds = %766, %754
  %.pn270.pn.pn.pn = phi { ptr, i32 } [ %.pn270.pn.pn, %766 ], [ %755, %754 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %768

768:                                              ; preds = %767, %752
  %.pn270.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn270.pn.pn.pn, %767 ], [ %753, %752 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  br label %985

769:                                              ; preds = %725
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %791

771:                                              ; preds = %728, %726
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %790

773:                                              ; preds = %730
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %789

775:                                              ; preds = %734, %732
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %788

777:                                              ; preds = %736
  %778 = landingpad { ptr, i32 }
          cleanup
  br label %787

779:                                              ; preds = %739, %737
  %780 = landingpad { ptr, i32 }
          cleanup
  br label %786

781:                                              ; preds = %741
  %782 = landingpad { ptr, i32 }
          cleanup
  br label %785

783:                                              ; preds = %749, %747, %745
  %784 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %785

785:                                              ; preds = %783, %781
  %.pn276 = phi { ptr, i32 } [ %784, %783 ], [ %782, %781 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #6
  br label %786

786:                                              ; preds = %785, %779
  %.pn276.pn = phi { ptr, i32 } [ %.pn276, %785 ], [ %780, %779 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %787

787:                                              ; preds = %786, %777
  %.pn276.pn.pn = phi { ptr, i32 } [ %.pn276.pn, %786 ], [ %778, %777 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  br label %788

788:                                              ; preds = %787, %775
  %.pn276.pn.pn.pn = phi { ptr, i32 } [ %.pn276.pn.pn, %787 ], [ %776, %775 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %789

789:                                              ; preds = %788, %773
  %.pn276.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn276.pn.pn.pn, %788 ], [ %774, %773 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  br label %790

790:                                              ; preds = %789, %771
  %.pn276.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn276.pn.pn.pn.pn, %789 ], [ %772, %771 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %791

791:                                              ; preds = %790, %769
  %.pn276.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn276.pn.pn.pn.pn.pn, %790 ], [ %770, %769 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  br label %985

792:                                              ; preds = %751, %712
  %793 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 7) #6
  %794 = load i8, ptr %793, align 1, !tbaa !21
  %795 = call noundef zeroext i1 @_Z6isNearIihiEbT_T0_T1_(i32 noundef 255, i8 noundef zeroext %794, i32 noundef 1)
  br i1 %795, label %872, label %796

796:                                              ; preds = %792
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %797 unwind label %832

797:                                              ; preds = %796
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.636)
          to label %798 unwind label %834

798:                                              ; preds = %797
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.3)
          to label %799 unwind label %836

799:                                              ; preds = %798
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull @.str.637)
          to label %800 unwind label %838

800:                                              ; preds = %799
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull @.str.548)
          to label %801 unwind label %840

801:                                              ; preds = %800
  %802 = 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) %110)
          to label %803 unwind label %842

803:                                              ; preds = %801
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  %804 = 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.549)
          to label %805 unwind label %270

805:                                              ; preds = %803
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %116) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %117) #6
  store i32 255, ptr %117, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 4 dereferenceable(4) %117)
          to label %806 unwind label %849

806:                                              ; preds = %805
  %807 = 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) %804, ptr noundef nonnull align 8 dereferenceable(32) %116)
          to label %808 unwind label %851

808:                                              ; preds = %806
  %809 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %807, ptr noundef nonnull @.str.20)
          to label %810 unwind label %851

810:                                              ; preds = %808
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #6
  %811 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 7) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %118, ptr noundef nonnull align 1 dereferenceable(1) %811)
          to label %812 unwind label %853

812:                                              ; preds = %810
  %813 = 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) %809, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %814 unwind label %855

814:                                              ; preds = %812
  %815 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %813, ptr noundef nonnull @.str.550)
          to label %816 unwind label %855

816:                                              ; preds = %814
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %120) #6
  store i32 1, ptr %120, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 4 dereferenceable(4) %120)
          to label %817 unwind label %857

817:                                              ; preds = %816
  %818 = 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) %815, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %819 unwind label %859

819:                                              ; preds = %817
  %820 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %818, ptr noundef nonnull @.str.551)
          to label %821 unwind label %859

821:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %122) #6
  %822 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef 7) #6
  %823 = load i8, ptr %822, align 1, !tbaa !21
  %824 = call noundef i32 @_Z4diffIihET_S0_T0_(i32 noundef 255, i8 noundef zeroext %823)
  store i32 %824, ptr %122, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull align 4 dereferenceable(4) %122)
          to label %825 unwind label %861

825:                                              ; preds = %821
  %826 = 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) %820, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %827 unwind label %863

827:                                              ; preds = %825
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %826, ptr noundef nonnull @.str.21)
          to label %829 unwind label %863

829:                                              ; preds = %827
  %830 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %828, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %831 unwind label %863

831:                                              ; preds = %829
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  invoke void @_Z4failv()
          to label %872 unwind label %270

832:                                              ; preds = %796
  %833 = landingpad { ptr, i32 }
          cleanup
  br label %848

834:                                              ; preds = %797
  %835 = landingpad { ptr, i32 }
          cleanup
  br label %847

836:                                              ; preds = %798
  %837 = landingpad { ptr, i32 }
          cleanup
  br label %846

838:                                              ; preds = %799
  %839 = landingpad { ptr, i32 }
          cleanup
  br label %845

840:                                              ; preds = %800
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %844

842:                                              ; preds = %801
  %843 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %844

844:                                              ; preds = %842, %840
  %.pn284 = phi { ptr, i32 } [ %843, %842 ], [ %841, %840 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %845

845:                                              ; preds = %844, %838
  %.pn284.pn = phi { ptr, i32 } [ %.pn284, %844 ], [ %839, %838 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %846

846:                                              ; preds = %845, %836
  %.pn284.pn.pn = phi { ptr, i32 } [ %.pn284.pn, %845 ], [ %837, %836 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %847

847:                                              ; preds = %846, %834
  %.pn284.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn, %846 ], [ %835, %834 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %848

848:                                              ; preds = %847, %832
  %.pn284.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn284.pn.pn.pn, %847 ], [ %833, %832 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  br label %985

849:                                              ; preds = %805
  %850 = landingpad { ptr, i32 }
          cleanup
  br label %871

851:                                              ; preds = %808, %806
  %852 = landingpad { ptr, i32 }
          cleanup
  br label %870

853:                                              ; preds = %810
  %854 = landingpad { ptr, i32 }
          cleanup
  br label %869

855:                                              ; preds = %814, %812
  %856 = landingpad { ptr, i32 }
          cleanup
  br label %868

857:                                              ; preds = %816
  %858 = landingpad { ptr, i32 }
          cleanup
  br label %867

859:                                              ; preds = %819, %817
  %860 = landingpad { ptr, i32 }
          cleanup
  br label %866

861:                                              ; preds = %821
  %862 = landingpad { ptr, i32 }
          cleanup
  br label %865

863:                                              ; preds = %829, %827, %825
  %864 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %865

865:                                              ; preds = %863, %861
  %.pn290 = phi { ptr, i32 } [ %864, %863 ], [ %862, %861 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  br label %866

866:                                              ; preds = %865, %859
  %.pn290.pn = phi { ptr, i32 } [ %.pn290, %865 ], [ %860, %859 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %867

867:                                              ; preds = %866, %857
  %.pn290.pn.pn = phi { ptr, i32 } [ %.pn290.pn, %866 ], [ %858, %857 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  br label %868

868:                                              ; preds = %867, %855
  %.pn290.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn, %867 ], [ %856, %855 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #6
  br label %869

869:                                              ; preds = %868, %853
  %.pn290.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn, %868 ], [ %854, %853 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #6
  br label %870

870:                                              ; preds = %869, %851
  %.pn290.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn, %869 ], [ %852, %851 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  br label %871

871:                                              ; preds = %870, %849
  %.pn290.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn290.pn.pn.pn.pn.pn, %870 ], [ %850, %849 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %116) #6
  br label %985

872:                                              ; preds = %831, %792
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %123) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %124) #6
  store i8 -1, ptr %124, align 1, !tbaa !21
  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 @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %124, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %873 unwind label %879

873:                                              ; preds = %872
  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
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %124) #6
  %874 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %123) #6
  %875 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  %876 = invoke noundef i32 @_ZN7lodepng15convertFromSrgbEPhPKhjjPK12LodePNGState(ptr noundef %874, ptr noundef %875, i32 noundef 4, i32 noundef 2, ptr noundef nonnull %8)
          to label %877 unwind label %881

877:                                              ; preds = %873
  invoke void @_Z13assertNoErrorj(i32 noundef %876)
          to label %.preheader352 unwind label %881

878:                                              ; preds = %969
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %138) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %139) #6
  store i8 -1, ptr %139, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %140) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %139, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %971 unwind label %987

879:                                              ; preds = %872
  %880 = 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
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %124) #6
  br label %984

881:                                              ; preds = %877, %873
  %882 = landingpad { ptr, i32 }
          cleanup
  br label %983

.preheader352:                                    ; preds = %877, %969
  %.036353 = phi i64 [ %970, %969 ], [ 0, %877 ]
  %883 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.036353) #6
  %884 = load i8, ptr %883, align 1, !tbaa !21
  %885 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef %.036353) #6
  %886 = load i8, ptr %885, align 1, !tbaa !21
  %887 = call noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext %884, i8 noundef zeroext %886, i32 noundef 1)
  br i1 %887, label %969, label %888

888:                                              ; preds = %.preheader352
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #6
  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 32, ptr nonnull %130) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %131) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %131)
          to label %889 unwind label %929

889:                                              ; preds = %888
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull @.str.638)
          to label %890 unwind label %931

890:                                              ; preds = %889
  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.3)
          to label %891 unwind label %933

891:                                              ; preds = %890
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(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 @.str.613)
          to label %892 unwind label %935

892:                                              ; preds = %891
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %126, ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull @.str.548)
          to label %893 unwind label %937

893:                                              ; preds = %892
  %894 = 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) %126)
          to label %895 unwind label %939

895:                                              ; preds = %893
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  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) %128) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %131) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  %896 = 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.549)
          to label %897 unwind label %927

897:                                              ; preds = %895
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #6
  %898 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.036353) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 1 dereferenceable(1) %898)
          to label %899 unwind label %946

899:                                              ; preds = %897
  %900 = 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) %896, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %901 unwind label %948

901:                                              ; preds = %899
  %902 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %900, ptr noundef nonnull @.str.20)
          to label %903 unwind label %948

903:                                              ; preds = %901
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %133) #6
  %904 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef %.036353) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr noundef nonnull align 1 dereferenceable(1) %904)
          to label %905 unwind label %950

905:                                              ; preds = %903
  %906 = 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) %902, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %907 unwind label %952

907:                                              ; preds = %905
  %908 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %906, ptr noundef nonnull @.str.550)
          to label %909 unwind label %952

909:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %134) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %135) #6
  store i32 1, ptr %135, align 4, !tbaa !22
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef nonnull align 4 dereferenceable(4) %135)
          to label %910 unwind label %954

910:                                              ; preds = %909
  %911 = 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) %908, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %912 unwind label %956

912:                                              ; preds = %910
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %911, ptr noundef nonnull @.str.551)
          to label %914 unwind label %956

914:                                              ; preds = %912
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %137) #6
  %915 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.036353) #6
  %916 = load i8, ptr %915, align 1, !tbaa !21
  %917 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef %.036353) #6
  %918 = load i8, ptr %917, align 1, !tbaa !21
  %919 = call noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext %916, i8 noundef zeroext %918)
  store i8 %919, ptr %137, align 1, !tbaa !21
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef nonnull align 1 dereferenceable(1) %137)
          to label %920 unwind label %958

920:                                              ; preds = %914
  %921 = 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) %913, ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %922 unwind label %960

922:                                              ; preds = %920
  %923 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %921, ptr noundef nonnull @.str.21)
          to label %924 unwind label %960

924:                                              ; preds = %922
  %925 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %923, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %926 unwind label %960

926:                                              ; preds = %924
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  invoke void @_Z4failv()
          to label %969 unwind label %927

927:                                              ; preds = %926, %895
  %928 = landingpad { ptr, i32 }
          cleanup
  br label %983

929:                                              ; preds = %888
  %930 = landingpad { ptr, i32 }
          cleanup
  br label %945

931:                                              ; preds = %889
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %944

933:                                              ; preds = %890
  %934 = landingpad { ptr, i32 }
          cleanup
  br label %943

935:                                              ; preds = %891
  %936 = landingpad { ptr, i32 }
          cleanup
  br label %942

937:                                              ; preds = %892
  %938 = landingpad { ptr, i32 }
          cleanup
  br label %941

939:                                              ; preds = %893
  %940 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #6
  br label %941

941:                                              ; preds = %939, %937
  %.pn318 = phi { ptr, i32 } [ %940, %939 ], [ %938, %937 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %942

942:                                              ; preds = %941, %935
  %.pn318.pn = phi { ptr, i32 } [ %.pn318, %941 ], [ %936, %935 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %943

943:                                              ; preds = %942, %933
  %.pn318.pn.pn = phi { ptr, i32 } [ %.pn318.pn, %942 ], [ %934, %933 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #6
  br label %944

944:                                              ; preds = %943, %931
  %.pn318.pn.pn.pn = phi { ptr, i32 } [ %.pn318.pn.pn, %943 ], [ %932, %931 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #6
  br label %945

945:                                              ; preds = %944, %929
  %.pn318.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn318.pn.pn.pn, %944 ], [ %930, %929 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %131) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %131) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #6
  br label %983

946:                                              ; preds = %897
  %947 = landingpad { ptr, i32 }
          cleanup
  br label %968

948:                                              ; preds = %901, %899
  %949 = landingpad { ptr, i32 }
          cleanup
  br label %967

950:                                              ; preds = %903
  %951 = landingpad { ptr, i32 }
          cleanup
  br label %966

952:                                              ; preds = %907, %905
  %953 = landingpad { ptr, i32 }
          cleanup
  br label %965

954:                                              ; preds = %909
  %955 = landingpad { ptr, i32 }
          cleanup
  br label %964

956:                                              ; preds = %912, %910
  %957 = landingpad { ptr, i32 }
          cleanup
  br label %963

958:                                              ; preds = %914
  %959 = landingpad { ptr, i32 }
          cleanup
  br label %962

960:                                              ; preds = %924, %922, %920
  %961 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  br label %962

962:                                              ; preds = %960, %958
  %.pn324 = phi { ptr, i32 } [ %961, %960 ], [ %959, %958 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %137) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #6
  br label %963

963:                                              ; preds = %962, %956
  %.pn324.pn = phi { ptr, i32 } [ %.pn324, %962 ], [ %957, %956 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #6
  br label %964

964:                                              ; preds = %963, %954
  %.pn324.pn.pn = phi { ptr, i32 } [ %.pn324.pn, %963 ], [ %955, %954 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %134) #6
  br label %965

965:                                              ; preds = %964, %952
  %.pn324.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn, %964 ], [ %953, %952 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #6
  br label %966

966:                                              ; preds = %965, %950
  %.pn324.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn, %965 ], [ %951, %950 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %133) #6
  br label %967

967:                                              ; preds = %966, %948
  %.pn324.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn.pn, %966 ], [ %949, %948 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #6
  br label %968

968:                                              ; preds = %967, %946
  %.pn324.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn324.pn.pn.pn.pn.pn, %967 ], [ %947, %946 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #6
  br label %983

969:                                              ; preds = %.preheader352, %926
  %970 = add nuw nsw i64 %.036353, 1
  %exitcond.not = icmp eq i64 %970, 8
  br i1 %exitcond.not, label %878, label %.preheader352, !llvm.loop !23

971:                                              ; preds = %878
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #6
  %972 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #6
  %973 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %974 = invoke noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef %972, ptr noundef %973, i32 noundef 4, i32 noundef 2, ptr noundef nonnull %4, ptr noundef nonnull %12, i32 noundef 3)
          to label %975 unwind label %989

975:                                              ; preds = %971
  invoke void @_Z13assertNoErrorj(i32 noundef %974)
          to label %976 unwind label %989

976:                                              ; preds = %975
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %141) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %142) #6
  store i8 -1, ptr %142, align 1, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKhRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef 8, ptr noundef nonnull align 1 dereferenceable(1) %142, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %977 unwind label %991

977:                                              ; preds = %976
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %142) #6
  %978 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %141) #6
  %979 = call noundef ptr @_ZNSt6vectorIhSaIhEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #6
  %980 = invoke noundef i32 @_ZN7lodepng15convertRGBModelEPhPKhjjPK12LodePNGStateS5_j(ptr noundef %978, ptr noundef %979, i32 noundef 4, i32 noundef 2, ptr noundef nonnull %12, ptr noundef nonnull %4, i32 noundef 3)
          to label %981 unwind label %993

981:                                              ; preds = %977
  invoke void @_Z13assertNoErrorj(i32 noundef %980)
          to label %.preheader unwind label %993

.preheader:                                       ; preds = %981
  %982 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %.not = icmp eq i64 %982, 0
  br i1 %.not, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %1086, %.preheader
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %141) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %12) #6
  call void @llvm.lifetime.end.p0(i64 512, 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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %8) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %8) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %4) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %4) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1) #6
  ret void

983:                                              ; preds = %927, %945, %968, %881
  %.pn332.pn = phi { ptr, i32 } [ %882, %881 ], [ %928, %927 ], [ %.pn324.pn.pn.pn.pn.pn.pn, %968 ], [ %.pn318.pn.pn.pn.pn, %945 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %123) #6
  br label %984

984:                                              ; preds = %983, %879
  %.pn332.pn.pn = phi { ptr, i32 } [ %.pn332.pn, %983 ], [ %880, %879 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %123) #6
  br label %985

985:                                              ; preds = %984, %871, %848, %791, %768, %711, %688, %631, %608, %551, %528, %471, %448, %391, %368, %311, %288, %270
  %.pn332.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn, %984 ], [ %271, %270 ], [ %.pn290.pn.pn.pn.pn.pn.pn, %871 ], [ %.pn284.pn.pn.pn.pn, %848 ], [ %.pn276.pn.pn.pn.pn.pn.pn, %791 ], [ %.pn270.pn.pn.pn.pn, %768 ], [ %.pn262.pn.pn.pn.pn.pn.pn, %711 ], [ %.pn256.pn.pn.pn.pn, %688 ], [ %.pn248.pn.pn.pn.pn.pn.pn, %631 ], [ %.pn242.pn.pn.pn.pn, %608 ], [ %.pn234.pn.pn.pn.pn.pn.pn, %551 ], [ %.pn228.pn.pn.pn.pn, %528 ], [ %.pn220.pn.pn.pn.pn.pn.pn, %471 ], [ %.pn214.pn.pn.pn.pn, %448 ], [ %.pn206.pn.pn.pn.pn.pn.pn, %391 ], [ %.pn200.pn.pn.pn.pn, %368 ], [ %.pn192.pn.pn.pn.pn.pn.pn, %311 ], [ %.pn.pn.pn.pn.pn, %288 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #6
  br label %986

986:                                              ; preds = %985, %268
  %.pn332.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn, %985 ], [ %269, %268 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #6
  br label %1095

987:                                              ; preds = %878
  %988 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #6
  br label %1094

989:                                              ; preds = %975, %971
  %990 = landingpad { ptr, i32 }
          cleanup
  br label %1093

991:                                              ; preds = %976
  %992 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %142) #6
  br label %1092

993:                                              ; preds = %981, %977
  %994 = landingpad { ptr, i32 }
          cleanup
  br label %1091

.lr.ph:                                           ; preds = %.preheader, %1086
  %.0354 = phi i64 [ %1087, %1086 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %144) #6
  %995 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0354) #6
  %996 = load i8, ptr %995, align 1, !tbaa !21
  %997 = icmp ult i8 %996, 16
  %998 = select i1 %997, i32 8, i32 1
  store i32 %998, ptr %144, align 4, !tbaa !22
  %999 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0354) #6
  %1000 = load i8, ptr %999, align 1, !tbaa !21
  %1001 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef %.0354) #6
  %1002 = load i8, ptr %1001, align 1, !tbaa !21
  %1003 = load i32, ptr %144, align 4, !tbaa !22
  %1004 = call noundef zeroext i1 @_Z6isNearIhhiEbT_T0_T1_(i8 noundef zeroext %1000, i8 noundef zeroext %1002, i32 noundef %1003)
  br i1 %1004, label %1086, label %1005

1005:                                             ; preds = %.lr.ph
  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 %1006 unwind label %1046

1006:                                             ; preds = %1005
  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.639)
          to label %1007 unwind label %1048

1007:                                             ; preds = %1006
  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 %1008 unwind label %1050

1008:                                             ; preds = %1007
  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.613)
          to label %1009 unwind label %1052

1009:                                             ; preds = %1008
  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.548)
          to label %1010 unwind label %1054

1010:                                             ; preds = %1009
  %1011 = 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 %1012 unwind label %1056

1012:                                             ; preds = %1010
  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
  %1013 = 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.549)
          to label %1014 unwind label %1044

1014:                                             ; preds = %1012
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  %1015 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0354) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 1 dereferenceable(1) %1015)
          to label %1016 unwind label %1063

1016:                                             ; preds = %1014
  %1017 = 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) %1013, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1018 unwind label %1065

1018:                                             ; preds = %1016
  %1019 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1017, ptr noundef nonnull @.str.20)
          to label %1020 unwind label %1065

1020:                                             ; preds = %1018
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %152) #6
  %1021 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef %.0354) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 1 dereferenceable(1) %1021)
          to label %1022 unwind label %1067

1022:                                             ; preds = %1020
  %1023 = 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) %1019, ptr noundef nonnull align 8 dereferenceable(32) %152)
          to label %1024 unwind label %1069

1024:                                             ; preds = %1022
  %1025 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1023, ptr noundef nonnull @.str.550)
          to label %1026 unwind label %1069

1026:                                             ; preds = %1024
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %153) #6
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %153, ptr noundef nonnull align 4 dereferenceable(4) %144)
          to label %1027 unwind label %1071

1027:                                             ; preds = %1026
  %1028 = 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) %1025, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1029 unwind label %1073

1029:                                             ; preds = %1027
  %1030 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1028, ptr noundef nonnull @.str.551)
          to label %1031 unwind label %1073

1031:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %155) #6
  %1032 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0354) #6
  %1033 = load i8, ptr %1032, align 1, !tbaa !21
  %1034 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef %.0354) #6
  %1035 = load i8, ptr %1034, align 1, !tbaa !21
  %1036 = call noundef zeroext i8 @_Z4diffIhhET_S0_T0_(i8 noundef zeroext %1033, i8 noundef zeroext %1035)
  store i8 %1036, ptr %155, align 1, !tbaa !21
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %154, ptr noundef nonnull align 1 dereferenceable(1) %155)
          to label %1037 unwind label %1075

1037:                                             ; preds = %1031
  %1038 = 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) %1030, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %1039 unwind label %1077

1039:                                             ; preds = %1037
  %1040 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1038, ptr noundef nonnull @.str.21)
          to label %1041 unwind label %1077

1041:                                             ; preds = %1039
  %1042 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1040, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1043 unwind label %1077

1043:                                             ; preds = %1041
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  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 %1086 unwind label %1044

1044:                                             ; preds = %1043, %1012
  %1045 = landingpad { ptr, i32 }
          cleanup
  br label %1090

1046:                                             ; preds = %1005
  %1047 = landingpad { ptr, i32 }
          cleanup
  br label %1062

1048:                                             ; preds = %1006
  %1049 = landingpad { ptr, i32 }
          cleanup
  br label %1061

1050:                                             ; preds = %1007
  %1051 = landingpad { ptr, i32 }
          cleanup
  br label %1060

1052:                                             ; preds = %1008
  %1053 = landingpad { ptr, i32 }
          cleanup
  br label %1059

1054:                                             ; preds = %1009
  %1055 = landingpad { ptr, i32 }
          cleanup
  br label %1058

1056:                                             ; preds = %1010
  %1057 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  br label %1058

1058:                                             ; preds = %1056, %1054
  %.pn298 = phi { ptr, i32 } [ %1057, %1056 ], [ %1055, %1054 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #6
  br label %1059

1059:                                             ; preds = %1058, %1052
  %.pn298.pn = phi { ptr, i32 } [ %.pn298, %1058 ], [ %1053, %1052 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  br label %1060

1060:                                             ; preds = %1059, %1050
  %.pn298.pn.pn = phi { ptr, i32 } [ %.pn298.pn, %1059 ], [ %1051, %1050 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #6
  br label %1061

1061:                                             ; preds = %1060, %1048
  %.pn298.pn.pn.pn = phi { ptr, i32 } [ %.pn298.pn.pn, %1060 ], [ %1049, %1048 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %1062

1062:                                             ; preds = %1061, %1046
  %.pn298.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn298.pn.pn.pn, %1061 ], [ %1047, %1046 ]
  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 %1090

1063:                                             ; preds = %1014
  %1064 = landingpad { ptr, i32 }
          cleanup
  br label %1085

1065:                                             ; preds = %1018, %1016
  %1066 = landingpad { ptr, i32 }
          cleanup
  br label %1084

1067:                                             ; preds = %1020
  %1068 = landingpad { ptr, i32 }
          cleanup
  br label %1083

1069:                                             ; preds = %1024, %1022
  %1070 = landingpad { ptr, i32 }
          cleanup
  br label %1082

1071:                                             ; preds = %1026
  %1072 = landingpad { ptr, i32 }
          cleanup
  br label %1081

1073:                                             ; preds = %1029, %1027
  %1074 = landingpad { ptr, i32 }
          cleanup
  br label %1080

1075:                                             ; preds = %1031
  %1076 = landingpad { ptr, i32 }
          cleanup
  br label %1079

1077:                                             ; preds = %1041, %1039, %1037
  %1078 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1079

1079:                                             ; preds = %1077, %1075
  %.pn304 = phi { ptr, i32 } [ %1078, %1077 ], [ %1076, %1075 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %155) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #6
  br label %1080

1080:                                             ; preds = %1079, %1073
  %.pn304.pn = phi { ptr, i32 } [ %.pn304, %1079 ], [ %1074, %1073 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br label %1081

1081:                                             ; preds = %1080, %1071
  %.pn304.pn.pn = phi { ptr, i32 } [ %.pn304.pn, %1080 ], [ %1072, %1071 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  br label %1082

1082:                                             ; preds = %1081, %1069
  %.pn304.pn.pn.pn = phi { ptr, i32 } [ %.pn304.pn.pn, %1081 ], [ %1070, %1069 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #6
  br label %1083

1083:                                             ; preds = %1082, %1067
  %.pn304.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn304.pn.pn.pn, %1082 ], [ %1068, %1067 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #6
  br label %1084

1084:                                             ; preds = %1083, %1065
  %.pn304.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn304.pn.pn.pn.pn, %1083 ], [ %1066, %1065 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1085

1085:                                             ; preds = %1084, %1063
  %.pn304.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn304.pn.pn.pn.pn.pn, %1084 ], [ %1064, %1063 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  br label %1090

1086:                                             ; preds = %1043, %.lr.ph
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %144) #6
  %1087 = add nuw i64 %.0354, 1
  %1088 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  %1089 = icmp ult i64 %1087, %1088
  br i1 %1089, label %.lr.ph, label %._crit_edge, !llvm.loop !25

1090:                                             ; preds = %1085, %1062, %1044
  %.pn312 = phi { ptr, i32 } [ %1045, %1044 ], [ %.pn304.pn.pn.pn.pn.pn.pn, %1085 ], [ %.pn298.pn.pn.pn.pn, %1062 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %144) #6
  br label %1091

1091:                                             ; preds = %1090, %993
  %.pn312.pn = phi { ptr, i32 } [ %.pn312, %1090 ], [ %994, %993 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %141) #6
  br label %1092

1092:                                             ; preds = %1091, %991
  %.pn312.pn.pn = phi { ptr, i32 } [ %.pn312.pn, %1091 ], [ %992, %991 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %141) #6
  br label %1093

1093:                                             ; preds = %1092, %989
  %.pn312.pn.pn.pn = phi { ptr, i32 } [ %.pn312.pn.pn, %1092 ], [ %990, %989 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #6
  br label %1094

1094:                                             ; preds = %1093, %987
  %.pn312.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn312.pn.pn.pn, %1093 ], [ %988, %987 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %138) #6
  br label %1095

1095:                                             ; preds = %1094, %986
  %.pn332.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn, %986 ], [ %.pn312.pn.pn.pn.pn, %1094 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #6
  br label %1096

1096:                                             ; preds = %1095, %266
  %.pn332.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn, %1095 ], [ %267, %266 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #6
  br label %1097

1097:                                             ; preds = %1096, %264
  %.pn332.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn, %1096 ], [ %265, %264 ]
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %12) #6
  br label %1098

1098:                                             ; preds = %1097, %262
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn, %1097 ], [ %263, %262 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %12) #6
  br label %1099

1099:                                             ; preds = %1098, %260
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn, %1098 ], [ %261, %260 ]
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %1100

1100:                                             ; preds = %1099, %258
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1099 ], [ %259, %258 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #6
  br label %1101

1101:                                             ; preds = %1100, %256
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1100 ], [ %257, %256 ]
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %8) #6
  br label %1102

1102:                                             ; preds = %1101, %254
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1101 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %8) #6
  br label %1103

1103:                                             ; preds = %1102, %252
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1102 ], [ %253, %252 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  br label %1104

1104:                                             ; preds = %1103, %250
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1103 ], [ %251, %250 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %1105

1105:                                             ; preds = %1104, %248
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1104 ], [ %249, %248 ]
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %4) #6
  br label %1106

1106:                                             ; preds = %1105, %246
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1105 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %4) #6
  br label %1107

1107:                                             ; preds = %1106, %244
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1106 ], [ %245, %244 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  br label %1108

1108:                                             ; preds = %1107, %242
  %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1107 ], [ %243, %242 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1) #6
  resume { ptr, i32 } %.pn332.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

; 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 = { nounwind "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, !17, i64 152}
!6 = !{!"_ZTS12LodePNGState", !7, i64 8, !13, i64 64, !16, i64 152, !19, i64 192, !9, i64 504}
!7 = !{!"_ZTS22LodePNGDecoderSettings", !8, i64 0, !9, i64 32, !9, i64 36, !9, i64 40, !9, i64 44, !9, i64 48, !9, i64 52}
!8 = !{!"_ZTS25LodePNGDecompressSettings", !9, i64 0, !9, i64 4, !12, i64 8, !12, i64 16, !12, i64 24}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"any pointer", !10, i64 0}
!13 = !{!"_ZTS22LodePNGEncoderSettings", !14, i64 0, !9, i64 48, !9, i64 52, !15, i64 56, !12, i64 64, !9, i64 72, !9, i64 76, !9, i64 80}
!14 = !{!"_ZTS23LodePNGCompressSettings", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !9, i64 16, !9, i64 20, !12, i64 24, !12, i64 32, !12, i64 40}
!15 = !{!"_ZTS21LodePNGFilterStrategy", !10, i64 0}
!16 = !{!"_ZTS16LodePNGColorMode", !17, i64 0, !9, i64 4, !12, i64 8, !18, i64 16, !9, i64 24, !9, i64 28, !9, i64 32, !9, i64 36}
!17 = !{!"_ZTS16LodePNGColorType", !10, i64 0}
!18 = !{!"long", !10, i64 0}
!19 = !{!"_ZTS11LodePNGInfo", !9, i64 0, !9, i64 4, !9, i64 8, !16, i64 16, !9, i64 56, !9, i64 60, !9, i64 64, !9, i64 68, !18, i64 72, !12, i64 80, !12, i64 88, !18, i64 96, !12, i64 104, !12, i64 112, !12, i64 120, !12, i64 128, !9, i64 136, !20, i64 140, !9, i64 164, !9, i64 168, !9, i64 172, !9, i64 176, !9, i64 180, !9, i64 184, !9, i64 188, !9, i64 192, !9, i64 196, !9, i64 200, !9, i64 204, !9, i64 208, !9, i64 212, !9, i64 216, !9, i64 220, !9, i64 224, !9, i64 228, !9, i64 232, !12, i64 240, !12, i64 248, !9, i64 256, !10, i64 264, !10, i64 288}
!20 = !{!"_ZTS11LodePNGTime", !9, i64 0, !9, i64 4, !9, i64 8, !9, i64 12, !9, i64 16, !9, i64 20}
!21 = !{!10, !10, i64 0}
!22 = !{!9, !9, i64 0}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = distinct !{!25, !24}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass