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

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%"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" = 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.2 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.481 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.495 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z16testColorProfilev.colors = external hidden unnamed_addr constant [3 x i32], align 4
@.str.496 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.497 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z16testColorProfilev.colors.503 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.504 = 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 uwtable
declare dso_local void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #0

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

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

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

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

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

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

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

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

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

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

declare 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

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

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

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

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

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

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

; 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 uwtable
declare dso_local void @_Z8valtostrI16LodePNGColorTypeENSt7__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 uwtable
declare dso_local void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508), ptr noundef nonnull align 8 dereferenceable(508)) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_Z16testColorProfilev() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca %"class.std::vector", align 8
  %5 = alloca %"class.std::allocator.0", align 1
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i64, align 8
  %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::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca i1, align 1
  %20 = alloca i1, align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i1, align 1
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca i1, align 1
  %25 = alloca i1, align 1
  %26 = alloca i1, align 1
  %27 = alloca %"class.lodepng::State", align 8
  %28 = alloca %"class.std::vector", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca i1, align 1
  %38 = alloca i1, align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i1, align 1
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca i1, align 1
  %43 = alloca i1, align 1
  %44 = alloca i1, align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::allocator", align 1
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca i64, align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i64, align 8
  %73 = alloca i64, align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %"class.std::vector", align 8
  %86 = alloca %"class.std::allocator.0", align 1
  %87 = alloca i64, align 8
  %88 = alloca %"class.std::vector", align 8
  %89 = alloca %"class.lodepng::State", 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 %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::allocator", align 1
  %97 = alloca %"class.std::allocator", align 1
  %98 = alloca i1, align 1
  %99 = alloca i1, align 1
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca i1, align 1
  %102 = alloca %"class.std::allocator", align 1
  %103 = alloca i1, align 1
  %104 = alloca i1, align 1
  %105 = alloca i1, align 1
  %106 = alloca %"class.lodepng::State", align 8
  %107 = alloca %"class.std::vector", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::allocator", align 1
  %115 = alloca %"class.std::allocator", align 1
  %116 = alloca i1, align 1
  %117 = alloca i1, align 1
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca i1, align 1
  %120 = alloca %"class.std::allocator", align 1
  %121 = alloca i1, align 1
  %122 = alloca i1, align 1
  %123 = alloca i1, align 1
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::allocator", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::allocator", align 1
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca i64, align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca i64, align 8
  %152 = alloca i64, 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::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::allocator", align 1
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca %"class.std::vector", align 8
  %165 = alloca %"class.std::allocator.0", align 1
  %166 = alloca i64, align 8
  %167 = alloca %"class.std::vector", align 8
  %168 = alloca %"class.lodepng::State", align 8
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::allocator", align 1
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::allocator", align 1
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::allocator", align 1
  %178 = alloca %"class.std::allocator", align 1
  %179 = alloca i1, align 1
  %180 = alloca i1, align 1
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca i1, align 1
  %183 = alloca %"class.std::allocator", align 1
  %184 = alloca i1, align 1
  %185 = alloca i1, align 1
  %186 = alloca i1, align 1
  %187 = alloca %"class.lodepng::State", align 8
  %188 = alloca %"class.std::vector", align 8
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::allocator", align 1
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca %"class.std::allocator", align 1
  %196 = alloca %"class.std::allocator", align 1
  %197 = alloca i1, align 1
  %198 = alloca i1, align 1
  %199 = alloca %"class.std::__cxx11::basic_string", align 8
  %200 = alloca i1, align 1
  %201 = alloca %"class.std::allocator", align 1
  %202 = alloca i1, align 1
  %203 = alloca i1, align 1
  %204 = alloca i1, align 1
  %205 = alloca %"class.std::__cxx11::basic_string", align 8
  %206 = alloca %"class.std::__cxx11::basic_string", align 8
  %207 = alloca %"class.std::__cxx11::basic_string", align 8
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::__cxx11::basic_string", align 8
  %210 = alloca %"class.std::allocator", align 1
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca i32, align 4
  %213 = alloca %"class.std::__cxx11::basic_string", align 8
  %214 = alloca %"class.std::__cxx11::basic_string", align 8
  %215 = alloca %"class.std::__cxx11::basic_string", align 8
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca %"class.std::__cxx11::basic_string", align 8
  %218 = alloca %"class.std::__cxx11::basic_string", align 8
  %219 = alloca %"class.std::allocator", align 1
  %220 = alloca %"class.std::__cxx11::basic_string", align 8
  %221 = alloca i32, align 4
  %222 = alloca %"class.std::__cxx11::basic_string", align 8
  %223 = alloca %"class.std::__cxx11::basic_string", align 8
  %224 = alloca %"class.std::__cxx11::basic_string", align 8
  %225 = alloca %"class.std::__cxx11::basic_string", align 8
  %226 = alloca %"class.std::__cxx11::basic_string", align 8
  %227 = alloca %"class.std::__cxx11::basic_string", align 8
  %228 = alloca %"class.std::allocator", align 1
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca i64, align 8
  %231 = alloca %"class.std::__cxx11::basic_string", align 8
  %232 = alloca i64, align 8
  %233 = alloca i64, align 8
  %234 = alloca %"class.std::__cxx11::basic_string", align 8
  %235 = alloca %"class.std::__cxx11::basic_string", align 8
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::__cxx11::basic_string", align 8
  %239 = alloca %"class.std::allocator", align 1
  %240 = alloca %"class.std::__cxx11::basic_string", align 8
  %241 = alloca %"class.std::__cxx11::basic_string", align 8
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca %"class.std::vector", align 8
  %246 = alloca %"class.std::allocator.0", align 1
  %247 = alloca i64, align 8
  %248 = alloca %"class.std::vector", align 8
  %249 = alloca %"class.lodepng::State", align 8
  %250 = alloca %"class.std::__cxx11::basic_string", align 8
  %251 = alloca %"class.std::allocator", align 1
  %252 = alloca %"class.std::__cxx11::basic_string", align 8
  %253 = alloca %"class.std::__cxx11::basic_string", align 8
  %254 = alloca %"class.std::__cxx11::basic_string", align 8
  %255 = alloca %"class.std::allocator", align 1
  %256 = alloca %"class.std::__cxx11::basic_string", align 8
  %257 = alloca %"class.std::__cxx11::basic_string", align 8
  %258 = alloca %"class.std::allocator", align 1
  %259 = alloca %"class.std::allocator", align 1
  %260 = alloca i1, align 1
  %261 = alloca i1, align 1
  %262 = alloca %"class.std::__cxx11::basic_string", align 8
  %263 = alloca i1, align 1
  %264 = alloca %"class.std::allocator", align 1
  %265 = alloca i1, align 1
  %266 = alloca i1, align 1
  %267 = alloca i1, align 1
  %268 = alloca %"class.lodepng::State", align 8
  %269 = alloca %"class.std::vector", align 8
  %270 = alloca %"class.std::__cxx11::basic_string", align 8
  %271 = alloca %"class.std::__cxx11::basic_string", align 8
  %272 = alloca %"class.std::__cxx11::basic_string", align 8
  %273 = alloca %"class.std::allocator", align 1
  %274 = alloca %"class.std::__cxx11::basic_string", align 8
  %275 = alloca %"class.std::__cxx11::basic_string", align 8
  %276 = alloca %"class.std::allocator", align 1
  %277 = alloca %"class.std::allocator", align 1
  %278 = alloca i1, align 1
  %279 = alloca i1, align 1
  %280 = alloca %"class.std::__cxx11::basic_string", align 8
  %281 = alloca i1, align 1
  %282 = alloca %"class.std::allocator", align 1
  %283 = alloca i1, align 1
  %284 = alloca i1, align 1
  %285 = alloca i1, align 1
  %286 = alloca %"class.std::__cxx11::basic_string", align 8
  %287 = alloca %"class.std::__cxx11::basic_string", align 8
  %288 = alloca %"class.std::__cxx11::basic_string", align 8
  %289 = alloca %"class.std::__cxx11::basic_string", align 8
  %290 = alloca %"class.std::__cxx11::basic_string", align 8
  %291 = alloca %"class.std::allocator", align 1
  %292 = alloca %"class.std::__cxx11::basic_string", align 8
  %293 = alloca i32, align 4
  %294 = alloca %"class.std::__cxx11::basic_string", align 8
  %295 = alloca %"class.std::__cxx11::basic_string", align 8
  %296 = alloca %"class.std::__cxx11::basic_string", align 8
  %297 = alloca %"class.std::__cxx11::basic_string", align 8
  %298 = alloca %"class.std::__cxx11::basic_string", align 8
  %299 = alloca %"class.std::__cxx11::basic_string", align 8
  %300 = alloca %"class.std::allocator", align 1
  %301 = alloca %"class.std::__cxx11::basic_string", align 8
  %302 = alloca i32, align 4
  %303 = alloca %"class.std::__cxx11::basic_string", align 8
  %304 = alloca %"class.std::__cxx11::basic_string", align 8
  %305 = alloca %"class.std::__cxx11::basic_string", align 8
  %306 = alloca %"class.std::__cxx11::basic_string", align 8
  %307 = alloca %"class.std::__cxx11::basic_string", align 8
  %308 = alloca %"class.std::__cxx11::basic_string", align 8
  %309 = alloca %"class.std::allocator", align 1
  %310 = alloca %"class.std::__cxx11::basic_string", align 8
  %311 = alloca i64, align 8
  %312 = alloca %"class.std::__cxx11::basic_string", align 8
  %313 = alloca i64, align 8
  %314 = alloca i64, align 8
  %315 = alloca %"class.std::__cxx11::basic_string", align 8
  %316 = alloca %"class.std::__cxx11::basic_string", align 8
  %317 = alloca %"class.std::__cxx11::basic_string", align 8
  %318 = alloca %"class.std::__cxx11::basic_string", align 8
  %319 = alloca %"class.std::__cxx11::basic_string", align 8
  %320 = alloca %"class.std::allocator", align 1
  %321 = alloca %"class.std::__cxx11::basic_string", align 8
  %322 = alloca %"class.std::__cxx11::basic_string", align 8
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca %"class.std::vector", align 8
  %327 = alloca %"class.std::allocator.0", align 1
  %328 = alloca [3 x i32], align 4
  %329 = alloca i64, align 8
  %330 = alloca %"class.std::vector", align 8
  %331 = alloca %"class.lodepng::State", align 8
  %332 = alloca %"class.std::__cxx11::basic_string", align 8
  %333 = alloca %"class.std::allocator", align 1
  %334 = alloca %"class.std::__cxx11::basic_string", align 8
  %335 = alloca %"class.std::__cxx11::basic_string", align 8
  %336 = alloca %"class.std::__cxx11::basic_string", align 8
  %337 = alloca %"class.std::allocator", align 1
  %338 = alloca %"class.std::__cxx11::basic_string", align 8
  %339 = alloca %"class.std::__cxx11::basic_string", align 8
  %340 = alloca %"class.std::allocator", align 1
  %341 = alloca %"class.std::allocator", align 1
  %342 = alloca i1, align 1
  %343 = alloca i1, align 1
  %344 = alloca %"class.std::__cxx11::basic_string", align 8
  %345 = alloca i1, align 1
  %346 = alloca %"class.std::allocator", align 1
  %347 = alloca i1, align 1
  %348 = alloca i1, align 1
  %349 = alloca i1, align 1
  %350 = alloca %"class.lodepng::State", align 8
  %351 = alloca %"class.std::vector", align 8
  %352 = alloca %"class.std::__cxx11::basic_string", align 8
  %353 = alloca %"class.std::__cxx11::basic_string", align 8
  %354 = alloca %"class.std::__cxx11::basic_string", align 8
  %355 = alloca %"class.std::allocator", align 1
  %356 = alloca %"class.std::__cxx11::basic_string", align 8
  %357 = alloca %"class.std::__cxx11::basic_string", align 8
  %358 = alloca %"class.std::allocator", align 1
  %359 = alloca %"class.std::allocator", align 1
  %360 = alloca i1, align 1
  %361 = alloca i1, align 1
  %362 = alloca %"class.std::__cxx11::basic_string", align 8
  %363 = alloca i1, align 1
  %364 = alloca %"class.std::allocator", align 1
  %365 = alloca i1, align 1
  %366 = alloca i1, align 1
  %367 = alloca i1, align 1
  %368 = alloca %"class.std::__cxx11::basic_string", align 8
  %369 = alloca %"class.std::__cxx11::basic_string", align 8
  %370 = alloca %"class.std::__cxx11::basic_string", align 8
  %371 = alloca %"class.std::__cxx11::basic_string", align 8
  %372 = alloca %"class.std::__cxx11::basic_string", align 8
  %373 = alloca %"class.std::allocator", align 1
  %374 = alloca %"class.std::__cxx11::basic_string", align 8
  %375 = alloca i32, align 4
  %376 = alloca %"class.std::__cxx11::basic_string", align 8
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca %"class.std::vector", align 8
  %381 = alloca %"class.std::allocator.0", align 1
  %382 = alloca i64, align 8
  %383 = alloca %"class.std::vector", align 8
  %384 = alloca %"class.lodepng::State", align 8
  %385 = alloca %"class.std::__cxx11::basic_string", align 8
  %386 = alloca %"class.std::allocator", align 1
  %387 = alloca %"class.std::__cxx11::basic_string", align 8
  %388 = alloca %"class.std::__cxx11::basic_string", align 8
  %389 = alloca %"class.std::__cxx11::basic_string", align 8
  %390 = alloca %"class.std::allocator", align 1
  %391 = alloca %"class.std::__cxx11::basic_string", align 8
  %392 = alloca %"class.std::__cxx11::basic_string", align 8
  %393 = alloca %"class.std::allocator", align 1
  %394 = alloca %"class.std::allocator", align 1
  %395 = alloca i1, align 1
  %396 = alloca i1, align 1
  %397 = alloca %"class.std::__cxx11::basic_string", align 8
  %398 = alloca i1, align 1
  %399 = alloca %"class.std::allocator", align 1
  %400 = alloca i1, align 1
  %401 = alloca i1, align 1
  %402 = alloca i1, align 1
  %403 = alloca %"class.lodepng::State", align 8
  %404 = alloca %"class.std::vector", align 8
  %405 = alloca %"class.std::__cxx11::basic_string", align 8
  %406 = alloca %"class.std::__cxx11::basic_string", align 8
  %407 = alloca %"class.std::__cxx11::basic_string", align 8
  %408 = alloca %"class.std::allocator", align 1
  %409 = alloca %"class.std::__cxx11::basic_string", align 8
  %410 = alloca %"class.std::__cxx11::basic_string", align 8
  %411 = alloca %"class.std::allocator", align 1
  %412 = alloca %"class.std::allocator", align 1
  %413 = alloca i1, align 1
  %414 = alloca i1, align 1
  %415 = alloca %"class.std::__cxx11::basic_string", align 8
  %416 = alloca i1, align 1
  %417 = alloca %"class.std::allocator", align 1
  %418 = alloca i1, align 1
  %419 = alloca i1, align 1
  %420 = alloca i1, align 1
  %421 = alloca %"class.std::__cxx11::basic_string", align 8
  %422 = alloca %"class.std::__cxx11::basic_string", align 8
  %423 = alloca %"class.std::__cxx11::basic_string", align 8
  %424 = alloca %"class.std::__cxx11::basic_string", align 8
  %425 = alloca %"class.std::__cxx11::basic_string", align 8
  %426 = alloca %"class.std::allocator", align 1
  %427 = alloca %"class.std::__cxx11::basic_string", align 8
  %428 = alloca i32, align 4
  %429 = alloca %"class.std::__cxx11::basic_string", align 8
  %430 = alloca %"class.std::__cxx11::basic_string", align 8
  %431 = alloca %"class.std::__cxx11::basic_string", align 8
  %432 = alloca %"class.std::__cxx11::basic_string", align 8
  %433 = alloca %"class.std::__cxx11::basic_string", align 8
  %434 = alloca %"class.std::__cxx11::basic_string", align 8
  %435 = alloca %"class.std::allocator", align 1
  %436 = alloca %"class.std::__cxx11::basic_string", align 8
  %437 = alloca i32, align 4
  %438 = alloca %"class.std::__cxx11::basic_string", align 8
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca %"class.std::vector", align 8
  %443 = alloca %"class.std::allocator.0", align 1
  %444 = alloca [3 x i32], align 4
  %445 = alloca i64, align 8
  %446 = alloca %"class.std::vector", align 8
  %447 = alloca %"class.lodepng::State", align 8
  %448 = alloca %"class.std::__cxx11::basic_string", align 8
  %449 = alloca %"class.std::allocator", align 1
  %450 = alloca %"class.std::__cxx11::basic_string", align 8
  %451 = alloca %"class.std::__cxx11::basic_string", align 8
  %452 = alloca %"class.std::__cxx11::basic_string", align 8
  %453 = alloca %"class.std::__cxx11::basic_string", align 8
  %454 = alloca %"class.std::__cxx11::basic_string", align 8
  %455 = alloca %"class.std::allocator", align 1
  %456 = alloca %"class.std::__cxx11::basic_string", align 8
  %457 = alloca i32, align 4
  %458 = alloca %"class.std::__cxx11::basic_string", align 8
  %459 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.468)
  %460 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %459, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 4, ptr %1) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #7
  store i32 32, ptr %2, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #7
  store i32 32, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %4) #7
  %461 = load i32, ptr %2, align 4, !tbaa !5
  %462 = load i32, ptr %3, align 4, !tbaa !5
  %463 = mul i32 %461, %462
  %464 = mul i32 %463, 4
  %465 = zext i32 %464 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %5) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %465, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %466 unwind label %472

466:                                              ; preds = %0
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  store i64 0, ptr %8, align 8, !tbaa !9
  br label %467

467:                                              ; preds = %482, %466
  %468 = load i64, ptr %8, align 8, !tbaa !9
  %469 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  %470 = icmp ult i64 %468, %469
  br i1 %470, label %476, label %471

471:                                              ; preds = %467
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %485

472:                                              ; preds = %0
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %6, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #7
  br label %1050

476:                                              ; preds = %467
  %477 = load i64, ptr %8, align 8, !tbaa !9
  %478 = and i64 %477, 255
  %479 = trunc i64 %478 to i8
  %480 = load i64, ptr %8, align 8, !tbaa !9
  %481 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %480) #7
  store i8 %479, ptr %481, align 1, !tbaa !11
  br label %482

482:                                              ; preds = %476
  %483 = load i64, ptr %8, align 8, !tbaa !9
  %484 = add i64 %483, 1
  store i64 %484, ptr %8, align 8, !tbaa !9
  br label %467, !llvm.loop !12

485:                                              ; preds = %471
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %10) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10)
          to label %486 unwind label %605

486:                                              ; preds = %485
  %487 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %488 = getelementptr inbounds %struct.LodePNGInfo, ptr %487, i32 0, i32 22
  store i32 1, ptr %488, align 4, !tbaa !14
  %489 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %490 = getelementptr inbounds %struct.LodePNGInfo, ptr %489, i32 0, i32 23
  store i32 12345, ptr %490, align 8, !tbaa !26
  %491 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %492 = getelementptr inbounds %struct.LodePNGInfo, ptr %491, i32 0, i32 24
  store i32 1, ptr %492, align 4, !tbaa !27
  %493 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %494 = getelementptr inbounds %struct.LodePNGInfo, ptr %493, i32 0, i32 25
  store i32 10, ptr %494, align 8, !tbaa !28
  %495 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %496 = getelementptr inbounds %struct.LodePNGInfo, ptr %495, i32 0, i32 26
  store i32 20, ptr %496, align 4, !tbaa !29
  %497 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %498 = getelementptr inbounds %struct.LodePNGInfo, ptr %497, i32 0, i32 27
  store i32 30, ptr %498, align 8, !tbaa !30
  %499 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %500 = getelementptr inbounds %struct.LodePNGInfo, ptr %499, i32 0, i32 28
  store i32 40, ptr %500, align 4, !tbaa !31
  %501 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %502 = getelementptr inbounds %struct.LodePNGInfo, ptr %501, i32 0, i32 29
  store i32 100000, ptr %502, align 8, !tbaa !32
  %503 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %504 = getelementptr inbounds %struct.LodePNGInfo, ptr %503, i32 0, i32 30
  store i32 200000, ptr %504, align 4, !tbaa !33
  %505 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %506 = getelementptr inbounds %struct.LodePNGInfo, ptr %505, i32 0, i32 31
  store i32 300000, ptr %506, align 8, !tbaa !34
  %507 = getelementptr inbounds %struct.LodePNGState, ptr %10, i32 0, i32 4
  %508 = getelementptr inbounds %struct.LodePNGInfo, ptr %507, i32 0, i32 32
  store i32 400000, ptr %508, align 4, !tbaa !35
  %509 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef 0) #7
  %510 = load i32, ptr %2, align 4, !tbaa !5
  %511 = load i32, ptr %3, align 4, !tbaa !5
  %512 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef %509, i32 noundef %510, i32 noundef %511, ptr noundef nonnull align 8 dereferenceable(508) %10)
          to label %513 unwind label %609

513:                                              ; preds = %486
  store i32 %512, ptr %1, align 4, !tbaa !5
  %514 = load i32, ptr %1, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %515 unwind label %613

515:                                              ; preds = %513
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.469)
          to label %516 unwind label %617

516:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  store i1 false, ptr %19, align 1
  store i1 false, ptr %20, align 1
  store i1 false, ptr %22, align 1
  store i1 false, ptr %24, align 1
  store i1 false, ptr %25, align 1
  store i1 false, ptr %26, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %517 unwind label %621

517:                                              ; preds = %516
  %518 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br i1 %518, label %519, label %521

519:                                              ; preds = %517
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #7
  store i1 true, ptr %19, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  store i1 true, ptr %20, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %520 unwind label %625

520:                                              ; preds = %519
  br label %524

521:                                              ; preds = %517
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #7
  store i1 true, ptr %22, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #7
  store i1 true, ptr %24, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  store i1 true, ptr %25, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %522 unwind label %629

522:                                              ; preds = %521
  store i1 true, ptr %26, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %523 unwind label %633

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523, %520
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %525 unwind label %637

525:                                              ; preds = %524
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %514, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %526 unwind label %641

526:                                              ; preds = %525
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  %527 = load i1, ptr %26, align 1
  br i1 %527, label %528, label %529

528:                                              ; preds = %526
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %529

529:                                              ; preds = %528, %526
  %530 = load i1, ptr %25, align 1
  br i1 %530, label %531, label %532

531:                                              ; preds = %529
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  br label %532

532:                                              ; preds = %531, %529
  %533 = load i1, ptr %24, align 1
  br i1 %533, label %534, label %535

534:                                              ; preds = %532
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  br label %535

535:                                              ; preds = %534, %532
  %536 = load i1, ptr %22, align 1
  br i1 %536, label %537, label %538

537:                                              ; preds = %535
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %538

538:                                              ; preds = %537, %535
  %539 = load i1, ptr %20, align 1
  br i1 %539, label %540, label %541

540:                                              ; preds = %538
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  br label %541

541:                                              ; preds = %540, %538
  %542 = load i1, ptr %19, align 1
  br i1 %542, label %543, label %544

543:                                              ; preds = %541
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #7
  br label %544

544:                                              ; preds = %543, %541
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %27) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %27)
          to label %545 unwind label %670

545:                                              ; preds = %544
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  %546 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 8 dereferenceable(508) %27, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %547 unwind label %674

547:                                              ; preds = %545
  store i32 %546, ptr %1, align 4, !tbaa !5
  %548 = load i32, ptr %1, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %549 unwind label %678

549:                                              ; preds = %547
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.470)
          to label %550 unwind label %682

550:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  store i1 false, ptr %37, align 1
  store i1 false, ptr %38, align 1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %43, align 1
  store i1 false, ptr %44, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %551 unwind label %686

551:                                              ; preds = %550
  %552 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br i1 %552, label %553, label %555

553:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #7
  store i1 true, ptr %37, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  store i1 true, ptr %38, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %554 unwind label %690

554:                                              ; preds = %553
  br label %558

555:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #7
  store i1 true, ptr %40, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #7
  store i1 true, ptr %42, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  store i1 true, ptr %43, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %556 unwind label %694

556:                                              ; preds = %555
  store i1 true, ptr %44, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %557 unwind label %698

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557, %554
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %559 unwind label %702

559:                                              ; preds = %558
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %548, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %560 unwind label %706

560:                                              ; preds = %559
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  %561 = load i1, ptr %44, align 1
  br i1 %561, label %562, label %563

562:                                              ; preds = %560
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %563

563:                                              ; preds = %562, %560
  %564 = load i1, ptr %43, align 1
  br i1 %564, label %565, label %566

565:                                              ; preds = %563
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  br label %566

566:                                              ; preds = %565, %563
  %567 = load i1, ptr %42, align 1
  br i1 %567, label %568, label %569

568:                                              ; preds = %566
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  br label %569

569:                                              ; preds = %568, %566
  %570 = load i1, ptr %40, align 1
  br i1 %570, label %571, label %572

571:                                              ; preds = %569
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #7
  br label %572

572:                                              ; preds = %571, %569
  %573 = load i1, ptr %38, align 1
  br i1 %573, label %574, label %575

574:                                              ; preds = %572
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  br label %575

575:                                              ; preds = %574, %572
  %576 = load i1, ptr %37, align 1
  br i1 %576, label %577, label %578

577:                                              ; preds = %575
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #7
  br label %578

578:                                              ; preds = %577, %575
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %10, ptr noundef nonnull align 8 dereferenceable(508) %27)
          to label %579 unwind label %674

579:                                              ; preds = %578
  %580 = load i32, ptr %2, align 4, !tbaa !5
  %581 = icmp ne i32 32, %580
  br i1 %581, label %582, label %783

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

583:                                              ; preds = %582
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.471)
          to label %584 unwind label %739

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

585:                                              ; preds = %584
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.190)
          to label %586 unwind label %747

586:                                              ; preds = %585
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.18)
          to label %587 unwind label %751

587:                                              ; preds = %586
  %588 = 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 %589 unwind label %755

589:                                              ; preds = %587
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  %590 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %591 unwind label %674

591:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #7
  store i32 32, ptr %52, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %592 unwind label %764

592:                                              ; preds = %591
  %593 = 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) %590, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %594 unwind label %768

594:                                              ; preds = %592
  %595 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %593, ptr noundef @.str.20)
          to label %596 unwind label %768

596:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 4 dereferenceable(4) %2)
          to label %597 unwind label %772

597:                                              ; preds = %596
  %598 = 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) %595, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %599 unwind label %776

599:                                              ; preds = %597
  %600 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %598, ptr noundef @.str.21)
          to label %601 unwind label %776

601:                                              ; preds = %599
  %602 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %600, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %603 unwind label %776

603:                                              ; preds = %601
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #7
  invoke void @_Z4failv()
          to label %604 unwind label %674

604:                                              ; preds = %603
  br label %783

605:                                              ; preds = %485
  %606 = landingpad { ptr, i32 }
          cleanup
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %6, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %7, align 4
  br label %1049

609:                                              ; preds = %486
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %6, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %7, align 4
  br label %1048

613:                                              ; preds = %513
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %6, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %7, align 4
  br label %669

617:                                              ; preds = %515
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %6, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %7, align 4
  br label %668

621:                                              ; preds = %516
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %6, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %7, align 4
  br label %667

625:                                              ; preds = %519
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %6, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %7, align 4
  br label %660

629:                                              ; preds = %521
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %6, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %7, align 4
  br label %650

633:                                              ; preds = %522
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %6, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %7, align 4
  br label %646

637:                                              ; preds = %524
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %6, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %7, align 4
  br label %645

641:                                              ; preds = %525
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %6, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %645

645:                                              ; preds = %641, %637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %646

646:                                              ; preds = %645, %633
  %647 = load i1, ptr %26, align 1
  br i1 %647, label %648, label %649

648:                                              ; preds = %646
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %649

649:                                              ; preds = %648, %646
  br label %650

650:                                              ; preds = %649, %629
  %651 = load i1, ptr %25, align 1
  br i1 %651, label %652, label %653

652:                                              ; preds = %650
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  br label %653

653:                                              ; preds = %652, %650
  %654 = load i1, ptr %24, align 1
  br i1 %654, label %655, label %656

655:                                              ; preds = %653
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  br label %656

656:                                              ; preds = %655, %653
  %657 = load i1, ptr %22, align 1
  br i1 %657, label %658, label %659

658:                                              ; preds = %656
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %659

659:                                              ; preds = %658, %656
  br label %660

660:                                              ; preds = %659, %625
  %661 = load i1, ptr %20, align 1
  br i1 %661, label %662, label %663

662:                                              ; preds = %660
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  br label %663

663:                                              ; preds = %662, %660
  %664 = load i1, ptr %19, align 1
  br i1 %664, label %665, label %666

665:                                              ; preds = %663
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #7
  br label %666

666:                                              ; preds = %665, %663
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %667

667:                                              ; preds = %666, %621
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %668

668:                                              ; preds = %667, %617
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %669

669:                                              ; preds = %668, %613
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #7
  br label %1048

670:                                              ; preds = %544
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %6, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %7, align 4
  br label %1047

674:                                              ; preds = %884, %868, %807, %793, %603, %589, %578, %545
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %6, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %7, align 4
  br label %1046

678:                                              ; preds = %547
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %6, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %7, align 4
  br label %734

682:                                              ; preds = %549
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %6, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %7, align 4
  br label %733

686:                                              ; preds = %550
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %6, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %7, align 4
  br label %732

690:                                              ; preds = %553
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %6, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %7, align 4
  br label %725

694:                                              ; preds = %555
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %6, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %7, align 4
  br label %715

698:                                              ; preds = %556
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %6, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %7, align 4
  br label %711

702:                                              ; preds = %558
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %6, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %7, align 4
  br label %710

706:                                              ; preds = %559
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %6, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %710

710:                                              ; preds = %706, %702
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %711

711:                                              ; preds = %710, %698
  %712 = load i1, ptr %44, align 1
  br i1 %712, label %713, label %714

713:                                              ; preds = %711
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %714

714:                                              ; preds = %713, %711
  br label %715

715:                                              ; preds = %714, %694
  %716 = load i1, ptr %43, align 1
  br i1 %716, label %717, label %718

717:                                              ; preds = %715
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  br label %718

718:                                              ; preds = %717, %715
  %719 = load i1, ptr %42, align 1
  br i1 %719, label %720, label %721

720:                                              ; preds = %718
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  br label %721

721:                                              ; preds = %720, %718
  %722 = load i1, ptr %40, align 1
  br i1 %722, label %723, label %724

723:                                              ; preds = %721
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #7
  br label %724

724:                                              ; preds = %723, %721
  br label %725

725:                                              ; preds = %724, %690
  %726 = load i1, ptr %38, align 1
  br i1 %726, label %727, label %728

727:                                              ; preds = %725
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  br label %728

728:                                              ; preds = %727, %725
  %729 = load i1, ptr %37, align 1
  br i1 %729, label %730, label %731

730:                                              ; preds = %728
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #7
  br label %731

731:                                              ; preds = %730, %728
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %732

732:                                              ; preds = %731, %686
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %733

733:                                              ; preds = %732, %682
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %734

734:                                              ; preds = %733, %678
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  br label %1046

735:                                              ; preds = %582
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %6, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %7, align 4
  br label %763

739:                                              ; preds = %583
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %6, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %7, align 4
  br label %762

743:                                              ; preds = %584
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %6, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %7, align 4
  br label %761

747:                                              ; preds = %585
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %6, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %7, align 4
  br label %760

751:                                              ; preds = %586
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %6, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %7, align 4
  br label %759

755:                                              ; preds = %587
  %756 = landingpad { ptr, i32 }
          cleanup
  %757 = extractvalue { ptr, i32 } %756, 0
  store ptr %757, ptr %6, align 8
  %758 = extractvalue { ptr, i32 } %756, 1
  store i32 %758, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %759

759:                                              ; preds = %755, %751
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %760

760:                                              ; preds = %759, %747
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %761

761:                                              ; preds = %760, %743
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %762

762:                                              ; preds = %761, %739
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %763

763:                                              ; preds = %762, %735
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  br label %1046

764:                                              ; preds = %591
  %765 = landingpad { ptr, i32 }
          cleanup
  %766 = extractvalue { ptr, i32 } %765, 0
  store ptr %766, ptr %6, align 8
  %767 = extractvalue { ptr, i32 } %765, 1
  store i32 %767, ptr %7, align 4
  br label %782

768:                                              ; preds = %594, %592
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %6, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %7, align 4
  br label %781

772:                                              ; preds = %596
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %6, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %7, align 4
  br label %780

776:                                              ; preds = %601, %599, %597
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %6, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %780

780:                                              ; preds = %776, %772
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #7
  br label %781

781:                                              ; preds = %780, %768
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %782

782:                                              ; preds = %781, %764
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #7
  br label %1046

783:                                              ; preds = %604, %579
  %784 = load i32, ptr %3, align 4, !tbaa !5
  %785 = icmp ne i32 32, %784
  br i1 %785, label %786, label %857

786:                                              ; preds = %783
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %787 unwind label %809

787:                                              ; preds = %786
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.472)
          to label %788 unwind label %813

788:                                              ; preds = %787
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.3)
          to label %789 unwind label %817

789:                                              ; preds = %788
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.192)
          to label %790 unwind label %821

790:                                              ; preds = %789
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.18)
          to label %791 unwind label %825

791:                                              ; preds = %790
  %792 = 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) %54)
          to label %793 unwind label %829

793:                                              ; preds = %791
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  %794 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %795 unwind label %674

795:                                              ; preds = %793
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  store i32 32, ptr %61, align 4, !tbaa !5
  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 %796 unwind label %838

796:                                              ; preds = %795
  %797 = 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) %794, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %798 unwind label %842

798:                                              ; preds = %796
  %799 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %797, ptr noundef @.str.20)
          to label %800 unwind label %842

800:                                              ; preds = %798
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 4 dereferenceable(4) %3)
          to label %801 unwind label %846

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) %799, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %803 unwind label %850

803:                                              ; preds = %801
  %804 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %802, ptr noundef @.str.21)
          to label %805 unwind label %850

805:                                              ; preds = %803
  %806 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %804, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %807 unwind label %850

807:                                              ; preds = %805
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  invoke void @_Z4failv()
          to label %808 unwind label %674

808:                                              ; preds = %807
  br label %857

809:                                              ; preds = %786
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %6, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %7, align 4
  br label %837

813:                                              ; preds = %787
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %6, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %7, align 4
  br label %836

817:                                              ; preds = %788
  %818 = landingpad { ptr, i32 }
          cleanup
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %6, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %7, align 4
  br label %835

821:                                              ; preds = %789
  %822 = landingpad { ptr, i32 }
          cleanup
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %6, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %7, align 4
  br label %834

825:                                              ; preds = %790
  %826 = landingpad { ptr, i32 }
          cleanup
  %827 = extractvalue { ptr, i32 } %826, 0
  store ptr %827, ptr %6, align 8
  %828 = extractvalue { ptr, i32 } %826, 1
  store i32 %828, ptr %7, align 4
  br label %833

829:                                              ; preds = %791
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %6, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %833

833:                                              ; preds = %829, %825
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %834

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

835:                                              ; preds = %834, %817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %836

836:                                              ; preds = %835, %813
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %837

837:                                              ; preds = %836, %809
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %1046

838:                                              ; preds = %795
  %839 = landingpad { ptr, i32 }
          cleanup
  %840 = extractvalue { ptr, i32 } %839, 0
  store ptr %840, ptr %6, align 8
  %841 = extractvalue { ptr, i32 } %839, 1
  store i32 %841, ptr %7, align 4
  br label %856

842:                                              ; preds = %798, %796
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %6, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %7, align 4
  br label %855

846:                                              ; preds = %800
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %6, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %7, align 4
  br label %854

850:                                              ; preds = %805, %803, %801
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %6, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %854

854:                                              ; preds = %850, %846
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %855

855:                                              ; preds = %854, %842
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %856

856:                                              ; preds = %855, %838
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  br label %1046

857:                                              ; preds = %808, %783
  %858 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  %859 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  %860 = icmp ne i64 %858, %859
  br i1 %860, label %861, label %934

861:                                              ; preds = %857
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %862 unwind label %886

862:                                              ; preds = %861
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.473)
          to label %863 unwind label %890

863:                                              ; preds = %862
  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.3)
          to label %864 unwind label %894

864:                                              ; preds = %863
  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.293)
          to label %865 unwind label %898

865:                                              ; preds = %864
  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.18)
          to label %866 unwind label %902

866:                                              ; preds = %865
  %867 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %868 unwind label %906

868:                                              ; preds = %866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  %869 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %870 unwind label %674

870:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %871 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  store i64 %871, ptr %70, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %872 unwind label %915

872:                                              ; preds = %870
  %873 = 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) %869, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %874 unwind label %919

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

876:                                              ; preds = %874
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  %877 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  store i64 %877, ptr %72, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %878 unwind label %923

878:                                              ; preds = %876
  %879 = 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) %875, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %880 unwind label %927

880:                                              ; preds = %878
  %881 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %879, ptr noundef @.str.21)
          to label %882 unwind label %927

882:                                              ; preds = %880
  %883 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %881, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %884 unwind label %927

884:                                              ; preds = %882
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #7
  invoke void @_Z4failv()
          to label %885 unwind label %674

885:                                              ; preds = %884
  br label %934

886:                                              ; preds = %861
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %6, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %7, align 4
  br label %914

890:                                              ; preds = %862
  %891 = landingpad { ptr, i32 }
          cleanup
  %892 = extractvalue { ptr, i32 } %891, 0
  store ptr %892, ptr %6, align 8
  %893 = extractvalue { ptr, i32 } %891, 1
  store i32 %893, ptr %7, align 4
  br label %913

894:                                              ; preds = %863
  %895 = landingpad { ptr, i32 }
          cleanup
  %896 = extractvalue { ptr, i32 } %895, 0
  store ptr %896, ptr %6, align 8
  %897 = extractvalue { ptr, i32 } %895, 1
  store i32 %897, ptr %7, align 4
  br label %912

898:                                              ; preds = %864
  %899 = landingpad { ptr, i32 }
          cleanup
  %900 = extractvalue { ptr, i32 } %899, 0
  store ptr %900, ptr %6, align 8
  %901 = extractvalue { ptr, i32 } %899, 1
  store i32 %901, ptr %7, align 4
  br label %911

902:                                              ; preds = %865
  %903 = landingpad { ptr, i32 }
          cleanup
  %904 = extractvalue { ptr, i32 } %903, 0
  store ptr %904, ptr %6, align 8
  %905 = extractvalue { ptr, i32 } %903, 1
  store i32 %905, ptr %7, align 4
  br label %910

906:                                              ; preds = %866
  %907 = landingpad { ptr, i32 }
          cleanup
  %908 = extractvalue { ptr, i32 } %907, 0
  store ptr %908, ptr %6, align 8
  %909 = extractvalue { ptr, i32 } %907, 1
  store i32 %909, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %910

910:                                              ; preds = %906, %902
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  br label %911

911:                                              ; preds = %910, %898
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %912

912:                                              ; preds = %911, %894
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %913

913:                                              ; preds = %912, %890
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  br label %914

914:                                              ; preds = %913, %886
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  br label %1046

915:                                              ; preds = %870
  %916 = landingpad { ptr, i32 }
          cleanup
  %917 = extractvalue { ptr, i32 } %916, 0
  store ptr %917, ptr %6, align 8
  %918 = extractvalue { ptr, i32 } %916, 1
  store i32 %918, ptr %7, align 4
  br label %933

919:                                              ; preds = %874, %872
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %6, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %7, align 4
  br label %932

923:                                              ; preds = %876
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %6, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %7, align 4
  br label %931

927:                                              ; preds = %882, %880, %878
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %6, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %931

931:                                              ; preds = %927, %923
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  br label %932

932:                                              ; preds = %931, %919
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %933

933:                                              ; preds = %932, %915
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #7
  br label %1046

934:                                              ; preds = %885, %857
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  store i64 0, ptr %73, align 8, !tbaa !9
  br label %935

935:                                              ; preds = %1030, %934
  %936 = load i64, ptr %73, align 8, !tbaa !9
  %937 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  %938 = icmp ult i64 %936, %937
  br i1 %938, label %940, label %939

939:                                              ; preds = %935
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %1034

940:                                              ; preds = %935
  %941 = load i64, ptr %73, align 8, !tbaa !9
  %942 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %941) #7
  %943 = load i8, ptr %942, align 1, !tbaa !11
  %944 = zext i8 %943 to i32
  %945 = load i64, ptr %73, align 8, !tbaa !9
  %946 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %945) #7
  %947 = load i8, ptr %946, align 1, !tbaa !11
  %948 = zext i8 %947 to i32
  %949 = icmp ne i32 %944, %948
  br i1 %949, label %950, label %1029

950:                                              ; preds = %940
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %951 unwind label %977

951:                                              ; preds = %950
  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.474)
          to label %952 unwind label %981

952:                                              ; preds = %951
  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.3)
          to label %953 unwind label %985

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 %75, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.295)
          to label %954 unwind label %989

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 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.18)
          to label %955 unwind label %993

955:                                              ; preds = %954
  %956 = 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) %74)
          to label %957 unwind label %997

957:                                              ; preds = %955
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #7
  %958 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %959 unwind label %1006

959:                                              ; preds = %957
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #7
  %960 = load i64, ptr %73, align 8, !tbaa !9
  %961 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %960) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 1 dereferenceable(1) %961)
          to label %962 unwind label %1010

962:                                              ; preds = %959
  %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) %958, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %964 unwind label %1014

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 %1014

966:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #7
  %967 = load i64, ptr %73, align 8, !tbaa !9
  %968 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %967) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 1 dereferenceable(1) %968)
          to label %969 unwind label %1018

969:                                              ; preds = %966
  %970 = 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) %81)
          to label %971 unwind label %1022

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

973:                                              ; preds = %971
  %974 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %972, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %975 unwind label %1022

975:                                              ; preds = %973
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #7
  invoke void @_Z4failv()
          to label %976 unwind label %1006

976:                                              ; preds = %975
  br label %1029

977:                                              ; preds = %950
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %6, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %7, align 4
  br label %1005

981:                                              ; preds = %951
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %6, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %7, align 4
  br label %1004

985:                                              ; preds = %952
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %6, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %7, align 4
  br label %1003

989:                                              ; preds = %953
  %990 = landingpad { ptr, i32 }
          cleanup
  %991 = extractvalue { ptr, i32 } %990, 0
  store ptr %991, ptr %6, align 8
  %992 = extractvalue { ptr, i32 } %990, 1
  store i32 %992, ptr %7, align 4
  br label %1002

993:                                              ; preds = %954
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %6, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %7, align 4
  br label %1001

997:                                              ; preds = %955
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %6, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %1001

1001:                                             ; preds = %997, %993
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %1002

1002:                                             ; preds = %1001, %989
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %1003

1003:                                             ; preds = %1002, %985
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %1004

1004:                                             ; preds = %1003, %981
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %1005

1005:                                             ; preds = %1004, %977
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #7
  br label %1033

1006:                                             ; preds = %975, %957
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %6, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %7, align 4
  br label %1033

1010:                                             ; preds = %959
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %6, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %7, align 4
  br label %1028

1014:                                             ; preds = %964, %962
  %1015 = landingpad { ptr, i32 }
          cleanup
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %6, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %7, align 4
  br label %1027

1018:                                             ; preds = %966
  %1019 = landingpad { ptr, i32 }
          cleanup
  %1020 = extractvalue { ptr, i32 } %1019, 0
  store ptr %1020, ptr %6, align 8
  %1021 = extractvalue { ptr, i32 } %1019, 1
  store i32 %1021, ptr %7, align 4
  br label %1026

1022:                                             ; preds = %973, %971, %969
  %1023 = landingpad { ptr, i32 }
          cleanup
  %1024 = extractvalue { ptr, i32 } %1023, 0
  store ptr %1024, ptr %6, align 8
  %1025 = extractvalue { ptr, i32 } %1023, 1
  store i32 %1025, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %1026

1026:                                             ; preds = %1022, %1018
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  br label %1027

1027:                                             ; preds = %1026, %1014
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  br label %1028

1028:                                             ; preds = %1027, %1010
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #7
  br label %1033

1029:                                             ; preds = %976, %940
  br label %1030

1030:                                             ; preds = %1029
  %1031 = load i64, ptr %73, align 8, !tbaa !9
  %1032 = add i64 %1031, 1
  store i64 %1032, ptr %73, align 8, !tbaa !9
  br label %935, !llvm.loop !36

1033:                                             ; preds = %1028, %1006, %1005
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %1046

1034:                                             ; preds = %939
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %27) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %27) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %10) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %1) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 32, ptr %83, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #7
  store i32 32, ptr %84, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #7
  %1035 = load i32, ptr %83, align 4, !tbaa !5
  %1036 = load i32, ptr %84, align 4, !tbaa !5
  %1037 = mul i32 %1035, %1036
  %1038 = mul i32 %1037, 4
  %1039 = zext i32 %1038 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1039, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %1040 unwind label %1051

1040:                                             ; preds = %1034
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  store i64 0, ptr %87, align 8, !tbaa !9
  br label %1041

1041:                                             ; preds = %1061, %1040
  %1042 = load i64, ptr %87, align 8, !tbaa !9
  %1043 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  %1044 = icmp ult i64 %1042, %1043
  br i1 %1044, label %1055, label %1045

1045:                                             ; preds = %1041
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  br label %1064

1046:                                             ; preds = %1033, %933, %914, %856, %837, %782, %763, %734, %674
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %27) #7
  br label %1047

1047:                                             ; preds = %1046, %670
  call void @llvm.lifetime.end.p0(i64 512, ptr %27) #7
  br label %1048

1048:                                             ; preds = %1047, %669, %609
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %10) #7
  br label %1049

1049:                                             ; preds = %1048, %605
  call void @llvm.lifetime.end.p0(i64 512, ptr %10) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #7
  br label %1050

1050:                                             ; preds = %1049, %472
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %1) #7
  br label %3671

1051:                                             ; preds = %1034
  %1052 = landingpad { ptr, i32 }
          cleanup
  %1053 = extractvalue { ptr, i32 } %1052, 0
  store ptr %1053, ptr %6, align 8
  %1054 = extractvalue { ptr, i32 } %1052, 1
  store i32 %1054, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  br label %1611

1055:                                             ; preds = %1041
  %1056 = load i64, ptr %87, align 8, !tbaa !9
  %1057 = and i64 %1056, 255
  %1058 = trunc i64 %1057 to i8
  %1059 = load i64, ptr %87, align 8, !tbaa !9
  %1060 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1059) #7
  store i8 %1058, ptr %1060, align 1, !tbaa !11
  br label %1061

1061:                                             ; preds = %1055
  %1062 = load i64, ptr %87, align 8, !tbaa !9
  %1063 = add i64 %1062, 1
  store i64 %1063, ptr %87, align 8, !tbaa !9
  br label %1041, !llvm.loop !37

1064:                                             ; preds = %1045
  call void @llvm.lifetime.start.p0(i64 24, ptr %88) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %89) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %89)
          to label %1065 unwind label %1166

1065:                                             ; preds = %1064
  %1066 = getelementptr inbounds %struct.LodePNGState, ptr %89, i32 0, i32 4
  %1067 = getelementptr inbounds %struct.LodePNGInfo, ptr %1066, i32 0, i32 33
  store i32 1, ptr %1067, align 8, !tbaa !38
  %1068 = getelementptr inbounds %struct.LodePNGState, ptr %89, i32 0, i32 4
  %1069 = getelementptr inbounds %struct.LodePNGInfo, ptr %1068, i32 0, i32 34
  store i32 2, ptr %1069, align 4, !tbaa !39
  %1070 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef 0) #7
  %1071 = load i32, ptr %83, align 4, !tbaa !5
  %1072 = load i32, ptr %84, align 4, !tbaa !5
  %1073 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %88, ptr noundef %1070, i32 noundef %1071, i32 noundef %1072, ptr noundef nonnull align 8 dereferenceable(508) %89)
          to label %1074 unwind label %1170

1074:                                             ; preds = %1065
  store i32 %1073, ptr %82, align 4, !tbaa !5
  %1075 = load i32, ptr %82, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #7
  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 %1076 unwind label %1174

1076:                                             ; preds = %1074
  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.475)
          to label %1077 unwind label %1178

1077:                                             ; preds = %1076
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  store i1 false, ptr %98, align 1
  store i1 false, ptr %99, align 1
  store i1 false, ptr %101, align 1
  store i1 false, ptr %103, align 1
  store i1 false, ptr %104, align 1
  store i1 false, ptr %105, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %1078 unwind label %1182

1078:                                             ; preds = %1077
  %1079 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br i1 %1079, label %1080, label %1082

1080:                                             ; preds = %1078
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #7
  store i1 true, ptr %98, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  store i1 true, ptr %99, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %1081 unwind label %1186

1081:                                             ; preds = %1080
  br label %1085

1082:                                             ; preds = %1078
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #7
  store i1 true, ptr %101, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #7
  store i1 true, ptr %103, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  store i1 true, ptr %104, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %1083 unwind label %1190

1083:                                             ; preds = %1082
  store i1 true, ptr %105, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %100)
          to label %1084 unwind label %1194

1084:                                             ; preds = %1083
  br label %1085

1085:                                             ; preds = %1084, %1081
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1086 unwind label %1198

1086:                                             ; preds = %1085
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1075, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %1087 unwind label %1202

1087:                                             ; preds = %1086
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  %1088 = load i1, ptr %105, align 1
  br i1 %1088, label %1089, label %1090

1089:                                             ; preds = %1087
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1090

1090:                                             ; preds = %1089, %1087
  %1091 = load i1, ptr %104, align 1
  br i1 %1091, label %1092, label %1093

1092:                                             ; preds = %1090
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  br label %1093

1093:                                             ; preds = %1092, %1090
  %1094 = load i1, ptr %103, align 1
  br i1 %1094, label %1095, label %1096

1095:                                             ; preds = %1093
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  br label %1096

1096:                                             ; preds = %1095, %1093
  %1097 = load i1, ptr %101, align 1
  br i1 %1097, label %1098, label %1099

1098:                                             ; preds = %1096
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #7
  br label %1099

1099:                                             ; preds = %1098, %1096
  %1100 = load i1, ptr %99, align 1
  br i1 %1100, label %1101, label %1102

1101:                                             ; preds = %1099
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  br label %1102

1102:                                             ; preds = %1101, %1099
  %1103 = load i1, ptr %98, align 1
  br i1 %1103, label %1104, label %1105

1104:                                             ; preds = %1102
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #7
  br label %1105

1105:                                             ; preds = %1104, %1102
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %106) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %106)
          to label %1106 unwind label %1231

1106:                                             ; preds = %1105
  call void @llvm.lifetime.start.p0(i64 24, ptr %107) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #7
  %1107 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 4 dereferenceable(4) %83, ptr noundef nonnull align 4 dereferenceable(4) %84, ptr noundef nonnull align 8 dereferenceable(508) %106, ptr noundef nonnull align 8 dereferenceable(24) %88)
          to label %1108 unwind label %1235

1108:                                             ; preds = %1106
  store i32 %1107, ptr %82, align 4, !tbaa !5
  %1109 = load i32, ptr %82, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %1110 unwind label %1239

1110:                                             ; preds = %1108
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.476)
          to label %1111 unwind label %1243

1111:                                             ; preds = %1110
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %114) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  store i1 false, ptr %116, align 1
  store i1 false, ptr %117, align 1
  store i1 false, ptr %119, align 1
  store i1 false, ptr %121, align 1
  store i1 false, ptr %122, align 1
  store i1 false, ptr %123, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %114)
          to label %1112 unwind label %1247

1112:                                             ; preds = %1111
  %1113 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  br i1 %1113, label %1114, label %1116

1114:                                             ; preds = %1112
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #7
  store i1 true, ptr %116, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  store i1 true, ptr %117, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %1115 unwind label %1251

1115:                                             ; preds = %1114
  br label %1119

1116:                                             ; preds = %1112
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  store i1 true, ptr %119, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %120) #7
  store i1 true, ptr %121, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  store i1 true, ptr %122, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %120)
          to label %1117 unwind label %1255

1117:                                             ; preds = %1116
  store i1 true, ptr %123, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1118 unwind label %1259

1118:                                             ; preds = %1117
  br label %1119

1119:                                             ; preds = %1118, %1115
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1120 unwind label %1263

1120:                                             ; preds = %1119
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1109, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %1121 unwind label %1267

1121:                                             ; preds = %1120
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  %1122 = load i1, ptr %123, align 1
  br i1 %1122, label %1123, label %1124

1123:                                             ; preds = %1121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1124

1124:                                             ; preds = %1123, %1121
  %1125 = load i1, ptr %122, align 1
  br i1 %1125, label %1126, label %1127

1126:                                             ; preds = %1124
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  br label %1127

1127:                                             ; preds = %1126, %1124
  %1128 = load i1, ptr %121, align 1
  br i1 %1128, label %1129, label %1130

1129:                                             ; preds = %1127
  call void @llvm.lifetime.end.p0(i64 1, ptr %120) #7
  br label %1130

1130:                                             ; preds = %1129, %1127
  %1131 = load i1, ptr %119, align 1
  br i1 %1131, label %1132, label %1133

1132:                                             ; preds = %1130
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %1133

1133:                                             ; preds = %1132, %1130
  %1134 = load i1, ptr %117, align 1
  br i1 %1134, label %1135, label %1136

1135:                                             ; preds = %1133
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  br label %1136

1136:                                             ; preds = %1135, %1133
  %1137 = load i1, ptr %116, align 1
  br i1 %1137, label %1138, label %1139

1138:                                             ; preds = %1136
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1139

1139:                                             ; preds = %1138, %1136
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %89, ptr noundef nonnull align 8 dereferenceable(508) %106)
          to label %1140 unwind label %1235

1140:                                             ; preds = %1139
  %1141 = load i32, ptr %83, align 4, !tbaa !5
  %1142 = icmp ne i32 32, %1141
  br i1 %1142, label %1143, label %1344

1143:                                             ; preds = %1140
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %1144 unwind label %1296

1144:                                             ; preds = %1143
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.477)
          to label %1145 unwind label %1300

1145:                                             ; preds = %1144
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %126, ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef @.str.3)
          to label %1146 unwind label %1304

1146:                                             ; preds = %1145
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef @.str.190)
          to label %1147 unwind label %1308

1147:                                             ; preds = %1146
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef @.str.18)
          to label %1148 unwind label %1312

1148:                                             ; preds = %1147
  %1149 = 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) %124)
          to label %1150 unwind label %1316

1150:                                             ; preds = %1148
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #7
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1152 unwind label %1235

1152:                                             ; preds = %1150
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #7
  store i32 32, ptr %131, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %1153 unwind label %1325

1153:                                             ; preds = %1152
  %1154 = 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) %1151, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %1155 unwind label %1329

1155:                                             ; preds = %1153
  %1156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1154, ptr noundef @.str.20)
          to label %1157 unwind label %1329

1157:                                             ; preds = %1155
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %132, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %1158 unwind label %1333

1158:                                             ; preds = %1157
  %1159 = 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) %1156, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1160 unwind label %1337

1160:                                             ; preds = %1158
  %1161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1159, ptr noundef @.str.21)
          to label %1162 unwind label %1337

1162:                                             ; preds = %1160
  %1163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1161, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1164 unwind label %1337

1164:                                             ; preds = %1162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #7
  invoke void @_Z4failv()
          to label %1165 unwind label %1235

1165:                                             ; preds = %1164
  br label %1344

1166:                                             ; preds = %1064
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %6, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %7, align 4
  br label %1610

1170:                                             ; preds = %1065
  %1171 = landingpad { ptr, i32 }
          cleanup
  %1172 = extractvalue { ptr, i32 } %1171, 0
  store ptr %1172, ptr %6, align 8
  %1173 = extractvalue { ptr, i32 } %1171, 1
  store i32 %1173, ptr %7, align 4
  br label %1609

1174:                                             ; preds = %1074
  %1175 = landingpad { ptr, i32 }
          cleanup
  %1176 = extractvalue { ptr, i32 } %1175, 0
  store ptr %1176, ptr %6, align 8
  %1177 = extractvalue { ptr, i32 } %1175, 1
  store i32 %1177, ptr %7, align 4
  br label %1230

1178:                                             ; preds = %1076
  %1179 = landingpad { ptr, i32 }
          cleanup
  %1180 = extractvalue { ptr, i32 } %1179, 0
  store ptr %1180, ptr %6, align 8
  %1181 = extractvalue { ptr, i32 } %1179, 1
  store i32 %1181, ptr %7, align 4
  br label %1229

1182:                                             ; preds = %1077
  %1183 = landingpad { ptr, i32 }
          cleanup
  %1184 = extractvalue { ptr, i32 } %1183, 0
  store ptr %1184, ptr %6, align 8
  %1185 = extractvalue { ptr, i32 } %1183, 1
  store i32 %1185, ptr %7, align 4
  br label %1228

1186:                                             ; preds = %1080
  %1187 = landingpad { ptr, i32 }
          cleanup
  %1188 = extractvalue { ptr, i32 } %1187, 0
  store ptr %1188, ptr %6, align 8
  %1189 = extractvalue { ptr, i32 } %1187, 1
  store i32 %1189, ptr %7, align 4
  br label %1221

1190:                                             ; preds = %1082
  %1191 = landingpad { ptr, i32 }
          cleanup
  %1192 = extractvalue { ptr, i32 } %1191, 0
  store ptr %1192, ptr %6, align 8
  %1193 = extractvalue { ptr, i32 } %1191, 1
  store i32 %1193, ptr %7, align 4
  br label %1211

1194:                                             ; preds = %1083
  %1195 = landingpad { ptr, i32 }
          cleanup
  %1196 = extractvalue { ptr, i32 } %1195, 0
  store ptr %1196, ptr %6, align 8
  %1197 = extractvalue { ptr, i32 } %1195, 1
  store i32 %1197, ptr %7, align 4
  br label %1207

1198:                                             ; preds = %1085
  %1199 = landingpad { ptr, i32 }
          cleanup
  %1200 = extractvalue { ptr, i32 } %1199, 0
  store ptr %1200, ptr %6, align 8
  %1201 = extractvalue { ptr, i32 } %1199, 1
  store i32 %1201, ptr %7, align 4
  br label %1206

1202:                                             ; preds = %1086
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %6, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  br label %1206

1206:                                             ; preds = %1202, %1198
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  br label %1207

1207:                                             ; preds = %1206, %1194
  %1208 = load i1, ptr %105, align 1
  br i1 %1208, label %1209, label %1210

1209:                                             ; preds = %1207
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %1210

1210:                                             ; preds = %1209, %1207
  br label %1211

1211:                                             ; preds = %1210, %1190
  %1212 = load i1, ptr %104, align 1
  br i1 %1212, label %1213, label %1214

1213:                                             ; preds = %1211
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  br label %1214

1214:                                             ; preds = %1213, %1211
  %1215 = load i1, ptr %103, align 1
  br i1 %1215, label %1216, label %1217

1216:                                             ; preds = %1214
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  br label %1217

1217:                                             ; preds = %1216, %1214
  %1218 = load i1, ptr %101, align 1
  br i1 %1218, label %1219, label %1220

1219:                                             ; preds = %1217
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #7
  br label %1220

1220:                                             ; preds = %1219, %1217
  br label %1221

1221:                                             ; preds = %1220, %1186
  %1222 = load i1, ptr %99, align 1
  br i1 %1222, label %1223, label %1224

1223:                                             ; preds = %1221
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #7
  br label %1224

1224:                                             ; preds = %1223, %1221
  %1225 = load i1, ptr %98, align 1
  br i1 %1225, label %1226, label %1227

1226:                                             ; preds = %1224
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #7
  br label %1227

1227:                                             ; preds = %1226, %1224
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br label %1228

1228:                                             ; preds = %1227, %1182
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %1229

1229:                                             ; preds = %1228, %1178
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1230

1230:                                             ; preds = %1229, %1174
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  br label %1609

1231:                                             ; preds = %1105
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %6, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %7, align 4
  br label %1608

1235:                                             ; preds = %1445, %1429, %1368, %1354, %1164, %1150, %1139, %1106
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %6, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, ptr %7, align 4
  br label %1607

1239:                                             ; preds = %1108
  %1240 = landingpad { ptr, i32 }
          cleanup
  %1241 = extractvalue { ptr, i32 } %1240, 0
  store ptr %1241, ptr %6, align 8
  %1242 = extractvalue { ptr, i32 } %1240, 1
  store i32 %1242, ptr %7, align 4
  br label %1295

1243:                                             ; preds = %1110
  %1244 = landingpad { ptr, i32 }
          cleanup
  %1245 = extractvalue { ptr, i32 } %1244, 0
  store ptr %1245, ptr %6, align 8
  %1246 = extractvalue { ptr, i32 } %1244, 1
  store i32 %1246, ptr %7, align 4
  br label %1294

1247:                                             ; preds = %1111
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %6, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %7, align 4
  br label %1293

1251:                                             ; preds = %1114
  %1252 = landingpad { ptr, i32 }
          cleanup
  %1253 = extractvalue { ptr, i32 } %1252, 0
  store ptr %1253, ptr %6, align 8
  %1254 = extractvalue { ptr, i32 } %1252, 1
  store i32 %1254, ptr %7, align 4
  br label %1286

1255:                                             ; preds = %1116
  %1256 = landingpad { ptr, i32 }
          cleanup
  %1257 = extractvalue { ptr, i32 } %1256, 0
  store ptr %1257, ptr %6, align 8
  %1258 = extractvalue { ptr, i32 } %1256, 1
  store i32 %1258, ptr %7, align 4
  br label %1276

1259:                                             ; preds = %1117
  %1260 = landingpad { ptr, i32 }
          cleanup
  %1261 = extractvalue { ptr, i32 } %1260, 0
  store ptr %1261, ptr %6, align 8
  %1262 = extractvalue { ptr, i32 } %1260, 1
  store i32 %1262, ptr %7, align 4
  br label %1272

1263:                                             ; preds = %1119
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %6, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %7, align 4
  br label %1271

1267:                                             ; preds = %1120
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %6, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1271

1271:                                             ; preds = %1267, %1263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  br label %1272

1272:                                             ; preds = %1271, %1259
  %1273 = load i1, ptr %123, align 1
  br i1 %1273, label %1274, label %1275

1274:                                             ; preds = %1272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1275

1275:                                             ; preds = %1274, %1272
  br label %1276

1276:                                             ; preds = %1275, %1255
  %1277 = load i1, ptr %122, align 1
  br i1 %1277, label %1278, label %1279

1278:                                             ; preds = %1276
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #7
  br label %1279

1279:                                             ; preds = %1278, %1276
  %1280 = load i1, ptr %121, align 1
  br i1 %1280, label %1281, label %1282

1281:                                             ; preds = %1279
  call void @llvm.lifetime.end.p0(i64 1, ptr %120) #7
  br label %1282

1282:                                             ; preds = %1281, %1279
  %1283 = load i1, ptr %119, align 1
  br i1 %1283, label %1284, label %1285

1284:                                             ; preds = %1282
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %1285

1285:                                             ; preds = %1284, %1282
  br label %1286

1286:                                             ; preds = %1285, %1251
  %1287 = load i1, ptr %117, align 1
  br i1 %1287, label %1288, label %1289

1288:                                             ; preds = %1286
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  br label %1289

1289:                                             ; preds = %1288, %1286
  %1290 = load i1, ptr %116, align 1
  br i1 %1290, label %1291, label %1292

1291:                                             ; preds = %1289
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #7
  br label %1292

1292:                                             ; preds = %1291, %1289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  br label %1293

1293:                                             ; preds = %1292, %1247
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1294

1294:                                             ; preds = %1293, %1243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1295

1295:                                             ; preds = %1294, %1239
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  br label %1607

1296:                                             ; preds = %1143
  %1297 = landingpad { ptr, i32 }
          cleanup
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %6, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %7, align 4
  br label %1324

1300:                                             ; preds = %1144
  %1301 = landingpad { ptr, i32 }
          cleanup
  %1302 = extractvalue { ptr, i32 } %1301, 0
  store ptr %1302, ptr %6, align 8
  %1303 = extractvalue { ptr, i32 } %1301, 1
  store i32 %1303, ptr %7, align 4
  br label %1323

1304:                                             ; preds = %1145
  %1305 = landingpad { ptr, i32 }
          cleanup
  %1306 = extractvalue { ptr, i32 } %1305, 0
  store ptr %1306, ptr %6, align 8
  %1307 = extractvalue { ptr, i32 } %1305, 1
  store i32 %1307, ptr %7, align 4
  br label %1322

1308:                                             ; preds = %1146
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %6, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %7, align 4
  br label %1321

1312:                                             ; preds = %1147
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %6, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %7, align 4
  br label %1320

1316:                                             ; preds = %1148
  %1317 = landingpad { ptr, i32 }
          cleanup
  %1318 = extractvalue { ptr, i32 } %1317, 0
  store ptr %1318, ptr %6, align 8
  %1319 = extractvalue { ptr, i32 } %1317, 1
  store i32 %1319, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %1320

1320:                                             ; preds = %1316, %1312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  br label %1321

1321:                                             ; preds = %1320, %1308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  br label %1322

1322:                                             ; preds = %1321, %1304
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #7
  br label %1323

1323:                                             ; preds = %1322, %1300
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #7
  br label %1324

1324:                                             ; preds = %1323, %1296
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #7
  br label %1607

1325:                                             ; preds = %1152
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %6, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %7, align 4
  br label %1343

1329:                                             ; preds = %1155, %1153
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %6, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %7, align 4
  br label %1342

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

1337:                                             ; preds = %1162, %1160, %1158
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %6, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %1341

1341:                                             ; preds = %1337, %1333
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #7
  br label %1342

1342:                                             ; preds = %1341, %1329
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #7
  br label %1343

1343:                                             ; preds = %1342, %1325
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #7
  br label %1607

1344:                                             ; preds = %1165, %1140
  %1345 = load i32, ptr %84, align 4, !tbaa !5
  %1346 = icmp ne i32 32, %1345
  br i1 %1346, label %1347, label %1418

1347:                                             ; preds = %1344
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %138) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %1348 unwind label %1370

1348:                                             ; preds = %1347
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef @.str.478)
          to label %1349 unwind label %1374

1349:                                             ; preds = %1348
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str.3)
          to label %1350 unwind label %1378

1350:                                             ; preds = %1349
  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.192)
          to label %1351 unwind label %1382

1351:                                             ; preds = %1350
  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.18)
          to label %1352 unwind label %1386

1352:                                             ; preds = %1351
  %1353 = 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) %133)
          to label %1354 unwind label %1390

1354:                                             ; preds = %1352
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #7
  %1355 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1356 unwind label %1235

1356:                                             ; preds = %1354
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #7
  store i32 32, ptr %140, align 4, !tbaa !5
  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 %1357 unwind label %1399

1357:                                             ; preds = %1356
  %1358 = 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) %1355, ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %1359 unwind label %1403

1359:                                             ; preds = %1357
  %1360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1358, ptr noundef @.str.20)
          to label %1361 unwind label %1403

1361:                                             ; preds = %1359
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %141, ptr noundef nonnull align 4 dereferenceable(4) %84)
          to label %1362 unwind label %1407

1362:                                             ; preds = %1361
  %1363 = 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) %1360, ptr noundef nonnull align 8 dereferenceable(32) %141)
          to label %1364 unwind label %1411

1364:                                             ; preds = %1362
  %1365 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1363, ptr noundef @.str.21)
          to label %1366 unwind label %1411

1366:                                             ; preds = %1364
  %1367 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1365, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1368 unwind label %1411

1368:                                             ; preds = %1366
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #7
  invoke void @_Z4failv()
          to label %1369 unwind label %1235

1369:                                             ; preds = %1368
  br label %1418

1370:                                             ; preds = %1347
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %6, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %7, align 4
  br label %1398

1374:                                             ; preds = %1348
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %6, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %7, align 4
  br label %1397

1378:                                             ; preds = %1349
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %6, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %7, align 4
  br label %1396

1382:                                             ; preds = %1350
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %6, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %7, align 4
  br label %1395

1386:                                             ; preds = %1351
  %1387 = landingpad { ptr, i32 }
          cleanup
  %1388 = extractvalue { ptr, i32 } %1387, 0
  store ptr %1388, ptr %6, align 8
  %1389 = extractvalue { ptr, i32 } %1387, 1
  store i32 %1389, ptr %7, align 4
  br label %1394

1390:                                             ; preds = %1352
  %1391 = landingpad { ptr, i32 }
          cleanup
  %1392 = extractvalue { ptr, i32 } %1391, 0
  store ptr %1392, ptr %6, align 8
  %1393 = extractvalue { ptr, i32 } %1391, 1
  store i32 %1393, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #7
  br label %1394

1394:                                             ; preds = %1390, %1386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1395

1395:                                             ; preds = %1394, %1382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #7
  br label %1396

1396:                                             ; preds = %1395, %1378
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #7
  br label %1397

1397:                                             ; preds = %1396, %1374
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #7
  br label %1398

1398:                                             ; preds = %1397, %1370
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #7
  br label %1607

1399:                                             ; preds = %1356
  %1400 = landingpad { ptr, i32 }
          cleanup
  %1401 = extractvalue { ptr, i32 } %1400, 0
  store ptr %1401, ptr %6, align 8
  %1402 = extractvalue { ptr, i32 } %1400, 1
  store i32 %1402, ptr %7, align 4
  br label %1417

1403:                                             ; preds = %1359, %1357
  %1404 = landingpad { ptr, i32 }
          cleanup
  %1405 = extractvalue { ptr, i32 } %1404, 0
  store ptr %1405, ptr %6, align 8
  %1406 = extractvalue { ptr, i32 } %1404, 1
  store i32 %1406, ptr %7, align 4
  br label %1416

1407:                                             ; preds = %1361
  %1408 = landingpad { ptr, i32 }
          cleanup
  %1409 = extractvalue { ptr, i32 } %1408, 0
  store ptr %1409, ptr %6, align 8
  %1410 = extractvalue { ptr, i32 } %1408, 1
  store i32 %1410, ptr %7, align 4
  br label %1415

1411:                                             ; preds = %1366, %1364, %1362
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %6, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1415

1415:                                             ; preds = %1411, %1407
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #7
  br label %1416

1416:                                             ; preds = %1415, %1403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #7
  br label %1417

1417:                                             ; preds = %1416, %1399
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #7
  br label %1607

1418:                                             ; preds = %1369, %1344
  %1419 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  %1420 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %107) #7
  %1421 = icmp ne i64 %1419, %1420
  br i1 %1421, label %1422, label %1495

1422:                                             ; preds = %1418
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %145) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %147)
          to label %1423 unwind label %1447

1423:                                             ; preds = %1422
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef nonnull align 8 dereferenceable(32) %146, ptr noundef @.str.479)
          to label %1424 unwind label %1451

1424:                                             ; preds = %1423
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %144, ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef @.str.3)
          to label %1425 unwind label %1455

1425:                                             ; preds = %1424
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef @.str.293)
          to label %1426 unwind label %1459

1426:                                             ; preds = %1425
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %142, ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef @.str.18)
          to label %1427 unwind label %1463

1427:                                             ; preds = %1426
  %1428 = 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) %142)
          to label %1429 unwind label %1467

1429:                                             ; preds = %1427
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  %1430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1431 unwind label %1235

1431:                                             ; preds = %1429
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #7
  %1432 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  store i64 %1432, ptr %149, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef nonnull align 8 dereferenceable(8) %149)
          to label %1433 unwind label %1476

1433:                                             ; preds = %1431
  %1434 = 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) %1430, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %1435 unwind label %1480

1435:                                             ; preds = %1433
  %1436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1434, ptr noundef @.str.20)
          to label %1437 unwind label %1480

1437:                                             ; preds = %1435
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #7
  %1438 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %107) #7
  store i64 %1438, ptr %151, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 8 dereferenceable(8) %151)
          to label %1439 unwind label %1484

1439:                                             ; preds = %1437
  %1440 = 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) %1436, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1441 unwind label %1488

1441:                                             ; preds = %1439
  %1442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1440, ptr noundef @.str.21)
          to label %1443 unwind label %1488

1443:                                             ; preds = %1441
  %1444 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1442, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1445 unwind label %1488

1445:                                             ; preds = %1443
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #7
  invoke void @_Z4failv()
          to label %1446 unwind label %1235

1446:                                             ; preds = %1445
  br label %1495

1447:                                             ; preds = %1422
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %6, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %7, align 4
  br label %1475

1451:                                             ; preds = %1423
  %1452 = landingpad { ptr, i32 }
          cleanup
  %1453 = extractvalue { ptr, i32 } %1452, 0
  store ptr %1453, ptr %6, align 8
  %1454 = extractvalue { ptr, i32 } %1452, 1
  store i32 %1454, ptr %7, align 4
  br label %1474

1455:                                             ; preds = %1424
  %1456 = landingpad { ptr, i32 }
          cleanup
  %1457 = extractvalue { ptr, i32 } %1456, 0
  store ptr %1457, ptr %6, align 8
  %1458 = extractvalue { ptr, i32 } %1456, 1
  store i32 %1458, ptr %7, align 4
  br label %1473

1459:                                             ; preds = %1425
  %1460 = landingpad { ptr, i32 }
          cleanup
  %1461 = extractvalue { ptr, i32 } %1460, 0
  store ptr %1461, ptr %6, align 8
  %1462 = extractvalue { ptr, i32 } %1460, 1
  store i32 %1462, ptr %7, align 4
  br label %1472

1463:                                             ; preds = %1426
  %1464 = landingpad { ptr, i32 }
          cleanup
  %1465 = extractvalue { ptr, i32 } %1464, 0
  store ptr %1465, ptr %6, align 8
  %1466 = extractvalue { ptr, i32 } %1464, 1
  store i32 %1466, ptr %7, align 4
  br label %1471

1467:                                             ; preds = %1427
  %1468 = landingpad { ptr, i32 }
          cleanup
  %1469 = extractvalue { ptr, i32 } %1468, 0
  store ptr %1469, ptr %6, align 8
  %1470 = extractvalue { ptr, i32 } %1468, 1
  store i32 %1470, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #7
  br label %1471

1471:                                             ; preds = %1467, %1463
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #7
  br label %1472

1472:                                             ; preds = %1471, %1459
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #7
  br label %1473

1473:                                             ; preds = %1472, %1455
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #7
  br label %1474

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

1475:                                             ; preds = %1474, %1447
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %147) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #7
  br label %1607

1476:                                             ; preds = %1431
  %1477 = landingpad { ptr, i32 }
          cleanup
  %1478 = extractvalue { ptr, i32 } %1477, 0
  store ptr %1478, ptr %6, align 8
  %1479 = extractvalue { ptr, i32 } %1477, 1
  store i32 %1479, ptr %7, align 4
  br label %1494

1480:                                             ; preds = %1435, %1433
  %1481 = landingpad { ptr, i32 }
          cleanup
  %1482 = extractvalue { ptr, i32 } %1481, 0
  store ptr %1482, ptr %6, align 8
  %1483 = extractvalue { ptr, i32 } %1481, 1
  store i32 %1483, ptr %7, align 4
  br label %1493

1484:                                             ; preds = %1437
  %1485 = landingpad { ptr, i32 }
          cleanup
  %1486 = extractvalue { ptr, i32 } %1485, 0
  store ptr %1486, ptr %6, align 8
  %1487 = extractvalue { ptr, i32 } %1485, 1
  store i32 %1487, ptr %7, align 4
  br label %1492

1488:                                             ; preds = %1443, %1441, %1439
  %1489 = landingpad { ptr, i32 }
          cleanup
  %1490 = extractvalue { ptr, i32 } %1489, 0
  store ptr %1490, ptr %6, align 8
  %1491 = extractvalue { ptr, i32 } %1489, 1
  store i32 %1491, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1492

1492:                                             ; preds = %1488, %1484
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %1493

1493:                                             ; preds = %1492, %1480
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %1494

1494:                                             ; preds = %1493, %1476
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #7
  br label %1607

1495:                                             ; preds = %1446, %1418
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #7
  store i64 0, ptr %152, align 8, !tbaa !9
  br label %1496

1496:                                             ; preds = %1591, %1495
  %1497 = load i64, ptr %152, align 8, !tbaa !9
  %1498 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  %1499 = icmp ult i64 %1497, %1498
  br i1 %1499, label %1501, label %1500

1500:                                             ; preds = %1496
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  br label %1595

1501:                                             ; preds = %1496
  %1502 = load i64, ptr %152, align 8, !tbaa !9
  %1503 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1502) #7
  %1504 = load i8, ptr %1503, align 1, !tbaa !11
  %1505 = zext i8 %1504 to i32
  %1506 = load i64, ptr %152, align 8, !tbaa !9
  %1507 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %107, i64 noundef %1506) #7
  %1508 = load i8, ptr %1507, align 1, !tbaa !11
  %1509 = zext i8 %1508 to i32
  %1510 = icmp ne i32 %1505, %1509
  br i1 %1510, label %1511, label %1590

1511:                                             ; preds = %1501
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %155) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %158)
          to label %1512 unwind label %1538

1512:                                             ; preds = %1511
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %156, ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.480)
          to label %1513 unwind label %1542

1513:                                             ; preds = %1512
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef nonnull align 8 dereferenceable(32) %156, ptr noundef @.str.3)
          to label %1514 unwind label %1546

1514:                                             ; preds = %1513
  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.295)
          to label %1515 unwind label %1550

1515:                                             ; preds = %1514
  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.18)
          to label %1516 unwind label %1554

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

1518:                                             ; preds = %1516
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #7
  %1519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1520 unwind label %1567

1520:                                             ; preds = %1518
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #7
  %1521 = load i64, ptr %152, align 8, !tbaa !9
  %1522 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1521) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 1 dereferenceable(1) %1522)
          to label %1523 unwind label %1571

1523:                                             ; preds = %1520
  %1524 = 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) %1519, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1525 unwind label %1575

1525:                                             ; preds = %1523
  %1526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1524, ptr noundef @.str.20)
          to label %1527 unwind label %1575

1527:                                             ; preds = %1525
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #7
  %1528 = load i64, ptr %152, align 8, !tbaa !9
  %1529 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %107, i64 noundef %1528) #7
  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) %1529)
          to label %1530 unwind label %1579

1530:                                             ; preds = %1527
  %1531 = 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) %1526, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1532 unwind label %1583

1532:                                             ; preds = %1530
  %1533 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1531, ptr noundef @.str.21)
          to label %1534 unwind label %1583

1534:                                             ; preds = %1532
  %1535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1533, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1536 unwind label %1583

1536:                                             ; preds = %1534
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #7
  invoke void @_Z4failv()
          to label %1537 unwind label %1567

1537:                                             ; preds = %1536
  br label %1590

1538:                                             ; preds = %1511
  %1539 = landingpad { ptr, i32 }
          cleanup
  %1540 = extractvalue { ptr, i32 } %1539, 0
  store ptr %1540, ptr %6, align 8
  %1541 = extractvalue { ptr, i32 } %1539, 1
  store i32 %1541, ptr %7, align 4
  br label %1566

1542:                                             ; preds = %1512
  %1543 = landingpad { ptr, i32 }
          cleanup
  %1544 = extractvalue { ptr, i32 } %1543, 0
  store ptr %1544, ptr %6, align 8
  %1545 = extractvalue { ptr, i32 } %1543, 1
  store i32 %1545, ptr %7, align 4
  br label %1565

1546:                                             ; preds = %1513
  %1547 = landingpad { ptr, i32 }
          cleanup
  %1548 = extractvalue { ptr, i32 } %1547, 0
  store ptr %1548, ptr %6, align 8
  %1549 = extractvalue { ptr, i32 } %1547, 1
  store i32 %1549, ptr %7, align 4
  br label %1564

1550:                                             ; preds = %1514
  %1551 = landingpad { ptr, i32 }
          cleanup
  %1552 = extractvalue { ptr, i32 } %1551, 0
  store ptr %1552, ptr %6, align 8
  %1553 = extractvalue { ptr, i32 } %1551, 1
  store i32 %1553, ptr %7, align 4
  br label %1563

1554:                                             ; preds = %1515
  %1555 = landingpad { ptr, i32 }
          cleanup
  %1556 = extractvalue { ptr, i32 } %1555, 0
  store ptr %1556, ptr %6, align 8
  %1557 = extractvalue { ptr, i32 } %1555, 1
  store i32 %1557, ptr %7, align 4
  br label %1562

1558:                                             ; preds = %1516
  %1559 = landingpad { ptr, i32 }
          cleanup
  %1560 = extractvalue { ptr, i32 } %1559, 0
  store ptr %1560, ptr %6, align 8
  %1561 = extractvalue { ptr, i32 } %1559, 1
  store i32 %1561, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #7
  br label %1562

1562:                                             ; preds = %1558, %1554
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #7
  br label %1563

1563:                                             ; preds = %1562, %1550
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #7
  br label %1564

1564:                                             ; preds = %1563, %1546
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #7
  br label %1565

1565:                                             ; preds = %1564, %1542
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #7
  br label %1566

1566:                                             ; preds = %1565, %1538
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #7
  br label %1594

1567:                                             ; preds = %1536, %1518
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %6, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %7, align 4
  br label %1594

1571:                                             ; preds = %1520
  %1572 = landingpad { ptr, i32 }
          cleanup
  %1573 = extractvalue { ptr, i32 } %1572, 0
  store ptr %1573, ptr %6, align 8
  %1574 = extractvalue { ptr, i32 } %1572, 1
  store i32 %1574, ptr %7, align 4
  br label %1589

1575:                                             ; preds = %1525, %1523
  %1576 = landingpad { ptr, i32 }
          cleanup
  %1577 = extractvalue { ptr, i32 } %1576, 0
  store ptr %1577, ptr %6, align 8
  %1578 = extractvalue { ptr, i32 } %1576, 1
  store i32 %1578, ptr %7, align 4
  br label %1588

1579:                                             ; preds = %1527
  %1580 = landingpad { ptr, i32 }
          cleanup
  %1581 = extractvalue { ptr, i32 } %1580, 0
  store ptr %1581, ptr %6, align 8
  %1582 = extractvalue { ptr, i32 } %1580, 1
  store i32 %1582, ptr %7, align 4
  br label %1587

1583:                                             ; preds = %1534, %1532, %1530
  %1584 = landingpad { ptr, i32 }
          cleanup
  %1585 = extractvalue { ptr, i32 } %1584, 0
  store ptr %1585, ptr %6, align 8
  %1586 = extractvalue { ptr, i32 } %1584, 1
  store i32 %1586, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #7
  br label %1587

1587:                                             ; preds = %1583, %1579
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #7
  br label %1588

1588:                                             ; preds = %1587, %1575
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #7
  br label %1589

1589:                                             ; preds = %1588, %1571
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #7
  br label %1594

1590:                                             ; preds = %1537, %1501
  br label %1591

1591:                                             ; preds = %1590
  %1592 = load i64, ptr %152, align 8, !tbaa !9
  %1593 = add i64 %1592, 1
  store i64 %1593, ptr %152, align 8, !tbaa !9
  br label %1496, !llvm.loop !40

1594:                                             ; preds = %1589, %1567, %1566
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  br label %1607

1595:                                             ; preds = %1500
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %107) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %106) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %106) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %89) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %89) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #7
  store i32 32, ptr %162, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #7
  store i32 32, ptr %163, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %164) #7
  %1596 = load i32, ptr %162, align 4, !tbaa !5
  %1597 = load i32, ptr %163, align 4, !tbaa !5
  %1598 = mul i32 %1596, %1597
  %1599 = mul i32 %1598, 4
  %1600 = zext i32 %1599 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %165) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %1600, ptr noundef nonnull align 1 dereferenceable(1) %165)
          to label %1601 unwind label %1612

1601:                                             ; preds = %1595
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #7
  store i64 0, ptr %166, align 8, !tbaa !9
  br label %1602

1602:                                             ; preds = %1622, %1601
  %1603 = load i64, ptr %166, align 8, !tbaa !9
  %1604 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  %1605 = icmp ult i64 %1603, %1604
  br i1 %1605, label %1616, label %1606

1606:                                             ; preds = %1602
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #7
  br label %1625

1607:                                             ; preds = %1594, %1494, %1475, %1417, %1398, %1343, %1324, %1295, %1235
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %107) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %107) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %106) #7
  br label %1608

1608:                                             ; preds = %1607, %1231
  call void @llvm.lifetime.end.p0(i64 512, ptr %106) #7
  br label %1609

1609:                                             ; preds = %1608, %1230, %1170
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %89) #7
  br label %1610

1610:                                             ; preds = %1609, %1166
  call void @llvm.lifetime.end.p0(i64 512, ptr %89) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #7
  br label %1611

1611:                                             ; preds = %1610, %1051
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  br label %3671

1612:                                             ; preds = %1595
  %1613 = landingpad { ptr, i32 }
          cleanup
  %1614 = extractvalue { ptr, i32 } %1613, 0
  store ptr %1614, ptr %6, align 8
  %1615 = extractvalue { ptr, i32 } %1613, 1
  store i32 %1615, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %165) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %165) #7
  br label %2187

1616:                                             ; preds = %1602
  %1617 = load i64, ptr %166, align 8, !tbaa !9
  %1618 = and i64 %1617, 255
  %1619 = trunc i64 %1618 to i8
  %1620 = load i64, ptr %166, align 8, !tbaa !9
  %1621 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %1620) #7
  store i8 %1619, ptr %1621, align 1, !tbaa !11
  br label %1622

1622:                                             ; preds = %1616
  %1623 = load i64, ptr %166, align 8, !tbaa !9
  %1624 = add i64 %1623, 1
  store i64 %1624, ptr %166, align 8, !tbaa !9
  br label %1602, !llvm.loop !41

1625:                                             ; preds = %1606
  call void @llvm.lifetime.start.p0(i64 24, ptr %167) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %167) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %168) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %168)
          to label %1626 unwind label %1736

1626:                                             ; preds = %1625
  %1627 = getelementptr inbounds %struct.LodePNGState, ptr %168, i32 0, i32 4
  %1628 = getelementptr inbounds %struct.LodePNGInfo, ptr %1627, i32 0, i32 35
  store i32 1, ptr %1628, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %170) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef @.str.481, ptr noundef nonnull align 1 dereferenceable(1) %170)
          to label %1629 unwind label %1740

1629:                                             ; preds = %1626
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %170) #7
  %1630 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %169, i64 noundef 1)
          to label %1631 unwind label %1744

1631:                                             ; preds = %1629
  store i8 0, ptr %1630, align 1, !tbaa !11
  %1632 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %169, i64 noundef 0)
          to label %1633 unwind label %1744

1633:                                             ; preds = %1631
  store i8 0, ptr %1632, align 1, !tbaa !11
  %1634 = getelementptr inbounds %struct.LodePNGState, ptr %168, i32 0, i32 4
  %1635 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %169) #7
  %1636 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %169) #7
  %1637 = trunc i64 %1636 to i32
  %1638 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %1634, ptr noundef @.str.482, ptr noundef %1635, i32 noundef %1637)
          to label %1639 unwind label %1744

1639:                                             ; preds = %1633
  %1640 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef 0) #7
  %1641 = load i32, ptr %162, align 4, !tbaa !5
  %1642 = load i32, ptr %163, align 4, !tbaa !5
  %1643 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %167, ptr noundef %1640, i32 noundef %1641, i32 noundef %1642, ptr noundef nonnull align 8 dereferenceable(508) %168)
          to label %1644 unwind label %1744

1644:                                             ; preds = %1639
  store i32 %1643, ptr %161, align 4, !tbaa !5
  %1645 = load i32, ptr %161, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %171) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %173) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %174) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %174)
          to label %1646 unwind label %1748

1646:                                             ; preds = %1644
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef @.str.483)
          to label %1647 unwind label %1752

1647:                                             ; preds = %1646
  call void @llvm.lifetime.start.p0(i64 32, ptr %175) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %177) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #7
  store i1 false, ptr %179, align 1
  store i1 false, ptr %180, align 1
  store i1 false, ptr %182, align 1
  store i1 false, ptr %184, align 1
  store i1 false, ptr %185, align 1
  store i1 false, ptr %186, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %177)
          to label %1648 unwind label %1756

1648:                                             ; preds = %1647
  %1649 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %176) #7
  br i1 %1649, label %1650, label %1652

1650:                                             ; preds = %1648
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #7
  store i1 true, ptr %179, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #7
  store i1 true, ptr %180, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %178)
          to label %1651 unwind label %1760

1651:                                             ; preds = %1650
  br label %1655

1652:                                             ; preds = %1648
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #7
  store i1 true, ptr %182, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %183) #7
  store i1 true, ptr %184, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  store i1 true, ptr %185, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %183)
          to label %1653 unwind label %1764

1653:                                             ; preds = %1652
  store i1 true, ptr %186, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %175, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %1654 unwind label %1768

1654:                                             ; preds = %1653
  br label %1655

1655:                                             ; preds = %1654, %1651
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1656 unwind label %1772

1656:                                             ; preds = %1655
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1645, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1657 unwind label %1776

1657:                                             ; preds = %1656
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #7
  %1658 = load i1, ptr %186, align 1
  br i1 %1658, label %1659, label %1660

1659:                                             ; preds = %1657
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %1660

1660:                                             ; preds = %1659, %1657
  %1661 = load i1, ptr %185, align 1
  br i1 %1661, label %1662, label %1663

1662:                                             ; preds = %1660
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  br label %1663

1663:                                             ; preds = %1662, %1660
  %1664 = load i1, ptr %184, align 1
  br i1 %1664, label %1665, label %1666

1665:                                             ; preds = %1663
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  br label %1666

1666:                                             ; preds = %1665, %1663
  %1667 = load i1, ptr %182, align 1
  br i1 %1667, label %1668, label %1669

1668:                                             ; preds = %1666
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #7
  br label %1669

1669:                                             ; preds = %1668, %1666
  %1670 = load i1, ptr %180, align 1
  br i1 %1670, label %1671, label %1672

1671:                                             ; preds = %1669
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #7
  br label %1672

1672:                                             ; preds = %1671, %1669
  %1673 = load i1, ptr %179, align 1
  br i1 %1673, label %1674, label %1675

1674:                                             ; preds = %1672
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #7
  br label %1675

1675:                                             ; preds = %1674, %1672
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %187) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %187)
          to label %1676 unwind label %1805

1676:                                             ; preds = %1675
  call void @llvm.lifetime.start.p0(i64 24, ptr %188) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  %1677 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %188, ptr noundef nonnull align 4 dereferenceable(4) %162, ptr noundef nonnull align 4 dereferenceable(4) %163, ptr noundef nonnull align 8 dereferenceable(508) %187, ptr noundef nonnull align 8 dereferenceable(24) %167)
          to label %1678 unwind label %1809

1678:                                             ; preds = %1676
  store i32 %1677, ptr %161, align 4, !tbaa !5
  %1679 = load i32, ptr %161, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %192) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %192)
          to label %1680 unwind label %1813

1680:                                             ; preds = %1678
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef @.str.484)
          to label %1681 unwind label %1817

1681:                                             ; preds = %1680
  call void @llvm.lifetime.start.p0(i64 32, ptr %193) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %194) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %195) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #7
  store i1 false, ptr %197, align 1
  store i1 false, ptr %198, align 1
  store i1 false, ptr %200, align 1
  store i1 false, ptr %202, align 1
  store i1 false, ptr %203, align 1
  store i1 false, ptr %204, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %195)
          to label %1682 unwind label %1821

1682:                                             ; preds = %1681
  %1683 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %194) #7
  br i1 %1683, label %1684, label %1686

1684:                                             ; preds = %1682
  call void @llvm.lifetime.start.p0(i64 1, ptr %196) #7
  store i1 true, ptr %197, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #7
  store i1 true, ptr %198, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %196)
          to label %1685 unwind label %1825

1685:                                             ; preds = %1684
  br label %1689

1686:                                             ; preds = %1682
  call void @llvm.lifetime.start.p0(i64 32, ptr %199) #7
  store i1 true, ptr %200, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %201) #7
  store i1 true, ptr %202, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #7
  store i1 true, ptr %203, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %201)
          to label %1687 unwind label %1829

1687:                                             ; preds = %1686
  store i1 true, ptr %204, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %193, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %199)
          to label %1688 unwind label %1833

1688:                                             ; preds = %1687
  br label %1689

1689:                                             ; preds = %1688, %1685
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef nonnull align 8 dereferenceable(32) %193)
          to label %1690 unwind label %1837

1690:                                             ; preds = %1689
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1679, ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %1691 unwind label %1841

1691:                                             ; preds = %1690
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #7
  %1692 = load i1, ptr %204, align 1
  br i1 %1692, label %1693, label %1694

1693:                                             ; preds = %1691
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #7
  br label %1694

1694:                                             ; preds = %1693, %1691
  %1695 = load i1, ptr %203, align 1
  br i1 %1695, label %1696, label %1697

1696:                                             ; preds = %1694
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #7
  br label %1697

1697:                                             ; preds = %1696, %1694
  %1698 = load i1, ptr %202, align 1
  br i1 %1698, label %1699, label %1700

1699:                                             ; preds = %1697
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #7
  br label %1700

1700:                                             ; preds = %1699, %1697
  %1701 = load i1, ptr %200, align 1
  br i1 %1701, label %1702, label %1703

1702:                                             ; preds = %1700
  call void @llvm.lifetime.end.p0(i64 32, ptr %199) #7
  br label %1703

1703:                                             ; preds = %1702, %1700
  %1704 = load i1, ptr %198, align 1
  br i1 %1704, label %1705, label %1706

1705:                                             ; preds = %1703
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #7
  br label %1706

1706:                                             ; preds = %1705, %1703
  %1707 = load i1, ptr %197, align 1
  br i1 %1707, label %1708, label %1709

1708:                                             ; preds = %1706
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #7
  br label %1709

1709:                                             ; preds = %1708, %1706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %168, ptr noundef nonnull align 8 dereferenceable(508) %187)
          to label %1710 unwind label %1809

1710:                                             ; preds = %1709
  %1711 = load i32, ptr %162, align 4, !tbaa !5
  %1712 = icmp ne i32 32, %1711
  br i1 %1712, label %1713, label %1918

1713:                                             ; preds = %1710
  call void @llvm.lifetime.start.p0(i64 32, ptr %205) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %206) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %207) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %1714 unwind label %1870

1714:                                             ; preds = %1713
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %208, ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.485)
          to label %1715 unwind label %1874

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

1716:                                             ; preds = %1715
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %206, ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef @.str.190)
          to label %1717 unwind label %1882

1717:                                             ; preds = %1716
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %205, ptr noundef nonnull align 8 dereferenceable(32) %206, ptr noundef @.str.18)
          to label %1718 unwind label %1886

1718:                                             ; preds = %1717
  %1719 = 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) %205)
          to label %1720 unwind label %1890

1720:                                             ; preds = %1718
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %205) #7
  %1721 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1722 unwind label %1809

1722:                                             ; preds = %1720
  call void @llvm.lifetime.start.p0(i64 32, ptr %211) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #7
  store i32 32, ptr %212, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %211, ptr noundef nonnull align 4 dereferenceable(4) %212)
          to label %1723 unwind label %1899

1723:                                             ; preds = %1722
  %1724 = 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) %1721, ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %1725 unwind label %1903

1725:                                             ; preds = %1723
  %1726 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1724, ptr noundef @.str.20)
          to label %1727 unwind label %1903

1727:                                             ; preds = %1725
  call void @llvm.lifetime.start.p0(i64 32, ptr %213) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %213, ptr noundef nonnull align 4 dereferenceable(4) %162)
          to label %1728 unwind label %1907

1728:                                             ; preds = %1727
  %1729 = 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) %1726, ptr noundef nonnull align 8 dereferenceable(32) %213)
          to label %1730 unwind label %1911

1730:                                             ; preds = %1728
  %1731 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1729, ptr noundef @.str.21)
          to label %1732 unwind label %1911

1732:                                             ; preds = %1730
  %1733 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1731, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1734 unwind label %1911

1734:                                             ; preds = %1732
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #7
  invoke void @_Z4failv()
          to label %1735 unwind label %1809

1735:                                             ; preds = %1734
  br label %1918

1736:                                             ; preds = %1625
  %1737 = landingpad { ptr, i32 }
          cleanup
  %1738 = extractvalue { ptr, i32 } %1737, 0
  store ptr %1738, ptr %6, align 8
  %1739 = extractvalue { ptr, i32 } %1737, 1
  store i32 %1739, ptr %7, align 4
  br label %2186

1740:                                             ; preds = %1626
  %1741 = landingpad { ptr, i32 }
          cleanup
  %1742 = extractvalue { ptr, i32 } %1741, 0
  store ptr %1742, ptr %6, align 8
  %1743 = extractvalue { ptr, i32 } %1741, 1
  store i32 %1743, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %170) #7
  br label %2185

1744:                                             ; preds = %1639, %1633, %1631, %1629
  %1745 = landingpad { ptr, i32 }
          cleanup
  %1746 = extractvalue { ptr, i32 } %1745, 0
  store ptr %1746, ptr %6, align 8
  %1747 = extractvalue { ptr, i32 } %1745, 1
  store i32 %1747, ptr %7, align 4
  br label %2184

1748:                                             ; preds = %1644
  %1749 = landingpad { ptr, i32 }
          cleanup
  %1750 = extractvalue { ptr, i32 } %1749, 0
  store ptr %1750, ptr %6, align 8
  %1751 = extractvalue { ptr, i32 } %1749, 1
  store i32 %1751, ptr %7, align 4
  br label %1804

1752:                                             ; preds = %1646
  %1753 = landingpad { ptr, i32 }
          cleanup
  %1754 = extractvalue { ptr, i32 } %1753, 0
  store ptr %1754, ptr %6, align 8
  %1755 = extractvalue { ptr, i32 } %1753, 1
  store i32 %1755, ptr %7, align 4
  br label %1803

1756:                                             ; preds = %1647
  %1757 = landingpad { ptr, i32 }
          cleanup
  %1758 = extractvalue { ptr, i32 } %1757, 0
  store ptr %1758, ptr %6, align 8
  %1759 = extractvalue { ptr, i32 } %1757, 1
  store i32 %1759, ptr %7, align 4
  br label %1802

1760:                                             ; preds = %1650
  %1761 = landingpad { ptr, i32 }
          cleanup
  %1762 = extractvalue { ptr, i32 } %1761, 0
  store ptr %1762, ptr %6, align 8
  %1763 = extractvalue { ptr, i32 } %1761, 1
  store i32 %1763, ptr %7, align 4
  br label %1795

1764:                                             ; preds = %1652
  %1765 = landingpad { ptr, i32 }
          cleanup
  %1766 = extractvalue { ptr, i32 } %1765, 0
  store ptr %1766, ptr %6, align 8
  %1767 = extractvalue { ptr, i32 } %1765, 1
  store i32 %1767, ptr %7, align 4
  br label %1785

1768:                                             ; preds = %1653
  %1769 = landingpad { ptr, i32 }
          cleanup
  %1770 = extractvalue { ptr, i32 } %1769, 0
  store ptr %1770, ptr %6, align 8
  %1771 = extractvalue { ptr, i32 } %1769, 1
  store i32 %1771, ptr %7, align 4
  br label %1781

1772:                                             ; preds = %1655
  %1773 = landingpad { ptr, i32 }
          cleanup
  %1774 = extractvalue { ptr, i32 } %1773, 0
  store ptr %1774, ptr %6, align 8
  %1775 = extractvalue { ptr, i32 } %1773, 1
  store i32 %1775, ptr %7, align 4
  br label %1780

1776:                                             ; preds = %1656
  %1777 = landingpad { ptr, i32 }
          cleanup
  %1778 = extractvalue { ptr, i32 } %1777, 0
  store ptr %1778, ptr %6, align 8
  %1779 = extractvalue { ptr, i32 } %1777, 1
  store i32 %1779, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #7
  br label %1780

1780:                                             ; preds = %1776, %1772
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #7
  br label %1781

1781:                                             ; preds = %1780, %1768
  %1782 = load i1, ptr %186, align 1
  br i1 %1782, label %1783, label %1784

1783:                                             ; preds = %1781
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #7
  br label %1784

1784:                                             ; preds = %1783, %1781
  br label %1785

1785:                                             ; preds = %1784, %1764
  %1786 = load i1, ptr %185, align 1
  br i1 %1786, label %1787, label %1788

1787:                                             ; preds = %1785
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %183) #7
  br label %1788

1788:                                             ; preds = %1787, %1785
  %1789 = load i1, ptr %184, align 1
  br i1 %1789, label %1790, label %1791

1790:                                             ; preds = %1788
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  br label %1791

1791:                                             ; preds = %1790, %1788
  %1792 = load i1, ptr %182, align 1
  br i1 %1792, label %1793, label %1794

1793:                                             ; preds = %1791
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #7
  br label %1794

1794:                                             ; preds = %1793, %1791
  br label %1795

1795:                                             ; preds = %1794, %1760
  %1796 = load i1, ptr %180, align 1
  br i1 %1796, label %1797, label %1798

1797:                                             ; preds = %1795
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #7
  br label %1798

1798:                                             ; preds = %1797, %1795
  %1799 = load i1, ptr %179, align 1
  br i1 %1799, label %1800, label %1801

1800:                                             ; preds = %1798
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #7
  br label %1801

1801:                                             ; preds = %1800, %1798
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #7
  br label %1802

1802:                                             ; preds = %1801, %1756
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #7
  br label %1803

1803:                                             ; preds = %1802, %1752
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #7
  br label %1804

1804:                                             ; preds = %1803, %1748
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %174) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %171) #7
  br label %2184

1805:                                             ; preds = %1675
  %1806 = landingpad { ptr, i32 }
          cleanup
  %1807 = extractvalue { ptr, i32 } %1806, 0
  store ptr %1807, ptr %6, align 8
  %1808 = extractvalue { ptr, i32 } %1806, 1
  store i32 %1808, ptr %7, align 4
  br label %2183

1809:                                             ; preds = %2019, %2003, %1942, %1928, %1734, %1720, %1709, %1676
  %1810 = landingpad { ptr, i32 }
          cleanup
  %1811 = extractvalue { ptr, i32 } %1810, 0
  store ptr %1811, ptr %6, align 8
  %1812 = extractvalue { ptr, i32 } %1810, 1
  store i32 %1812, ptr %7, align 4
  br label %2182

1813:                                             ; preds = %1678
  %1814 = landingpad { ptr, i32 }
          cleanup
  %1815 = extractvalue { ptr, i32 } %1814, 0
  store ptr %1815, ptr %6, align 8
  %1816 = extractvalue { ptr, i32 } %1814, 1
  store i32 %1816, ptr %7, align 4
  br label %1869

1817:                                             ; preds = %1680
  %1818 = landingpad { ptr, i32 }
          cleanup
  %1819 = extractvalue { ptr, i32 } %1818, 0
  store ptr %1819, ptr %6, align 8
  %1820 = extractvalue { ptr, i32 } %1818, 1
  store i32 %1820, ptr %7, align 4
  br label %1868

1821:                                             ; preds = %1681
  %1822 = landingpad { ptr, i32 }
          cleanup
  %1823 = extractvalue { ptr, i32 } %1822, 0
  store ptr %1823, ptr %6, align 8
  %1824 = extractvalue { ptr, i32 } %1822, 1
  store i32 %1824, ptr %7, align 4
  br label %1867

1825:                                             ; preds = %1684
  %1826 = landingpad { ptr, i32 }
          cleanup
  %1827 = extractvalue { ptr, i32 } %1826, 0
  store ptr %1827, ptr %6, align 8
  %1828 = extractvalue { ptr, i32 } %1826, 1
  store i32 %1828, ptr %7, align 4
  br label %1860

1829:                                             ; preds = %1686
  %1830 = landingpad { ptr, i32 }
          cleanup
  %1831 = extractvalue { ptr, i32 } %1830, 0
  store ptr %1831, ptr %6, align 8
  %1832 = extractvalue { ptr, i32 } %1830, 1
  store i32 %1832, ptr %7, align 4
  br label %1850

1833:                                             ; preds = %1687
  %1834 = landingpad { ptr, i32 }
          cleanup
  %1835 = extractvalue { ptr, i32 } %1834, 0
  store ptr %1835, ptr %6, align 8
  %1836 = extractvalue { ptr, i32 } %1834, 1
  store i32 %1836, ptr %7, align 4
  br label %1846

1837:                                             ; preds = %1689
  %1838 = landingpad { ptr, i32 }
          cleanup
  %1839 = extractvalue { ptr, i32 } %1838, 0
  store ptr %1839, ptr %6, align 8
  %1840 = extractvalue { ptr, i32 } %1838, 1
  store i32 %1840, ptr %7, align 4
  br label %1845

1841:                                             ; preds = %1690
  %1842 = landingpad { ptr, i32 }
          cleanup
  %1843 = extractvalue { ptr, i32 } %1842, 0
  store ptr %1843, ptr %6, align 8
  %1844 = extractvalue { ptr, i32 } %1842, 1
  store i32 %1844, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #7
  br label %1845

1845:                                             ; preds = %1841, %1837
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #7
  br label %1846

1846:                                             ; preds = %1845, %1833
  %1847 = load i1, ptr %204, align 1
  br i1 %1847, label %1848, label %1849

1848:                                             ; preds = %1846
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #7
  br label %1849

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

1850:                                             ; preds = %1849, %1829
  %1851 = load i1, ptr %203, align 1
  br i1 %1851, label %1852, label %1853

1852:                                             ; preds = %1850
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #7
  br label %1853

1853:                                             ; preds = %1852, %1850
  %1854 = load i1, ptr %202, align 1
  br i1 %1854, label %1855, label %1856

1855:                                             ; preds = %1853
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #7
  br label %1856

1856:                                             ; preds = %1855, %1853
  %1857 = load i1, ptr %200, align 1
  br i1 %1857, label %1858, label %1859

1858:                                             ; preds = %1856
  call void @llvm.lifetime.end.p0(i64 32, ptr %199) #7
  br label %1859

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

1860:                                             ; preds = %1859, %1825
  %1861 = load i1, ptr %198, align 1
  br i1 %1861, label %1862, label %1863

1862:                                             ; preds = %1860
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %196) #7
  br label %1863

1863:                                             ; preds = %1862, %1860
  %1864 = load i1, ptr %197, align 1
  br i1 %1864, label %1865, label %1866

1865:                                             ; preds = %1863
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #7
  br label %1866

1866:                                             ; preds = %1865, %1863
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #7
  br label %1867

1867:                                             ; preds = %1866, %1821
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  br label %1868

1868:                                             ; preds = %1867, %1817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #7
  br label %1869

1869:                                             ; preds = %1868, %1813
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #7
  br label %2182

1870:                                             ; preds = %1713
  %1871 = landingpad { ptr, i32 }
          cleanup
  %1872 = extractvalue { ptr, i32 } %1871, 0
  store ptr %1872, ptr %6, align 8
  %1873 = extractvalue { ptr, i32 } %1871, 1
  store i32 %1873, ptr %7, align 4
  br label %1898

1874:                                             ; preds = %1714
  %1875 = landingpad { ptr, i32 }
          cleanup
  %1876 = extractvalue { ptr, i32 } %1875, 0
  store ptr %1876, ptr %6, align 8
  %1877 = extractvalue { ptr, i32 } %1875, 1
  store i32 %1877, ptr %7, align 4
  br label %1897

1878:                                             ; preds = %1715
  %1879 = landingpad { ptr, i32 }
          cleanup
  %1880 = extractvalue { ptr, i32 } %1879, 0
  store ptr %1880, ptr %6, align 8
  %1881 = extractvalue { ptr, i32 } %1879, 1
  store i32 %1881, ptr %7, align 4
  br label %1896

1882:                                             ; preds = %1716
  %1883 = landingpad { ptr, i32 }
          cleanup
  %1884 = extractvalue { ptr, i32 } %1883, 0
  store ptr %1884, ptr %6, align 8
  %1885 = extractvalue { ptr, i32 } %1883, 1
  store i32 %1885, ptr %7, align 4
  br label %1895

1886:                                             ; preds = %1717
  %1887 = landingpad { ptr, i32 }
          cleanup
  %1888 = extractvalue { ptr, i32 } %1887, 0
  store ptr %1888, ptr %6, align 8
  %1889 = extractvalue { ptr, i32 } %1887, 1
  store i32 %1889, ptr %7, align 4
  br label %1894

1890:                                             ; preds = %1718
  %1891 = landingpad { ptr, i32 }
          cleanup
  %1892 = extractvalue { ptr, i32 } %1891, 0
  store ptr %1892, ptr %6, align 8
  %1893 = extractvalue { ptr, i32 } %1891, 1
  store i32 %1893, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #7
  br label %1894

1894:                                             ; preds = %1890, %1886
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #7
  br label %1895

1895:                                             ; preds = %1894, %1882
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #7
  br label %1896

1896:                                             ; preds = %1895, %1878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #7
  br label %1897

1897:                                             ; preds = %1896, %1874
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #7
  br label %1898

1898:                                             ; preds = %1897, %1870
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %205) #7
  br label %2182

1899:                                             ; preds = %1722
  %1900 = landingpad { ptr, i32 }
          cleanup
  %1901 = extractvalue { ptr, i32 } %1900, 0
  store ptr %1901, ptr %6, align 8
  %1902 = extractvalue { ptr, i32 } %1900, 1
  store i32 %1902, ptr %7, align 4
  br label %1917

1903:                                             ; preds = %1725, %1723
  %1904 = landingpad { ptr, i32 }
          cleanup
  %1905 = extractvalue { ptr, i32 } %1904, 0
  store ptr %1905, ptr %6, align 8
  %1906 = extractvalue { ptr, i32 } %1904, 1
  store i32 %1906, ptr %7, align 4
  br label %1916

1907:                                             ; preds = %1727
  %1908 = landingpad { ptr, i32 }
          cleanup
  %1909 = extractvalue { ptr, i32 } %1908, 0
  store ptr %1909, ptr %6, align 8
  %1910 = extractvalue { ptr, i32 } %1908, 1
  store i32 %1910, ptr %7, align 4
  br label %1915

1911:                                             ; preds = %1732, %1730, %1728
  %1912 = landingpad { ptr, i32 }
          cleanup
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %6, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #7
  br label %1915

1915:                                             ; preds = %1911, %1907
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #7
  br label %1916

1916:                                             ; preds = %1915, %1903
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #7
  br label %1917

1917:                                             ; preds = %1916, %1899
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #7
  br label %2182

1918:                                             ; preds = %1735, %1710
  %1919 = load i32, ptr %163, align 4, !tbaa !5
  %1920 = icmp ne i32 32, %1919
  br i1 %1920, label %1921, label %1992

1921:                                             ; preds = %1918
  call void @llvm.lifetime.start.p0(i64 32, ptr %214) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %215) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %217) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %218) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %219) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %219)
          to label %1922 unwind label %1944

1922:                                             ; preds = %1921
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %217, ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef @.str.486)
          to label %1923 unwind label %1948

1923:                                             ; preds = %1922
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %216, ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef @.str.3)
          to label %1924 unwind label %1952

1924:                                             ; preds = %1923
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %215, ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef @.str.192)
          to label %1925 unwind label %1956

1925:                                             ; preds = %1924
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %214, ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef @.str.18)
          to label %1926 unwind label %1960

1926:                                             ; preds = %1925
  %1927 = 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) %214)
          to label %1928 unwind label %1964

1928:                                             ; preds = %1926
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %218) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #7
  %1929 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %1930 unwind label %1809

1930:                                             ; preds = %1928
  call void @llvm.lifetime.start.p0(i64 32, ptr %220) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #7
  store i32 32, ptr %221, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %220, ptr noundef nonnull align 4 dereferenceable(4) %221)
          to label %1931 unwind label %1973

1931:                                             ; preds = %1930
  %1932 = 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) %1929, ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %1933 unwind label %1977

1933:                                             ; preds = %1931
  %1934 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1932, ptr noundef @.str.20)
          to label %1935 unwind label %1977

1935:                                             ; preds = %1933
  call void @llvm.lifetime.start.p0(i64 32, ptr %222) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %222, ptr noundef nonnull align 4 dereferenceable(4) %163)
          to label %1936 unwind label %1981

1936:                                             ; preds = %1935
  %1937 = 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) %1934, ptr noundef nonnull align 8 dereferenceable(32) %222)
          to label %1938 unwind label %1985

1938:                                             ; preds = %1936
  %1939 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1937, ptr noundef @.str.21)
          to label %1940 unwind label %1985

1940:                                             ; preds = %1938
  %1941 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1939, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1942 unwind label %1985

1942:                                             ; preds = %1940
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #7
  invoke void @_Z4failv()
          to label %1943 unwind label %1809

1943:                                             ; preds = %1942
  br label %1992

1944:                                             ; preds = %1921
  %1945 = landingpad { ptr, i32 }
          cleanup
  %1946 = extractvalue { ptr, i32 } %1945, 0
  store ptr %1946, ptr %6, align 8
  %1947 = extractvalue { ptr, i32 } %1945, 1
  store i32 %1947, ptr %7, align 4
  br label %1972

1948:                                             ; preds = %1922
  %1949 = landingpad { ptr, i32 }
          cleanup
  %1950 = extractvalue { ptr, i32 } %1949, 0
  store ptr %1950, ptr %6, align 8
  %1951 = extractvalue { ptr, i32 } %1949, 1
  store i32 %1951, ptr %7, align 4
  br label %1971

1952:                                             ; preds = %1923
  %1953 = landingpad { ptr, i32 }
          cleanup
  %1954 = extractvalue { ptr, i32 } %1953, 0
  store ptr %1954, ptr %6, align 8
  %1955 = extractvalue { ptr, i32 } %1953, 1
  store i32 %1955, ptr %7, align 4
  br label %1970

1956:                                             ; preds = %1924
  %1957 = landingpad { ptr, i32 }
          cleanup
  %1958 = extractvalue { ptr, i32 } %1957, 0
  store ptr %1958, ptr %6, align 8
  %1959 = extractvalue { ptr, i32 } %1957, 1
  store i32 %1959, ptr %7, align 4
  br label %1969

1960:                                             ; preds = %1925
  %1961 = landingpad { ptr, i32 }
          cleanup
  %1962 = extractvalue { ptr, i32 } %1961, 0
  store ptr %1962, ptr %6, align 8
  %1963 = extractvalue { ptr, i32 } %1961, 1
  store i32 %1963, ptr %7, align 4
  br label %1968

1964:                                             ; preds = %1926
  %1965 = landingpad { ptr, i32 }
          cleanup
  %1966 = extractvalue { ptr, i32 } %1965, 0
  store ptr %1966, ptr %6, align 8
  %1967 = extractvalue { ptr, i32 } %1965, 1
  store i32 %1967, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #7
  br label %1968

1968:                                             ; preds = %1964, %1960
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #7
  br label %1969

1969:                                             ; preds = %1968, %1956
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #7
  br label %1970

1970:                                             ; preds = %1969, %1952
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #7
  br label %1971

1971:                                             ; preds = %1970, %1948
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #7
  br label %1972

1972:                                             ; preds = %1971, %1944
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %218) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #7
  br label %2182

1973:                                             ; preds = %1930
  %1974 = landingpad { ptr, i32 }
          cleanup
  %1975 = extractvalue { ptr, i32 } %1974, 0
  store ptr %1975, ptr %6, align 8
  %1976 = extractvalue { ptr, i32 } %1974, 1
  store i32 %1976, ptr %7, align 4
  br label %1991

1977:                                             ; preds = %1933, %1931
  %1978 = landingpad { ptr, i32 }
          cleanup
  %1979 = extractvalue { ptr, i32 } %1978, 0
  store ptr %1979, ptr %6, align 8
  %1980 = extractvalue { ptr, i32 } %1978, 1
  store i32 %1980, ptr %7, align 4
  br label %1990

1981:                                             ; preds = %1935
  %1982 = landingpad { ptr, i32 }
          cleanup
  %1983 = extractvalue { ptr, i32 } %1982, 0
  store ptr %1983, ptr %6, align 8
  %1984 = extractvalue { ptr, i32 } %1982, 1
  store i32 %1984, ptr %7, align 4
  br label %1989

1985:                                             ; preds = %1940, %1938, %1936
  %1986 = landingpad { ptr, i32 }
          cleanup
  %1987 = extractvalue { ptr, i32 } %1986, 0
  store ptr %1987, ptr %6, align 8
  %1988 = extractvalue { ptr, i32 } %1986, 1
  store i32 %1988, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #7
  br label %1989

1989:                                             ; preds = %1985, %1981
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #7
  br label %1990

1990:                                             ; preds = %1989, %1977
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #7
  br label %1991

1991:                                             ; preds = %1990, %1973
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #7
  br label %2182

1992:                                             ; preds = %1943, %1918
  %1993 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  %1994 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  %1995 = icmp ne i64 %1993, %1994
  br i1 %1995, label %1996, label %2069

1996:                                             ; preds = %1992
  call void @llvm.lifetime.start.p0(i64 32, ptr %223) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %224) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %225) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %226) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %227) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %228) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %228)
          to label %1997 unwind label %2021

1997:                                             ; preds = %1996
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %226, ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef @.str.487)
          to label %1998 unwind label %2025

1998:                                             ; preds = %1997
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %225, ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef @.str.3)
          to label %1999 unwind label %2029

1999:                                             ; preds = %1998
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %224, ptr noundef nonnull align 8 dereferenceable(32) %225, ptr noundef @.str.293)
          to label %2000 unwind label %2033

2000:                                             ; preds = %1999
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %223, ptr noundef nonnull align 8 dereferenceable(32) %224, ptr noundef @.str.18)
          to label %2001 unwind label %2037

2001:                                             ; preds = %2000
  %2002 = 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) %223)
          to label %2003 unwind label %2041

2003:                                             ; preds = %2001
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %224) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %224) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #7
  %2004 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2005 unwind label %1809

2005:                                             ; preds = %2003
  call void @llvm.lifetime.start.p0(i64 32, ptr %229) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #7
  %2006 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  store i64 %2006, ptr %230, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %229, ptr noundef nonnull align 8 dereferenceable(8) %230)
          to label %2007 unwind label %2050

2007:                                             ; preds = %2005
  %2008 = 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) %2004, ptr noundef nonnull align 8 dereferenceable(32) %229)
          to label %2009 unwind label %2054

2009:                                             ; preds = %2007
  %2010 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2008, ptr noundef @.str.20)
          to label %2011 unwind label %2054

2011:                                             ; preds = %2009
  call void @llvm.lifetime.start.p0(i64 32, ptr %231) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #7
  %2012 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  store i64 %2012, ptr %232, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %231, ptr noundef nonnull align 8 dereferenceable(8) %232)
          to label %2013 unwind label %2058

2013:                                             ; preds = %2011
  %2014 = 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) %2010, ptr noundef nonnull align 8 dereferenceable(32) %231)
          to label %2015 unwind label %2062

2015:                                             ; preds = %2013
  %2016 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2014, ptr noundef @.str.21)
          to label %2017 unwind label %2062

2017:                                             ; preds = %2015
  %2018 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2016, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2019 unwind label %2062

2019:                                             ; preds = %2017
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %231) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %229) #7
  invoke void @_Z4failv()
          to label %2020 unwind label %1809

2020:                                             ; preds = %2019
  br label %2069

2021:                                             ; preds = %1996
  %2022 = landingpad { ptr, i32 }
          cleanup
  %2023 = extractvalue { ptr, i32 } %2022, 0
  store ptr %2023, ptr %6, align 8
  %2024 = extractvalue { ptr, i32 } %2022, 1
  store i32 %2024, ptr %7, align 4
  br label %2049

2025:                                             ; preds = %1997
  %2026 = landingpad { ptr, i32 }
          cleanup
  %2027 = extractvalue { ptr, i32 } %2026, 0
  store ptr %2027, ptr %6, align 8
  %2028 = extractvalue { ptr, i32 } %2026, 1
  store i32 %2028, ptr %7, align 4
  br label %2048

2029:                                             ; preds = %1998
  %2030 = landingpad { ptr, i32 }
          cleanup
  %2031 = extractvalue { ptr, i32 } %2030, 0
  store ptr %2031, ptr %6, align 8
  %2032 = extractvalue { ptr, i32 } %2030, 1
  store i32 %2032, ptr %7, align 4
  br label %2047

2033:                                             ; preds = %1999
  %2034 = landingpad { ptr, i32 }
          cleanup
  %2035 = extractvalue { ptr, i32 } %2034, 0
  store ptr %2035, ptr %6, align 8
  %2036 = extractvalue { ptr, i32 } %2034, 1
  store i32 %2036, ptr %7, align 4
  br label %2046

2037:                                             ; preds = %2000
  %2038 = landingpad { ptr, i32 }
          cleanup
  %2039 = extractvalue { ptr, i32 } %2038, 0
  store ptr %2039, ptr %6, align 8
  %2040 = extractvalue { ptr, i32 } %2038, 1
  store i32 %2040, ptr %7, align 4
  br label %2045

2041:                                             ; preds = %2001
  %2042 = landingpad { ptr, i32 }
          cleanup
  %2043 = extractvalue { ptr, i32 } %2042, 0
  store ptr %2043, ptr %6, align 8
  %2044 = extractvalue { ptr, i32 } %2042, 1
  store i32 %2044, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #7
  br label %2045

2045:                                             ; preds = %2041, %2037
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %224) #7
  br label %2046

2046:                                             ; preds = %2045, %2033
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #7
  br label %2047

2047:                                             ; preds = %2046, %2029
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #7
  br label %2048

2048:                                             ; preds = %2047, %2025
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #7
  br label %2049

2049:                                             ; preds = %2048, %2021
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %228) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %224) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #7
  br label %2182

2050:                                             ; preds = %2005
  %2051 = landingpad { ptr, i32 }
          cleanup
  %2052 = extractvalue { ptr, i32 } %2051, 0
  store ptr %2052, ptr %6, align 8
  %2053 = extractvalue { ptr, i32 } %2051, 1
  store i32 %2053, ptr %7, align 4
  br label %2068

2054:                                             ; preds = %2009, %2007
  %2055 = landingpad { ptr, i32 }
          cleanup
  %2056 = extractvalue { ptr, i32 } %2055, 0
  store ptr %2056, ptr %6, align 8
  %2057 = extractvalue { ptr, i32 } %2055, 1
  store i32 %2057, ptr %7, align 4
  br label %2067

2058:                                             ; preds = %2011
  %2059 = landingpad { ptr, i32 }
          cleanup
  %2060 = extractvalue { ptr, i32 } %2059, 0
  store ptr %2060, ptr %6, align 8
  %2061 = extractvalue { ptr, i32 } %2059, 1
  store i32 %2061, ptr %7, align 4
  br label %2066

2062:                                             ; preds = %2017, %2015, %2013
  %2063 = landingpad { ptr, i32 }
          cleanup
  %2064 = extractvalue { ptr, i32 } %2063, 0
  store ptr %2064, ptr %6, align 8
  %2065 = extractvalue { ptr, i32 } %2063, 1
  store i32 %2065, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #7
  br label %2066

2066:                                             ; preds = %2062, %2058
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %231) #7
  br label %2067

2067:                                             ; preds = %2066, %2054
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #7
  br label %2068

2068:                                             ; preds = %2067, %2050
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %229) #7
  br label %2182

2069:                                             ; preds = %2020, %1992
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #7
  store i64 0, ptr %233, align 8, !tbaa !9
  br label %2070

2070:                                             ; preds = %2165, %2069
  %2071 = load i64, ptr %233, align 8, !tbaa !9
  %2072 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  %2073 = icmp ult i64 %2071, %2072
  br i1 %2073, label %2075, label %2074

2074:                                             ; preds = %2070
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #7
  br label %2169

2075:                                             ; preds = %2070
  %2076 = load i64, ptr %233, align 8, !tbaa !9
  %2077 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %2076) #7
  %2078 = load i8, ptr %2077, align 1, !tbaa !11
  %2079 = zext i8 %2078 to i32
  %2080 = load i64, ptr %233, align 8, !tbaa !9
  %2081 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %188, i64 noundef %2080) #7
  %2082 = load i8, ptr %2081, align 1, !tbaa !11
  %2083 = zext i8 %2082 to i32
  %2084 = icmp ne i32 %2079, %2083
  br i1 %2084, label %2085, label %2164

2085:                                             ; preds = %2075
  call void @llvm.lifetime.start.p0(i64 32, ptr %234) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %235) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %236) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %237) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %238) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %239) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %239)
          to label %2086 unwind label %2112

2086:                                             ; preds = %2085
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %237, ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef @.str.488)
          to label %2087 unwind label %2116

2087:                                             ; preds = %2086
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %236, ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef @.str.3)
          to label %2088 unwind label %2120

2088:                                             ; preds = %2087
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %235, ptr noundef nonnull align 8 dereferenceable(32) %236, ptr noundef @.str.295)
          to label %2089 unwind label %2124

2089:                                             ; preds = %2088
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %234, ptr noundef nonnull align 8 dereferenceable(32) %235, ptr noundef @.str.18)
          to label %2090 unwind label %2128

2090:                                             ; preds = %2089
  %2091 = 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) %234)
          to label %2092 unwind label %2132

2092:                                             ; preds = %2090
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #7
  %2093 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2094 unwind label %2141

2094:                                             ; preds = %2092
  call void @llvm.lifetime.start.p0(i64 32, ptr %240) #7
  %2095 = load i64, ptr %233, align 8, !tbaa !9
  %2096 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %2095) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %240, ptr noundef nonnull align 1 dereferenceable(1) %2096)
          to label %2097 unwind label %2145

2097:                                             ; preds = %2094
  %2098 = 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) %2093, ptr noundef nonnull align 8 dereferenceable(32) %240)
          to label %2099 unwind label %2149

2099:                                             ; preds = %2097
  %2100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2098, ptr noundef @.str.20)
          to label %2101 unwind label %2149

2101:                                             ; preds = %2099
  call void @llvm.lifetime.start.p0(i64 32, ptr %241) #7
  %2102 = load i64, ptr %233, align 8, !tbaa !9
  %2103 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %188, i64 noundef %2102) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %241, ptr noundef nonnull align 1 dereferenceable(1) %2103)
          to label %2104 unwind label %2153

2104:                                             ; preds = %2101
  %2105 = 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) %2100, ptr noundef nonnull align 8 dereferenceable(32) %241)
          to label %2106 unwind label %2157

2106:                                             ; preds = %2104
  %2107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2105, ptr noundef @.str.21)
          to label %2108 unwind label %2157

2108:                                             ; preds = %2106
  %2109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2107, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2110 unwind label %2157

2110:                                             ; preds = %2108
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %240) #7
  invoke void @_Z4failv()
          to label %2111 unwind label %2141

2111:                                             ; preds = %2110
  br label %2164

2112:                                             ; preds = %2085
  %2113 = landingpad { ptr, i32 }
          cleanup
  %2114 = extractvalue { ptr, i32 } %2113, 0
  store ptr %2114, ptr %6, align 8
  %2115 = extractvalue { ptr, i32 } %2113, 1
  store i32 %2115, ptr %7, align 4
  br label %2140

2116:                                             ; preds = %2086
  %2117 = landingpad { ptr, i32 }
          cleanup
  %2118 = extractvalue { ptr, i32 } %2117, 0
  store ptr %2118, ptr %6, align 8
  %2119 = extractvalue { ptr, i32 } %2117, 1
  store i32 %2119, ptr %7, align 4
  br label %2139

2120:                                             ; preds = %2087
  %2121 = landingpad { ptr, i32 }
          cleanup
  %2122 = extractvalue { ptr, i32 } %2121, 0
  store ptr %2122, ptr %6, align 8
  %2123 = extractvalue { ptr, i32 } %2121, 1
  store i32 %2123, ptr %7, align 4
  br label %2138

2124:                                             ; preds = %2088
  %2125 = landingpad { ptr, i32 }
          cleanup
  %2126 = extractvalue { ptr, i32 } %2125, 0
  store ptr %2126, ptr %6, align 8
  %2127 = extractvalue { ptr, i32 } %2125, 1
  store i32 %2127, ptr %7, align 4
  br label %2137

2128:                                             ; preds = %2089
  %2129 = landingpad { ptr, i32 }
          cleanup
  %2130 = extractvalue { ptr, i32 } %2129, 0
  store ptr %2130, ptr %6, align 8
  %2131 = extractvalue { ptr, i32 } %2129, 1
  store i32 %2131, ptr %7, align 4
  br label %2136

2132:                                             ; preds = %2090
  %2133 = landingpad { ptr, i32 }
          cleanup
  %2134 = extractvalue { ptr, i32 } %2133, 0
  store ptr %2134, ptr %6, align 8
  %2135 = extractvalue { ptr, i32 } %2133, 1
  store i32 %2135, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #7
  br label %2136

2136:                                             ; preds = %2132, %2128
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #7
  br label %2137

2137:                                             ; preds = %2136, %2124
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #7
  br label %2138

2138:                                             ; preds = %2137, %2120
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #7
  br label %2139

2139:                                             ; preds = %2138, %2116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #7
  br label %2140

2140:                                             ; preds = %2139, %2112
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #7
  br label %2168

2141:                                             ; preds = %2110, %2092
  %2142 = landingpad { ptr, i32 }
          cleanup
  %2143 = extractvalue { ptr, i32 } %2142, 0
  store ptr %2143, ptr %6, align 8
  %2144 = extractvalue { ptr, i32 } %2142, 1
  store i32 %2144, ptr %7, align 4
  br label %2168

2145:                                             ; preds = %2094
  %2146 = landingpad { ptr, i32 }
          cleanup
  %2147 = extractvalue { ptr, i32 } %2146, 0
  store ptr %2147, ptr %6, align 8
  %2148 = extractvalue { ptr, i32 } %2146, 1
  store i32 %2148, ptr %7, align 4
  br label %2163

2149:                                             ; preds = %2099, %2097
  %2150 = landingpad { ptr, i32 }
          cleanup
  %2151 = extractvalue { ptr, i32 } %2150, 0
  store ptr %2151, ptr %6, align 8
  %2152 = extractvalue { ptr, i32 } %2150, 1
  store i32 %2152, ptr %7, align 4
  br label %2162

2153:                                             ; preds = %2101
  %2154 = landingpad { ptr, i32 }
          cleanup
  %2155 = extractvalue { ptr, i32 } %2154, 0
  store ptr %2155, ptr %6, align 8
  %2156 = extractvalue { ptr, i32 } %2154, 1
  store i32 %2156, ptr %7, align 4
  br label %2161

2157:                                             ; preds = %2108, %2106, %2104
  %2158 = landingpad { ptr, i32 }
          cleanup
  %2159 = extractvalue { ptr, i32 } %2158, 0
  store ptr %2159, ptr %6, align 8
  %2160 = extractvalue { ptr, i32 } %2158, 1
  store i32 %2160, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #7
  br label %2161

2161:                                             ; preds = %2157, %2153
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #7
  br label %2162

2162:                                             ; preds = %2161, %2149
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #7
  br label %2163

2163:                                             ; preds = %2162, %2145
  call void @llvm.lifetime.end.p0(i64 32, ptr %240) #7
  br label %2168

2164:                                             ; preds = %2111, %2075
  br label %2165

2165:                                             ; preds = %2164
  %2166 = load i64, ptr %233, align 8, !tbaa !9
  %2167 = add i64 %2166, 1
  store i64 %2167, ptr %233, align 8, !tbaa !9
  br label %2070, !llvm.loop !43

2168:                                             ; preds = %2163, %2141, %2140
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #7
  br label %2182

2169:                                             ; preds = %2074
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %188) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %187) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %187) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %168) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %168) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %167) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %167) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %164) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #7
  store i32 32, ptr %243, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #7
  store i32 32, ptr %244, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %245) #7
  %2170 = load i32, ptr %243, align 4, !tbaa !5
  %2171 = load i32, ptr %244, align 4, !tbaa !5
  %2172 = mul i32 %2170, %2171
  %2173 = mul i32 %2172, 4
  %2174 = zext i32 %2173 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %246) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2174, ptr noundef nonnull align 1 dereferenceable(1) %246)
          to label %2175 unwind label %2188

2175:                                             ; preds = %2169
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %246) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %247) #7
  store i64 0, ptr %247, align 8, !tbaa !9
  br label %2176

2176:                                             ; preds = %2206, %2175
  %2177 = load i64, ptr %247, align 8, !tbaa !9
  %2178 = add i64 %2177, 4
  %2179 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  %2180 = icmp ule i64 %2178, %2179
  br i1 %2180, label %2192, label %2181

2181:                                             ; preds = %2176
  call void @llvm.lifetime.end.p0(i64 8, ptr %247) #7
  br label %2209

2182:                                             ; preds = %2168, %2068, %2049, %1991, %1972, %1917, %1898, %1869, %1809
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %188) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %188) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %187) #7
  br label %2183

2183:                                             ; preds = %2182, %1805
  call void @llvm.lifetime.end.p0(i64 512, ptr %187) #7
  br label %2184

2184:                                             ; preds = %2183, %1804, %1744
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #7
  br label %2185

2185:                                             ; preds = %2184, %1740
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %168) #7
  br label %2186

2186:                                             ; preds = %2185, %1736
  call void @llvm.lifetime.end.p0(i64 512, ptr %168) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %167) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %167) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  br label %2187

2187:                                             ; preds = %2186, %1612
  call void @llvm.lifetime.end.p0(i64 24, ptr %164) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  br label %3671

2188:                                             ; preds = %2169
  %2189 = landingpad { ptr, i32 }
          cleanup
  %2190 = extractvalue { ptr, i32 } %2189, 0
  store ptr %2190, ptr %6, align 8
  %2191 = extractvalue { ptr, i32 } %2189, 1
  store i32 %2191, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %246) #7
  br label %2771

2192:                                             ; preds = %2176
  %2193 = load i64, ptr %247, align 8, !tbaa !9
  %2194 = trunc i64 %2193 to i8
  %2195 = load i64, ptr %247, align 8, !tbaa !9
  %2196 = add i64 %2195, 3
  %2197 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2196) #7
  store i8 %2194, ptr %2197, align 1, !tbaa !11
  %2198 = load i64, ptr %247, align 8, !tbaa !9
  %2199 = add i64 %2198, 2
  %2200 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2199) #7
  store i8 %2194, ptr %2200, align 1, !tbaa !11
  %2201 = load i64, ptr %247, align 8, !tbaa !9
  %2202 = add i64 %2201, 1
  %2203 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2202) #7
  store i8 %2194, ptr %2203, align 1, !tbaa !11
  %2204 = load i64, ptr %247, align 8, !tbaa !9
  %2205 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2204) #7
  store i8 %2194, ptr %2205, align 1, !tbaa !11
  br label %2206

2206:                                             ; preds = %2192
  %2207 = load i64, ptr %247, align 8, !tbaa !9
  %2208 = add i64 %2207, 4
  store i64 %2208, ptr %247, align 8, !tbaa !9
  br label %2176, !llvm.loop !44

2209:                                             ; preds = %2181
  call void @llvm.lifetime.start.p0(i64 24, ptr %248) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %248) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %249) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %249)
          to label %2210 unwind label %2320

2210:                                             ; preds = %2209
  %2211 = getelementptr inbounds %struct.LodePNGState, ptr %249, i32 0, i32 4
  %2212 = getelementptr inbounds %struct.LodePNGInfo, ptr %2211, i32 0, i32 35
  store i32 1, ptr %2212, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 32, ptr %250) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %251) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %251) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %250, ptr noundef @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %251)
          to label %2213 unwind label %2324

2213:                                             ; preds = %2210
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %251) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %251) #7
  %2214 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %250, i64 noundef 1)
          to label %2215 unwind label %2328

2215:                                             ; preds = %2213
  store i8 0, ptr %2214, align 1, !tbaa !11
  %2216 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %250, i64 noundef 0)
          to label %2217 unwind label %2328

2217:                                             ; preds = %2215
  store i8 0, ptr %2216, align 1, !tbaa !11
  %2218 = getelementptr inbounds %struct.LodePNGState, ptr %249, i32 0, i32 4
  %2219 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %250) #7
  %2220 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %250) #7
  %2221 = trunc i64 %2220 to i32
  %2222 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %2218, ptr noundef @.str.482, ptr noundef %2219, i32 noundef %2221)
          to label %2223 unwind label %2328

2223:                                             ; preds = %2217
  %2224 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef 0) #7
  %2225 = load i32, ptr %243, align 4, !tbaa !5
  %2226 = load i32, ptr %244, align 4, !tbaa !5
  %2227 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %248, ptr noundef %2224, i32 noundef %2225, i32 noundef %2226, ptr noundef nonnull align 8 dereferenceable(508) %249)
          to label %2228 unwind label %2328

2228:                                             ; preds = %2223
  store i32 %2227, ptr %242, align 4, !tbaa !5
  %2229 = load i32, ptr %242, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %252) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %253) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %254) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %255) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %254, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %255)
          to label %2230 unwind label %2332

2230:                                             ; preds = %2228
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %253, ptr noundef nonnull align 8 dereferenceable(32) %254, ptr noundef @.str.490)
          to label %2231 unwind label %2336

2231:                                             ; preds = %2230
  call void @llvm.lifetime.start.p0(i64 32, ptr %256) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %257) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %258) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #7
  store i1 false, ptr %260, align 1
  store i1 false, ptr %261, align 1
  store i1 false, ptr %263, align 1
  store i1 false, ptr %265, align 1
  store i1 false, ptr %266, align 1
  store i1 false, ptr %267, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %258)
          to label %2232 unwind label %2340

2232:                                             ; preds = %2231
  %2233 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %257) #7
  br i1 %2233, label %2234, label %2236

2234:                                             ; preds = %2232
  call void @llvm.lifetime.start.p0(i64 1, ptr %259) #7
  store i1 true, ptr %260, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #7
  store i1 true, ptr %261, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %256, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %259)
          to label %2235 unwind label %2344

2235:                                             ; preds = %2234
  br label %2239

2236:                                             ; preds = %2232
  call void @llvm.lifetime.start.p0(i64 32, ptr %262) #7
  store i1 true, ptr %263, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %264) #7
  store i1 true, ptr %265, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #7
  store i1 true, ptr %266, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %262, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %264)
          to label %2237 unwind label %2348

2237:                                             ; preds = %2236
  store i1 true, ptr %267, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %256, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %262)
          to label %2238 unwind label %2352

2238:                                             ; preds = %2237
  br label %2239

2239:                                             ; preds = %2238, %2235
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %252, ptr noundef nonnull align 8 dereferenceable(32) %253, ptr noundef nonnull align 8 dereferenceable(32) %256)
          to label %2240 unwind label %2356

2240:                                             ; preds = %2239
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %2229, ptr noundef nonnull align 8 dereferenceable(32) %252)
          to label %2241 unwind label %2360

2241:                                             ; preds = %2240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %252) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #7
  %2242 = load i1, ptr %267, align 1
  br i1 %2242, label %2243, label %2244

2243:                                             ; preds = %2241
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %262) #7
  br label %2244

2244:                                             ; preds = %2243, %2241
  %2245 = load i1, ptr %266, align 1
  br i1 %2245, label %2246, label %2247

2246:                                             ; preds = %2244
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #7
  br label %2247

2247:                                             ; preds = %2246, %2244
  %2248 = load i1, ptr %265, align 1
  br i1 %2248, label %2249, label %2250

2249:                                             ; preds = %2247
  call void @llvm.lifetime.end.p0(i64 1, ptr %264) #7
  br label %2250

2250:                                             ; preds = %2249, %2247
  %2251 = load i1, ptr %263, align 1
  br i1 %2251, label %2252, label %2253

2252:                                             ; preds = %2250
  call void @llvm.lifetime.end.p0(i64 32, ptr %262) #7
  br label %2253

2253:                                             ; preds = %2252, %2250
  %2254 = load i1, ptr %261, align 1
  br i1 %2254, label %2255, label %2256

2255:                                             ; preds = %2253
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #7
  br label %2256

2256:                                             ; preds = %2255, %2253
  %2257 = load i1, ptr %260, align 1
  br i1 %2257, label %2258, label %2259

2258:                                             ; preds = %2256
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #7
  br label %2259

2259:                                             ; preds = %2258, %2256
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %258) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %256) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %253) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %254) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %253) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %268) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %268)
          to label %2260 unwind label %2389

2260:                                             ; preds = %2259
  call void @llvm.lifetime.start.p0(i64 24, ptr %269) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  %2261 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %269, ptr noundef nonnull align 4 dereferenceable(4) %243, ptr noundef nonnull align 4 dereferenceable(4) %244, ptr noundef nonnull align 8 dereferenceable(508) %268, ptr noundef nonnull align 8 dereferenceable(24) %248)
          to label %2262 unwind label %2393

2262:                                             ; preds = %2260
  store i32 %2261, ptr %242, align 4, !tbaa !5
  %2263 = load i32, ptr %242, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %270) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %271) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %272) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %273) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %272, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %273)
          to label %2264 unwind label %2397

2264:                                             ; preds = %2262
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %271, ptr noundef nonnull align 8 dereferenceable(32) %272, ptr noundef @.str.491)
          to label %2265 unwind label %2401

2265:                                             ; preds = %2264
  call void @llvm.lifetime.start.p0(i64 32, ptr %274) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %275) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %276) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #7
  store i1 false, ptr %278, align 1
  store i1 false, ptr %279, align 1
  store i1 false, ptr %281, align 1
  store i1 false, ptr %283, align 1
  store i1 false, ptr %284, align 1
  store i1 false, ptr %285, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %275, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %276)
          to label %2266 unwind label %2405

2266:                                             ; preds = %2265
  %2267 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %275) #7
  br i1 %2267, label %2268, label %2270

2268:                                             ; preds = %2266
  call void @llvm.lifetime.start.p0(i64 1, ptr %277) #7
  store i1 true, ptr %278, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %277) #7
  store i1 true, ptr %279, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %274, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %277)
          to label %2269 unwind label %2409

2269:                                             ; preds = %2268
  br label %2273

2270:                                             ; preds = %2266
  call void @llvm.lifetime.start.p0(i64 32, ptr %280) #7
  store i1 true, ptr %281, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %282) #7
  store i1 true, ptr %283, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %282) #7
  store i1 true, ptr %284, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %280, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %282)
          to label %2271 unwind label %2413

2271:                                             ; preds = %2270
  store i1 true, ptr %285, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %274, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %280)
          to label %2272 unwind label %2417

2272:                                             ; preds = %2271
  br label %2273

2273:                                             ; preds = %2272, %2269
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %270, ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef nonnull align 8 dereferenceable(32) %274)
          to label %2274 unwind label %2421

2274:                                             ; preds = %2273
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %2263, ptr noundef nonnull align 8 dereferenceable(32) %270)
          to label %2275 unwind label %2425

2275:                                             ; preds = %2274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %274) #7
  %2276 = load i1, ptr %285, align 1
  br i1 %2276, label %2277, label %2278

2277:                                             ; preds = %2275
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %280) #7
  br label %2278

2278:                                             ; preds = %2277, %2275
  %2279 = load i1, ptr %284, align 1
  br i1 %2279, label %2280, label %2281

2280:                                             ; preds = %2278
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %282) #7
  br label %2281

2281:                                             ; preds = %2280, %2278
  %2282 = load i1, ptr %283, align 1
  br i1 %2282, label %2283, label %2284

2283:                                             ; preds = %2281
  call void @llvm.lifetime.end.p0(i64 1, ptr %282) #7
  br label %2284

2284:                                             ; preds = %2283, %2281
  %2285 = load i1, ptr %281, align 1
  br i1 %2285, label %2286, label %2287

2286:                                             ; preds = %2284
  call void @llvm.lifetime.end.p0(i64 32, ptr %280) #7
  br label %2287

2287:                                             ; preds = %2286, %2284
  %2288 = load i1, ptr %279, align 1
  br i1 %2288, label %2289, label %2290

2289:                                             ; preds = %2287
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %277) #7
  br label %2290

2290:                                             ; preds = %2289, %2287
  %2291 = load i1, ptr %278, align 1
  br i1 %2291, label %2292, label %2293

2292:                                             ; preds = %2290
  call void @llvm.lifetime.end.p0(i64 1, ptr %277) #7
  br label %2293

2293:                                             ; preds = %2292, %2290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %275) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %276) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %275) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %274) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %272) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %271) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %270) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %249, ptr noundef nonnull align 8 dereferenceable(508) %268)
          to label %2294 unwind label %2393

2294:                                             ; preds = %2293
  %2295 = load i32, ptr %243, align 4, !tbaa !5
  %2296 = icmp ne i32 32, %2295
  br i1 %2296, label %2297, label %2502

2297:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 32, ptr %286) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %287) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %288) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %289) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %290) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %291) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %290, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %291)
          to label %2298 unwind label %2454

2298:                                             ; preds = %2297
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %289, ptr noundef nonnull align 8 dereferenceable(32) %290, ptr noundef @.str.492)
          to label %2299 unwind label %2458

2299:                                             ; preds = %2298
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %288, ptr noundef nonnull align 8 dereferenceable(32) %289, ptr noundef @.str.3)
          to label %2300 unwind label %2462

2300:                                             ; preds = %2299
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %287, ptr noundef nonnull align 8 dereferenceable(32) %288, ptr noundef @.str.190)
          to label %2301 unwind label %2466

2301:                                             ; preds = %2300
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %286, ptr noundef nonnull align 8 dereferenceable(32) %287, ptr noundef @.str.18)
          to label %2302 unwind label %2470

2302:                                             ; preds = %2301
  %2303 = 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) %286)
          to label %2304 unwind label %2474

2304:                                             ; preds = %2302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %287) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %288) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %290) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %291) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %290) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %289) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %288) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #7
  %2305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2306 unwind label %2393

2306:                                             ; preds = %2304
  call void @llvm.lifetime.start.p0(i64 32, ptr %292) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #7
  store i32 32, ptr %293, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %292, ptr noundef nonnull align 4 dereferenceable(4) %293)
          to label %2307 unwind label %2483

2307:                                             ; preds = %2306
  %2308 = 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) %2305, ptr noundef nonnull align 8 dereferenceable(32) %292)
          to label %2309 unwind label %2487

2309:                                             ; preds = %2307
  %2310 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2308, ptr noundef @.str.20)
          to label %2311 unwind label %2487

2311:                                             ; preds = %2309
  call void @llvm.lifetime.start.p0(i64 32, ptr %294) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %294, ptr noundef nonnull align 4 dereferenceable(4) %243)
          to label %2312 unwind label %2491

2312:                                             ; preds = %2311
  %2313 = 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) %2310, ptr noundef nonnull align 8 dereferenceable(32) %294)
          to label %2314 unwind label %2495

2314:                                             ; preds = %2312
  %2315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2313, ptr noundef @.str.21)
          to label %2316 unwind label %2495

2316:                                             ; preds = %2314
  %2317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2315, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2318 unwind label %2495

2318:                                             ; preds = %2316
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %294) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %294) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %292) #7
  invoke void @_Z4failv()
          to label %2319 unwind label %2393

2319:                                             ; preds = %2318
  br label %2502

2320:                                             ; preds = %2209
  %2321 = landingpad { ptr, i32 }
          cleanup
  %2322 = extractvalue { ptr, i32 } %2321, 0
  store ptr %2322, ptr %6, align 8
  %2323 = extractvalue { ptr, i32 } %2321, 1
  store i32 %2323, ptr %7, align 4
  br label %2770

2324:                                             ; preds = %2210
  %2325 = landingpad { ptr, i32 }
          cleanup
  %2326 = extractvalue { ptr, i32 } %2325, 0
  store ptr %2326, ptr %6, align 8
  %2327 = extractvalue { ptr, i32 } %2325, 1
  store i32 %2327, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %251) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %251) #7
  br label %2769

2328:                                             ; preds = %2223, %2217, %2215, %2213
  %2329 = landingpad { ptr, i32 }
          cleanup
  %2330 = extractvalue { ptr, i32 } %2329, 0
  store ptr %2330, ptr %6, align 8
  %2331 = extractvalue { ptr, i32 } %2329, 1
  store i32 %2331, ptr %7, align 4
  br label %2768

2332:                                             ; preds = %2228
  %2333 = landingpad { ptr, i32 }
          cleanup
  %2334 = extractvalue { ptr, i32 } %2333, 0
  store ptr %2334, ptr %6, align 8
  %2335 = extractvalue { ptr, i32 } %2333, 1
  store i32 %2335, ptr %7, align 4
  br label %2388

2336:                                             ; preds = %2230
  %2337 = landingpad { ptr, i32 }
          cleanup
  %2338 = extractvalue { ptr, i32 } %2337, 0
  store ptr %2338, ptr %6, align 8
  %2339 = extractvalue { ptr, i32 } %2337, 1
  store i32 %2339, ptr %7, align 4
  br label %2387

2340:                                             ; preds = %2231
  %2341 = landingpad { ptr, i32 }
          cleanup
  %2342 = extractvalue { ptr, i32 } %2341, 0
  store ptr %2342, ptr %6, align 8
  %2343 = extractvalue { ptr, i32 } %2341, 1
  store i32 %2343, ptr %7, align 4
  br label %2386

2344:                                             ; preds = %2234
  %2345 = landingpad { ptr, i32 }
          cleanup
  %2346 = extractvalue { ptr, i32 } %2345, 0
  store ptr %2346, ptr %6, align 8
  %2347 = extractvalue { ptr, i32 } %2345, 1
  store i32 %2347, ptr %7, align 4
  br label %2379

2348:                                             ; preds = %2236
  %2349 = landingpad { ptr, i32 }
          cleanup
  %2350 = extractvalue { ptr, i32 } %2349, 0
  store ptr %2350, ptr %6, align 8
  %2351 = extractvalue { ptr, i32 } %2349, 1
  store i32 %2351, ptr %7, align 4
  br label %2369

2352:                                             ; preds = %2237
  %2353 = landingpad { ptr, i32 }
          cleanup
  %2354 = extractvalue { ptr, i32 } %2353, 0
  store ptr %2354, ptr %6, align 8
  %2355 = extractvalue { ptr, i32 } %2353, 1
  store i32 %2355, ptr %7, align 4
  br label %2365

2356:                                             ; preds = %2239
  %2357 = landingpad { ptr, i32 }
          cleanup
  %2358 = extractvalue { ptr, i32 } %2357, 0
  store ptr %2358, ptr %6, align 8
  %2359 = extractvalue { ptr, i32 } %2357, 1
  store i32 %2359, ptr %7, align 4
  br label %2364

2360:                                             ; preds = %2240
  %2361 = landingpad { ptr, i32 }
          cleanup
  %2362 = extractvalue { ptr, i32 } %2361, 0
  store ptr %2362, ptr %6, align 8
  %2363 = extractvalue { ptr, i32 } %2361, 1
  store i32 %2363, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %252) #7
  br label %2364

2364:                                             ; preds = %2360, %2356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #7
  br label %2365

2365:                                             ; preds = %2364, %2352
  %2366 = load i1, ptr %267, align 1
  br i1 %2366, label %2367, label %2368

2367:                                             ; preds = %2365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %262) #7
  br label %2368

2368:                                             ; preds = %2367, %2365
  br label %2369

2369:                                             ; preds = %2368, %2348
  %2370 = load i1, ptr %266, align 1
  br i1 %2370, label %2371, label %2372

2371:                                             ; preds = %2369
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #7
  br label %2372

2372:                                             ; preds = %2371, %2369
  %2373 = load i1, ptr %265, align 1
  br i1 %2373, label %2374, label %2375

2374:                                             ; preds = %2372
  call void @llvm.lifetime.end.p0(i64 1, ptr %264) #7
  br label %2375

2375:                                             ; preds = %2374, %2372
  %2376 = load i1, ptr %263, align 1
  br i1 %2376, label %2377, label %2378

2377:                                             ; preds = %2375
  call void @llvm.lifetime.end.p0(i64 32, ptr %262) #7
  br label %2378

2378:                                             ; preds = %2377, %2375
  br label %2379

2379:                                             ; preds = %2378, %2344
  %2380 = load i1, ptr %261, align 1
  br i1 %2380, label %2381, label %2382

2381:                                             ; preds = %2379
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %259) #7
  br label %2382

2382:                                             ; preds = %2381, %2379
  %2383 = load i1, ptr %260, align 1
  br i1 %2383, label %2384, label %2385

2384:                                             ; preds = %2382
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #7
  br label %2385

2385:                                             ; preds = %2384, %2382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #7
  br label %2386

2386:                                             ; preds = %2385, %2340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %258) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %256) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %253) #7
  br label %2387

2387:                                             ; preds = %2386, %2336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #7
  br label %2388

2388:                                             ; preds = %2387, %2332
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %254) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %253) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %252) #7
  br label %2768

2389:                                             ; preds = %2259
  %2390 = landingpad { ptr, i32 }
          cleanup
  %2391 = extractvalue { ptr, i32 } %2390, 0
  store ptr %2391, ptr %6, align 8
  %2392 = extractvalue { ptr, i32 } %2390, 1
  store i32 %2392, ptr %7, align 4
  br label %2767

2393:                                             ; preds = %2603, %2587, %2526, %2512, %2318, %2304, %2293, %2260
  %2394 = landingpad { ptr, i32 }
          cleanup
  %2395 = extractvalue { ptr, i32 } %2394, 0
  store ptr %2395, ptr %6, align 8
  %2396 = extractvalue { ptr, i32 } %2394, 1
  store i32 %2396, ptr %7, align 4
  br label %2766

2397:                                             ; preds = %2262
  %2398 = landingpad { ptr, i32 }
          cleanup
  %2399 = extractvalue { ptr, i32 } %2398, 0
  store ptr %2399, ptr %6, align 8
  %2400 = extractvalue { ptr, i32 } %2398, 1
  store i32 %2400, ptr %7, align 4
  br label %2453

2401:                                             ; preds = %2264
  %2402 = landingpad { ptr, i32 }
          cleanup
  %2403 = extractvalue { ptr, i32 } %2402, 0
  store ptr %2403, ptr %6, align 8
  %2404 = extractvalue { ptr, i32 } %2402, 1
  store i32 %2404, ptr %7, align 4
  br label %2452

2405:                                             ; preds = %2265
  %2406 = landingpad { ptr, i32 }
          cleanup
  %2407 = extractvalue { ptr, i32 } %2406, 0
  store ptr %2407, ptr %6, align 8
  %2408 = extractvalue { ptr, i32 } %2406, 1
  store i32 %2408, ptr %7, align 4
  br label %2451

2409:                                             ; preds = %2268
  %2410 = landingpad { ptr, i32 }
          cleanup
  %2411 = extractvalue { ptr, i32 } %2410, 0
  store ptr %2411, ptr %6, align 8
  %2412 = extractvalue { ptr, i32 } %2410, 1
  store i32 %2412, ptr %7, align 4
  br label %2444

2413:                                             ; preds = %2270
  %2414 = landingpad { ptr, i32 }
          cleanup
  %2415 = extractvalue { ptr, i32 } %2414, 0
  store ptr %2415, ptr %6, align 8
  %2416 = extractvalue { ptr, i32 } %2414, 1
  store i32 %2416, ptr %7, align 4
  br label %2434

2417:                                             ; preds = %2271
  %2418 = landingpad { ptr, i32 }
          cleanup
  %2419 = extractvalue { ptr, i32 } %2418, 0
  store ptr %2419, ptr %6, align 8
  %2420 = extractvalue { ptr, i32 } %2418, 1
  store i32 %2420, ptr %7, align 4
  br label %2430

2421:                                             ; preds = %2273
  %2422 = landingpad { ptr, i32 }
          cleanup
  %2423 = extractvalue { ptr, i32 } %2422, 0
  store ptr %2423, ptr %6, align 8
  %2424 = extractvalue { ptr, i32 } %2422, 1
  store i32 %2424, ptr %7, align 4
  br label %2429

2425:                                             ; preds = %2274
  %2426 = landingpad { ptr, i32 }
          cleanup
  %2427 = extractvalue { ptr, i32 } %2426, 0
  store ptr %2427, ptr %6, align 8
  %2428 = extractvalue { ptr, i32 } %2426, 1
  store i32 %2428, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #7
  br label %2429

2429:                                             ; preds = %2425, %2421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %274) #7
  br label %2430

2430:                                             ; preds = %2429, %2417
  %2431 = load i1, ptr %285, align 1
  br i1 %2431, label %2432, label %2433

2432:                                             ; preds = %2430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %280) #7
  br label %2433

2433:                                             ; preds = %2432, %2430
  br label %2434

2434:                                             ; preds = %2433, %2413
  %2435 = load i1, ptr %284, align 1
  br i1 %2435, label %2436, label %2437

2436:                                             ; preds = %2434
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %282) #7
  br label %2437

2437:                                             ; preds = %2436, %2434
  %2438 = load i1, ptr %283, align 1
  br i1 %2438, label %2439, label %2440

2439:                                             ; preds = %2437
  call void @llvm.lifetime.end.p0(i64 1, ptr %282) #7
  br label %2440

2440:                                             ; preds = %2439, %2437
  %2441 = load i1, ptr %281, align 1
  br i1 %2441, label %2442, label %2443

2442:                                             ; preds = %2440
  call void @llvm.lifetime.end.p0(i64 32, ptr %280) #7
  br label %2443

2443:                                             ; preds = %2442, %2440
  br label %2444

2444:                                             ; preds = %2443, %2409
  %2445 = load i1, ptr %279, align 1
  br i1 %2445, label %2446, label %2447

2446:                                             ; preds = %2444
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %277) #7
  br label %2447

2447:                                             ; preds = %2446, %2444
  %2448 = load i1, ptr %278, align 1
  br i1 %2448, label %2449, label %2450

2449:                                             ; preds = %2447
  call void @llvm.lifetime.end.p0(i64 1, ptr %277) #7
  br label %2450

2450:                                             ; preds = %2449, %2447
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %275) #7
  br label %2451

2451:                                             ; preds = %2450, %2405
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %276) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %275) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %274) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #7
  br label %2452

2452:                                             ; preds = %2451, %2401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %272) #7
  br label %2453

2453:                                             ; preds = %2452, %2397
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %273) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %271) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %270) #7
  br label %2766

2454:                                             ; preds = %2297
  %2455 = landingpad { ptr, i32 }
          cleanup
  %2456 = extractvalue { ptr, i32 } %2455, 0
  store ptr %2456, ptr %6, align 8
  %2457 = extractvalue { ptr, i32 } %2455, 1
  store i32 %2457, ptr %7, align 4
  br label %2482

2458:                                             ; preds = %2298
  %2459 = landingpad { ptr, i32 }
          cleanup
  %2460 = extractvalue { ptr, i32 } %2459, 0
  store ptr %2460, ptr %6, align 8
  %2461 = extractvalue { ptr, i32 } %2459, 1
  store i32 %2461, ptr %7, align 4
  br label %2481

2462:                                             ; preds = %2299
  %2463 = landingpad { ptr, i32 }
          cleanup
  %2464 = extractvalue { ptr, i32 } %2463, 0
  store ptr %2464, ptr %6, align 8
  %2465 = extractvalue { ptr, i32 } %2463, 1
  store i32 %2465, ptr %7, align 4
  br label %2480

2466:                                             ; preds = %2300
  %2467 = landingpad { ptr, i32 }
          cleanup
  %2468 = extractvalue { ptr, i32 } %2467, 0
  store ptr %2468, ptr %6, align 8
  %2469 = extractvalue { ptr, i32 } %2467, 1
  store i32 %2469, ptr %7, align 4
  br label %2479

2470:                                             ; preds = %2301
  %2471 = landingpad { ptr, i32 }
          cleanup
  %2472 = extractvalue { ptr, i32 } %2471, 0
  store ptr %2472, ptr %6, align 8
  %2473 = extractvalue { ptr, i32 } %2471, 1
  store i32 %2473, ptr %7, align 4
  br label %2478

2474:                                             ; preds = %2302
  %2475 = landingpad { ptr, i32 }
          cleanup
  %2476 = extractvalue { ptr, i32 } %2475, 0
  store ptr %2476, ptr %6, align 8
  %2477 = extractvalue { ptr, i32 } %2475, 1
  store i32 %2477, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #7
  br label %2478

2478:                                             ; preds = %2474, %2470
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %287) #7
  br label %2479

2479:                                             ; preds = %2478, %2466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %288) #7
  br label %2480

2480:                                             ; preds = %2479, %2462
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #7
  br label %2481

2481:                                             ; preds = %2480, %2458
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %290) #7
  br label %2482

2482:                                             ; preds = %2481, %2454
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %291) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %291) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %290) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %289) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %288) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %286) #7
  br label %2766

2483:                                             ; preds = %2306
  %2484 = landingpad { ptr, i32 }
          cleanup
  %2485 = extractvalue { ptr, i32 } %2484, 0
  store ptr %2485, ptr %6, align 8
  %2486 = extractvalue { ptr, i32 } %2484, 1
  store i32 %2486, ptr %7, align 4
  br label %2501

2487:                                             ; preds = %2309, %2307
  %2488 = landingpad { ptr, i32 }
          cleanup
  %2489 = extractvalue { ptr, i32 } %2488, 0
  store ptr %2489, ptr %6, align 8
  %2490 = extractvalue { ptr, i32 } %2488, 1
  store i32 %2490, ptr %7, align 4
  br label %2500

2491:                                             ; preds = %2311
  %2492 = landingpad { ptr, i32 }
          cleanup
  %2493 = extractvalue { ptr, i32 } %2492, 0
  store ptr %2493, ptr %6, align 8
  %2494 = extractvalue { ptr, i32 } %2492, 1
  store i32 %2494, ptr %7, align 4
  br label %2499

2495:                                             ; preds = %2316, %2314, %2312
  %2496 = landingpad { ptr, i32 }
          cleanup
  %2497 = extractvalue { ptr, i32 } %2496, 0
  store ptr %2497, ptr %6, align 8
  %2498 = extractvalue { ptr, i32 } %2496, 1
  store i32 %2498, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %294) #7
  br label %2499

2499:                                             ; preds = %2495, %2491
  call void @llvm.lifetime.end.p0(i64 32, ptr %294) #7
  br label %2500

2500:                                             ; preds = %2499, %2487
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #7
  br label %2501

2501:                                             ; preds = %2500, %2483
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %292) #7
  br label %2766

2502:                                             ; preds = %2319, %2294
  %2503 = load i32, ptr %244, align 4, !tbaa !5
  %2504 = icmp ne i32 32, %2503
  br i1 %2504, label %2505, label %2576

2505:                                             ; preds = %2502
  call void @llvm.lifetime.start.p0(i64 32, ptr %295) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %296) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %297) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %298) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %299) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %300) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %300) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %300)
          to label %2506 unwind label %2528

2506:                                             ; preds = %2505
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %298, ptr noundef nonnull align 8 dereferenceable(32) %299, ptr noundef @.str.493)
          to label %2507 unwind label %2532

2507:                                             ; preds = %2506
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %297, ptr noundef nonnull align 8 dereferenceable(32) %298, ptr noundef @.str.3)
          to label %2508 unwind label %2536

2508:                                             ; preds = %2507
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %296, ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef @.str.192)
          to label %2509 unwind label %2540

2509:                                             ; preds = %2508
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %295, ptr noundef nonnull align 8 dereferenceable(32) %296, ptr noundef @.str.18)
          to label %2510 unwind label %2544

2510:                                             ; preds = %2509
  %2511 = 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) %295)
          to label %2512 unwind label %2548

2512:                                             ; preds = %2510
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %295) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %296) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %300) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %300) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %299) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %298) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %296) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %295) #7
  %2513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2514 unwind label %2393

2514:                                             ; preds = %2512
  call void @llvm.lifetime.start.p0(i64 32, ptr %301) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #7
  store i32 32, ptr %302, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %301, ptr noundef nonnull align 4 dereferenceable(4) %302)
          to label %2515 unwind label %2557

2515:                                             ; preds = %2514
  %2516 = 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) %2513, ptr noundef nonnull align 8 dereferenceable(32) %301)
          to label %2517 unwind label %2561

2517:                                             ; preds = %2515
  %2518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2516, ptr noundef @.str.20)
          to label %2519 unwind label %2561

2519:                                             ; preds = %2517
  call void @llvm.lifetime.start.p0(i64 32, ptr %303) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %303, ptr noundef nonnull align 4 dereferenceable(4) %244)
          to label %2520 unwind label %2565

2520:                                             ; preds = %2519
  %2521 = 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) %2518, ptr noundef nonnull align 8 dereferenceable(32) %303)
          to label %2522 unwind label %2569

2522:                                             ; preds = %2520
  %2523 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2521, ptr noundef @.str.21)
          to label %2524 unwind label %2569

2524:                                             ; preds = %2522
  %2525 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2523, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2526 unwind label %2569

2526:                                             ; preds = %2524
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %303) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %303) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %301) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %301) #7
  invoke void @_Z4failv()
          to label %2527 unwind label %2393

2527:                                             ; preds = %2526
  br label %2576

2528:                                             ; preds = %2505
  %2529 = landingpad { ptr, i32 }
          cleanup
  %2530 = extractvalue { ptr, i32 } %2529, 0
  store ptr %2530, ptr %6, align 8
  %2531 = extractvalue { ptr, i32 } %2529, 1
  store i32 %2531, ptr %7, align 4
  br label %2556

2532:                                             ; preds = %2506
  %2533 = landingpad { ptr, i32 }
          cleanup
  %2534 = extractvalue { ptr, i32 } %2533, 0
  store ptr %2534, ptr %6, align 8
  %2535 = extractvalue { ptr, i32 } %2533, 1
  store i32 %2535, ptr %7, align 4
  br label %2555

2536:                                             ; preds = %2507
  %2537 = landingpad { ptr, i32 }
          cleanup
  %2538 = extractvalue { ptr, i32 } %2537, 0
  store ptr %2538, ptr %6, align 8
  %2539 = extractvalue { ptr, i32 } %2537, 1
  store i32 %2539, ptr %7, align 4
  br label %2554

2540:                                             ; preds = %2508
  %2541 = landingpad { ptr, i32 }
          cleanup
  %2542 = extractvalue { ptr, i32 } %2541, 0
  store ptr %2542, ptr %6, align 8
  %2543 = extractvalue { ptr, i32 } %2541, 1
  store i32 %2543, ptr %7, align 4
  br label %2553

2544:                                             ; preds = %2509
  %2545 = landingpad { ptr, i32 }
          cleanup
  %2546 = extractvalue { ptr, i32 } %2545, 0
  store ptr %2546, ptr %6, align 8
  %2547 = extractvalue { ptr, i32 } %2545, 1
  store i32 %2547, ptr %7, align 4
  br label %2552

2548:                                             ; preds = %2510
  %2549 = landingpad { ptr, i32 }
          cleanup
  %2550 = extractvalue { ptr, i32 } %2549, 0
  store ptr %2550, ptr %6, align 8
  %2551 = extractvalue { ptr, i32 } %2549, 1
  store i32 %2551, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %295) #7
  br label %2552

2552:                                             ; preds = %2548, %2544
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %296) #7
  br label %2553

2553:                                             ; preds = %2552, %2540
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #7
  br label %2554

2554:                                             ; preds = %2553, %2536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %298) #7
  br label %2555

2555:                                             ; preds = %2554, %2532
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #7
  br label %2556

2556:                                             ; preds = %2555, %2528
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %300) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %300) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %299) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %298) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %296) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %295) #7
  br label %2766

2557:                                             ; preds = %2514
  %2558 = landingpad { ptr, i32 }
          cleanup
  %2559 = extractvalue { ptr, i32 } %2558, 0
  store ptr %2559, ptr %6, align 8
  %2560 = extractvalue { ptr, i32 } %2558, 1
  store i32 %2560, ptr %7, align 4
  br label %2575

2561:                                             ; preds = %2517, %2515
  %2562 = landingpad { ptr, i32 }
          cleanup
  %2563 = extractvalue { ptr, i32 } %2562, 0
  store ptr %2563, ptr %6, align 8
  %2564 = extractvalue { ptr, i32 } %2562, 1
  store i32 %2564, ptr %7, align 4
  br label %2574

2565:                                             ; preds = %2519
  %2566 = landingpad { ptr, i32 }
          cleanup
  %2567 = extractvalue { ptr, i32 } %2566, 0
  store ptr %2567, ptr %6, align 8
  %2568 = extractvalue { ptr, i32 } %2566, 1
  store i32 %2568, ptr %7, align 4
  br label %2573

2569:                                             ; preds = %2524, %2522, %2520
  %2570 = landingpad { ptr, i32 }
          cleanup
  %2571 = extractvalue { ptr, i32 } %2570, 0
  store ptr %2571, ptr %6, align 8
  %2572 = extractvalue { ptr, i32 } %2570, 1
  store i32 %2572, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %303) #7
  br label %2573

2573:                                             ; preds = %2569, %2565
  call void @llvm.lifetime.end.p0(i64 32, ptr %303) #7
  br label %2574

2574:                                             ; preds = %2573, %2561
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %301) #7
  br label %2575

2575:                                             ; preds = %2574, %2557
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %301) #7
  br label %2766

2576:                                             ; preds = %2527, %2502
  %2577 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  %2578 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  %2579 = icmp ne i64 %2577, %2578
  br i1 %2579, label %2580, label %2653

2580:                                             ; preds = %2576
  call void @llvm.lifetime.start.p0(i64 32, ptr %304) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %305) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %306) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %307) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %308) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %309) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %309) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %308, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %309)
          to label %2581 unwind label %2605

2581:                                             ; preds = %2580
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %307, ptr noundef nonnull align 8 dereferenceable(32) %308, ptr noundef @.str.494)
          to label %2582 unwind label %2609

2582:                                             ; preds = %2581
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %306, ptr noundef nonnull align 8 dereferenceable(32) %307, ptr noundef @.str.3)
          to label %2583 unwind label %2613

2583:                                             ; preds = %2582
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %305, ptr noundef nonnull align 8 dereferenceable(32) %306, ptr noundef @.str.293)
          to label %2584 unwind label %2617

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

2585:                                             ; preds = %2584
  %2586 = 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) %304)
          to label %2587 unwind label %2625

2587:                                             ; preds = %2585
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %304) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %307) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %308) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %309) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %308) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %306) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %305) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %304) #7
  %2588 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2589 unwind label %2393

2589:                                             ; preds = %2587
  call void @llvm.lifetime.start.p0(i64 32, ptr %310) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %311) #7
  %2590 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  store i64 %2590, ptr %311, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %310, ptr noundef nonnull align 8 dereferenceable(8) %311)
          to label %2591 unwind label %2634

2591:                                             ; preds = %2589
  %2592 = 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) %2588, ptr noundef nonnull align 8 dereferenceable(32) %310)
          to label %2593 unwind label %2638

2593:                                             ; preds = %2591
  %2594 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2592, ptr noundef @.str.20)
          to label %2595 unwind label %2638

2595:                                             ; preds = %2593
  call void @llvm.lifetime.start.p0(i64 32, ptr %312) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #7
  %2596 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  store i64 %2596, ptr %313, align 8, !tbaa !9
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %312, ptr noundef nonnull align 8 dereferenceable(8) %313)
          to label %2597 unwind label %2642

2597:                                             ; preds = %2595
  %2598 = 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) %2594, ptr noundef nonnull align 8 dereferenceable(32) %312)
          to label %2599 unwind label %2646

2599:                                             ; preds = %2597
  %2600 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2598, ptr noundef @.str.21)
          to label %2601 unwind label %2646

2601:                                             ; preds = %2599
  %2602 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2600, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2603 unwind label %2646

2603:                                             ; preds = %2601
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %312) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %312) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %310) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %310) #7
  invoke void @_Z4failv()
          to label %2604 unwind label %2393

2604:                                             ; preds = %2603
  br label %2653

2605:                                             ; preds = %2580
  %2606 = landingpad { ptr, i32 }
          cleanup
  %2607 = extractvalue { ptr, i32 } %2606, 0
  store ptr %2607, ptr %6, align 8
  %2608 = extractvalue { ptr, i32 } %2606, 1
  store i32 %2608, ptr %7, align 4
  br label %2633

2609:                                             ; preds = %2581
  %2610 = landingpad { ptr, i32 }
          cleanup
  %2611 = extractvalue { ptr, i32 } %2610, 0
  store ptr %2611, ptr %6, align 8
  %2612 = extractvalue { ptr, i32 } %2610, 1
  store i32 %2612, ptr %7, align 4
  br label %2632

2613:                                             ; preds = %2582
  %2614 = landingpad { ptr, i32 }
          cleanup
  %2615 = extractvalue { ptr, i32 } %2614, 0
  store ptr %2615, ptr %6, align 8
  %2616 = extractvalue { ptr, i32 } %2614, 1
  store i32 %2616, ptr %7, align 4
  br label %2631

2617:                                             ; preds = %2583
  %2618 = landingpad { ptr, i32 }
          cleanup
  %2619 = extractvalue { ptr, i32 } %2618, 0
  store ptr %2619, ptr %6, align 8
  %2620 = extractvalue { ptr, i32 } %2618, 1
  store i32 %2620, ptr %7, align 4
  br label %2630

2621:                                             ; preds = %2584
  %2622 = landingpad { ptr, i32 }
          cleanup
  %2623 = extractvalue { ptr, i32 } %2622, 0
  store ptr %2623, ptr %6, align 8
  %2624 = extractvalue { ptr, i32 } %2622, 1
  store i32 %2624, ptr %7, align 4
  br label %2629

2625:                                             ; preds = %2585
  %2626 = landingpad { ptr, i32 }
          cleanup
  %2627 = extractvalue { ptr, i32 } %2626, 0
  store ptr %2627, ptr %6, align 8
  %2628 = extractvalue { ptr, i32 } %2626, 1
  store i32 %2628, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %304) #7
  br label %2629

2629:                                             ; preds = %2625, %2621
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %305) #7
  br label %2630

2630:                                             ; preds = %2629, %2617
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #7
  br label %2631

2631:                                             ; preds = %2630, %2613
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %307) #7
  br label %2632

2632:                                             ; preds = %2631, %2609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %308) #7
  br label %2633

2633:                                             ; preds = %2632, %2605
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %309) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %308) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %306) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %305) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %304) #7
  br label %2766

2634:                                             ; preds = %2589
  %2635 = landingpad { ptr, i32 }
          cleanup
  %2636 = extractvalue { ptr, i32 } %2635, 0
  store ptr %2636, ptr %6, align 8
  %2637 = extractvalue { ptr, i32 } %2635, 1
  store i32 %2637, ptr %7, align 4
  br label %2652

2638:                                             ; preds = %2593, %2591
  %2639 = landingpad { ptr, i32 }
          cleanup
  %2640 = extractvalue { ptr, i32 } %2639, 0
  store ptr %2640, ptr %6, align 8
  %2641 = extractvalue { ptr, i32 } %2639, 1
  store i32 %2641, ptr %7, align 4
  br label %2651

2642:                                             ; preds = %2595
  %2643 = landingpad { ptr, i32 }
          cleanup
  %2644 = extractvalue { ptr, i32 } %2643, 0
  store ptr %2644, ptr %6, align 8
  %2645 = extractvalue { ptr, i32 } %2643, 1
  store i32 %2645, ptr %7, align 4
  br label %2650

2646:                                             ; preds = %2601, %2599, %2597
  %2647 = landingpad { ptr, i32 }
          cleanup
  %2648 = extractvalue { ptr, i32 } %2647, 0
  store ptr %2648, ptr %6, align 8
  %2649 = extractvalue { ptr, i32 } %2647, 1
  store i32 %2649, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %312) #7
  br label %2650

2650:                                             ; preds = %2646, %2642
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %312) #7
  br label %2651

2651:                                             ; preds = %2650, %2638
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %310) #7
  br label %2652

2652:                                             ; preds = %2651, %2634
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %310) #7
  br label %2766

2653:                                             ; preds = %2604, %2576
  call void @llvm.lifetime.start.p0(i64 8, ptr %314) #7
  store i64 0, ptr %314, align 8, !tbaa !9
  br label %2654

2654:                                             ; preds = %2749, %2653
  %2655 = load i64, ptr %314, align 8, !tbaa !9
  %2656 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  %2657 = icmp ult i64 %2655, %2656
  br i1 %2657, label %2659, label %2658

2658:                                             ; preds = %2654
  call void @llvm.lifetime.end.p0(i64 8, ptr %314) #7
  br label %2753

2659:                                             ; preds = %2654
  %2660 = load i64, ptr %314, align 8, !tbaa !9
  %2661 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2660) #7
  %2662 = load i8, ptr %2661, align 1, !tbaa !11
  %2663 = zext i8 %2662 to i32
  %2664 = load i64, ptr %314, align 8, !tbaa !9
  %2665 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %269, i64 noundef %2664) #7
  %2666 = load i8, ptr %2665, align 1, !tbaa !11
  %2667 = zext i8 %2666 to i32
  %2668 = icmp ne i32 %2663, %2667
  br i1 %2668, label %2669, label %2748

2669:                                             ; preds = %2659
  call void @llvm.lifetime.start.p0(i64 32, ptr %315) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %316) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %317) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %318) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %319) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %320) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %320) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %319, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %320)
          to label %2670 unwind label %2696

2670:                                             ; preds = %2669
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %318, ptr noundef nonnull align 8 dereferenceable(32) %319, ptr noundef @.str.495)
          to label %2671 unwind label %2700

2671:                                             ; preds = %2670
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %317, ptr noundef nonnull align 8 dereferenceable(32) %318, ptr noundef @.str.3)
          to label %2672 unwind label %2704

2672:                                             ; preds = %2671
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %316, ptr noundef nonnull align 8 dereferenceable(32) %317, ptr noundef @.str.295)
          to label %2673 unwind label %2708

2673:                                             ; preds = %2672
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %315, ptr noundef nonnull align 8 dereferenceable(32) %316, ptr noundef @.str.18)
          to label %2674 unwind label %2712

2674:                                             ; preds = %2673
  %2675 = 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) %315)
          to label %2676 unwind label %2716

2676:                                             ; preds = %2674
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %315) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %316) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %317) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %318) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %319) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %320) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %320) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %319) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %318) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %316) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %315) #7
  %2677 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %2678 unwind label %2725

2678:                                             ; preds = %2676
  call void @llvm.lifetime.start.p0(i64 32, ptr %321) #7
  %2679 = load i64, ptr %314, align 8, !tbaa !9
  %2680 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %2679) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %321, ptr noundef nonnull align 1 dereferenceable(1) %2680)
          to label %2681 unwind label %2729

2681:                                             ; preds = %2678
  %2682 = 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) %2677, ptr noundef nonnull align 8 dereferenceable(32) %321)
          to label %2683 unwind label %2733

2683:                                             ; preds = %2681
  %2684 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2682, ptr noundef @.str.20)
          to label %2685 unwind label %2733

2685:                                             ; preds = %2683
  call void @llvm.lifetime.start.p0(i64 32, ptr %322) #7
  %2686 = load i64, ptr %314, align 8, !tbaa !9
  %2687 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %269, i64 noundef %2686) #7
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %322, ptr noundef nonnull align 1 dereferenceable(1) %2687)
          to label %2688 unwind label %2737

2688:                                             ; preds = %2685
  %2689 = 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) %2684, ptr noundef nonnull align 8 dereferenceable(32) %322)
          to label %2690 unwind label %2741

2690:                                             ; preds = %2688
  %2691 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2689, ptr noundef @.str.21)
          to label %2692 unwind label %2741

2692:                                             ; preds = %2690
  %2693 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2691, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2694 unwind label %2741

2694:                                             ; preds = %2692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %322) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %321) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %321) #7
  invoke void @_Z4failv()
          to label %2695 unwind label %2725

2695:                                             ; preds = %2694
  br label %2748

2696:                                             ; preds = %2669
  %2697 = landingpad { ptr, i32 }
          cleanup
  %2698 = extractvalue { ptr, i32 } %2697, 0
  store ptr %2698, ptr %6, align 8
  %2699 = extractvalue { ptr, i32 } %2697, 1
  store i32 %2699, ptr %7, align 4
  br label %2724

2700:                                             ; preds = %2670
  %2701 = landingpad { ptr, i32 }
          cleanup
  %2702 = extractvalue { ptr, i32 } %2701, 0
  store ptr %2702, ptr %6, align 8
  %2703 = extractvalue { ptr, i32 } %2701, 1
  store i32 %2703, ptr %7, align 4
  br label %2723

2704:                                             ; preds = %2671
  %2705 = landingpad { ptr, i32 }
          cleanup
  %2706 = extractvalue { ptr, i32 } %2705, 0
  store ptr %2706, ptr %6, align 8
  %2707 = extractvalue { ptr, i32 } %2705, 1
  store i32 %2707, ptr %7, align 4
  br label %2722

2708:                                             ; preds = %2672
  %2709 = landingpad { ptr, i32 }
          cleanup
  %2710 = extractvalue { ptr, i32 } %2709, 0
  store ptr %2710, ptr %6, align 8
  %2711 = extractvalue { ptr, i32 } %2709, 1
  store i32 %2711, ptr %7, align 4
  br label %2721

2712:                                             ; preds = %2673
  %2713 = landingpad { ptr, i32 }
          cleanup
  %2714 = extractvalue { ptr, i32 } %2713, 0
  store ptr %2714, ptr %6, align 8
  %2715 = extractvalue { ptr, i32 } %2713, 1
  store i32 %2715, ptr %7, align 4
  br label %2720

2716:                                             ; preds = %2674
  %2717 = landingpad { ptr, i32 }
          cleanup
  %2718 = extractvalue { ptr, i32 } %2717, 0
  store ptr %2718, ptr %6, align 8
  %2719 = extractvalue { ptr, i32 } %2717, 1
  store i32 %2719, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %315) #7
  br label %2720

2720:                                             ; preds = %2716, %2712
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %316) #7
  br label %2721

2721:                                             ; preds = %2720, %2708
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %317) #7
  br label %2722

2722:                                             ; preds = %2721, %2704
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %318) #7
  br label %2723

2723:                                             ; preds = %2722, %2700
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %319) #7
  br label %2724

2724:                                             ; preds = %2723, %2696
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %320) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %320) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %319) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %318) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %316) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %315) #7
  br label %2752

2725:                                             ; preds = %2694, %2676
  %2726 = landingpad { ptr, i32 }
          cleanup
  %2727 = extractvalue { ptr, i32 } %2726, 0
  store ptr %2727, ptr %6, align 8
  %2728 = extractvalue { ptr, i32 } %2726, 1
  store i32 %2728, ptr %7, align 4
  br label %2752

2729:                                             ; preds = %2678
  %2730 = landingpad { ptr, i32 }
          cleanup
  %2731 = extractvalue { ptr, i32 } %2730, 0
  store ptr %2731, ptr %6, align 8
  %2732 = extractvalue { ptr, i32 } %2730, 1
  store i32 %2732, ptr %7, align 4
  br label %2747

2733:                                             ; preds = %2683, %2681
  %2734 = landingpad { ptr, i32 }
          cleanup
  %2735 = extractvalue { ptr, i32 } %2734, 0
  store ptr %2735, ptr %6, align 8
  %2736 = extractvalue { ptr, i32 } %2734, 1
  store i32 %2736, ptr %7, align 4
  br label %2746

2737:                                             ; preds = %2685
  %2738 = landingpad { ptr, i32 }
          cleanup
  %2739 = extractvalue { ptr, i32 } %2738, 0
  store ptr %2739, ptr %6, align 8
  %2740 = extractvalue { ptr, i32 } %2738, 1
  store i32 %2740, ptr %7, align 4
  br label %2745

2741:                                             ; preds = %2692, %2690, %2688
  %2742 = landingpad { ptr, i32 }
          cleanup
  %2743 = extractvalue { ptr, i32 } %2742, 0
  store ptr %2743, ptr %6, align 8
  %2744 = extractvalue { ptr, i32 } %2742, 1
  store i32 %2744, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #7
  br label %2745

2745:                                             ; preds = %2741, %2737
  call void @llvm.lifetime.end.p0(i64 32, ptr %322) #7
  br label %2746

2746:                                             ; preds = %2745, %2733
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %321) #7
  br label %2747

2747:                                             ; preds = %2746, %2729
  call void @llvm.lifetime.end.p0(i64 32, ptr %321) #7
  br label %2752

2748:                                             ; preds = %2695, %2659
  br label %2749

2749:                                             ; preds = %2748
  %2750 = load i64, ptr %314, align 8, !tbaa !9
  %2751 = add i64 %2750, 1
  store i64 %2751, ptr %314, align 8, !tbaa !9
  br label %2654, !llvm.loop !45

2752:                                             ; preds = %2747, %2725, %2724
  call void @llvm.lifetime.end.p0(i64 8, ptr %314) #7
  br label %2766

2753:                                             ; preds = %2658
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %269) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %268) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %268) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %250) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %249) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %249) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %248) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %248) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %245) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #7
  store i32 32, ptr %324, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #7
  store i32 32, ptr %325, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %326) #7
  %2754 = load i32, ptr %324, align 4, !tbaa !5
  %2755 = load i32, ptr %325, align 4, !tbaa !5
  %2756 = mul i32 %2754, %2755
  %2757 = mul i32 %2756, 4
  %2758 = zext i32 %2757 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %327) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %2758, ptr noundef nonnull align 1 dereferenceable(1) %327)
          to label %2759 unwind label %2772

2759:                                             ; preds = %2753
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %327) #7
  call void @llvm.lifetime.start.p0(i64 12, ptr %328) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %328, ptr align 4 @__const._Z16testColorProfilev.colors, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %329) #7
  store i64 0, ptr %329, align 8, !tbaa !9
  br label %2760

2760:                                             ; preds = %2794, %2759
  %2761 = load i64, ptr %329, align 8, !tbaa !9
  %2762 = add i64 %2761, 4
  %2763 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %326) #7
  %2764 = icmp ule i64 %2762, %2763
  br i1 %2764, label %2776, label %2765

2765:                                             ; preds = %2760
  call void @llvm.lifetime.end.p0(i64 8, ptr %329) #7
  br label %2797

2766:                                             ; preds = %2752, %2652, %2633, %2575, %2556, %2501, %2482, %2453, %2393
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %269) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %268) #7
  br label %2767

2767:                                             ; preds = %2766, %2389
  call void @llvm.lifetime.end.p0(i64 512, ptr %268) #7
  br label %2768

2768:                                             ; preds = %2767, %2388, %2328
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %250) #7
  br label %2769

2769:                                             ; preds = %2768, %2324
  call void @llvm.lifetime.end.p0(i64 32, ptr %250) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %249) #7
  br label %2770

2770:                                             ; preds = %2769, %2320
  call void @llvm.lifetime.end.p0(i64 512, ptr %249) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %248) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %248) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %245) #7
  br label %2771

2771:                                             ; preds = %2770, %2188
  call void @llvm.lifetime.end.p0(i64 24, ptr %245) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  br label %3671

2772:                                             ; preds = %2753
  %2773 = landingpad { ptr, i32 }
          cleanup
  %2774 = extractvalue { ptr, i32 } %2773, 0
  store ptr %2774, ptr %6, align 8
  %2775 = extractvalue { ptr, i32 } %2773, 1
  store i32 %2775, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %327) #7
  br label %3114

2776:                                             ; preds = %2760
  %2777 = load i64, ptr %329, align 8, !tbaa !9
  %2778 = udiv i64 %2777, 4
  %2779 = urem i64 %2778, 3
  %2780 = getelementptr inbounds [3 x i32], ptr %328, i64 0, i64 %2779
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = trunc i32 %2781 to i8
  %2783 = load i64, ptr %329, align 8, !tbaa !9
  %2784 = add i64 %2783, 3
  %2785 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %2784) #7
  store i8 %2782, ptr %2785, align 1, !tbaa !11
  %2786 = load i64, ptr %329, align 8, !tbaa !9
  %2787 = add i64 %2786, 2
  %2788 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %2787) #7
  store i8 %2782, ptr %2788, align 1, !tbaa !11
  %2789 = load i64, ptr %329, align 8, !tbaa !9
  %2790 = add i64 %2789, 1
  %2791 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %2790) #7
  store i8 %2782, ptr %2791, align 1, !tbaa !11
  %2792 = load i64, ptr %329, align 8, !tbaa !9
  %2793 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %2792) #7
  store i8 %2782, ptr %2793, align 1, !tbaa !11
  br label %2794

2794:                                             ; preds = %2776
  %2795 = load i64, ptr %329, align 8, !tbaa !9
  %2796 = add i64 %2795, 4
  store i64 %2796, ptr %329, align 8, !tbaa !9
  br label %2760, !llvm.loop !46

2797:                                             ; preds = %2765
  call void @llvm.lifetime.start.p0(i64 24, ptr %330) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %330) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %331) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %331)
          to label %2798 unwind label %2914

2798:                                             ; preds = %2797
  %2799 = getelementptr inbounds %struct.LodePNGState, ptr %331, i32 0, i32 4
  %2800 = getelementptr inbounds %struct.LodePNGInfo, ptr %2799, i32 0, i32 35
  store i32 1, ptr %2800, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 32, ptr %332) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %333) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %333) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %332, ptr noundef @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %333)
          to label %2801 unwind label %2918

2801:                                             ; preds = %2798
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %333) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %333) #7
  %2802 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %332, i64 noundef 1)
          to label %2803 unwind label %2922

2803:                                             ; preds = %2801
  store i8 0, ptr %2802, align 1, !tbaa !11
  %2804 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %332, i64 noundef 0)
          to label %2805 unwind label %2922

2805:                                             ; preds = %2803
  store i8 0, ptr %2804, align 1, !tbaa !11
  %2806 = getelementptr inbounds %struct.LodePNGState, ptr %331, i32 0, i32 4
  %2807 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %332) #7
  %2808 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %332) #7
  %2809 = trunc i64 %2808 to i32
  %2810 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %2806, ptr noundef @.str.482, ptr noundef %2807, i32 noundef %2809)
          to label %2811 unwind label %2922

2811:                                             ; preds = %2805
  %2812 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef 0) #7
  %2813 = load i32, ptr %324, align 4, !tbaa !5
  %2814 = load i32, ptr %325, align 4, !tbaa !5
  %2815 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %330, ptr noundef %2812, i32 noundef %2813, i32 noundef %2814, ptr noundef nonnull align 8 dereferenceable(508) %331)
          to label %2816 unwind label %2922

2816:                                             ; preds = %2811
  store i32 %2815, ptr %323, align 4, !tbaa !5
  %2817 = load i32, ptr %323, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %334) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %335) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %336) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %337) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %336, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %337)
          to label %2818 unwind label %2926

2818:                                             ; preds = %2816
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %335, ptr noundef nonnull align 8 dereferenceable(32) %336, ptr noundef @.str.496)
          to label %2819 unwind label %2930

2819:                                             ; preds = %2818
  call void @llvm.lifetime.start.p0(i64 32, ptr %338) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %339) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %340) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %340) #7
  store i1 false, ptr %342, align 1
  store i1 false, ptr %343, align 1
  store i1 false, ptr %345, align 1
  store i1 false, ptr %347, align 1
  store i1 false, ptr %348, align 1
  store i1 false, ptr %349, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %339, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %340)
          to label %2820 unwind label %2934

2820:                                             ; preds = %2819
  %2821 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %339) #7
  br i1 %2821, label %2822, label %2824

2822:                                             ; preds = %2820
  call void @llvm.lifetime.start.p0(i64 1, ptr %341) #7
  store i1 true, ptr %342, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %341) #7
  store i1 true, ptr %343, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %338, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %341)
          to label %2823 unwind label %2938

2823:                                             ; preds = %2822
  br label %2827

2824:                                             ; preds = %2820
  call void @llvm.lifetime.start.p0(i64 32, ptr %344) #7
  store i1 true, ptr %345, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %346) #7
  store i1 true, ptr %347, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %346) #7
  store i1 true, ptr %348, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %344, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %346)
          to label %2825 unwind label %2942

2825:                                             ; preds = %2824
  store i1 true, ptr %349, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %338, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %344)
          to label %2826 unwind label %2946

2826:                                             ; preds = %2825
  br label %2827

2827:                                             ; preds = %2826, %2823
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %334, ptr noundef nonnull align 8 dereferenceable(32) %335, ptr noundef nonnull align 8 dereferenceable(32) %338)
          to label %2828 unwind label %2950

2828:                                             ; preds = %2827
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %2817, ptr noundef nonnull align 8 dereferenceable(32) %334)
          to label %2829 unwind label %2954

2829:                                             ; preds = %2828
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %334) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %338) #7
  %2830 = load i1, ptr %349, align 1
  br i1 %2830, label %2831, label %2832

2831:                                             ; preds = %2829
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %344) #7
  br label %2832

2832:                                             ; preds = %2831, %2829
  %2833 = load i1, ptr %348, align 1
  br i1 %2833, label %2834, label %2835

2834:                                             ; preds = %2832
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %346) #7
  br label %2835

2835:                                             ; preds = %2834, %2832
  %2836 = load i1, ptr %347, align 1
  br i1 %2836, label %2837, label %2838

2837:                                             ; preds = %2835
  call void @llvm.lifetime.end.p0(i64 1, ptr %346) #7
  br label %2838

2838:                                             ; preds = %2837, %2835
  %2839 = load i1, ptr %345, align 1
  br i1 %2839, label %2840, label %2841

2840:                                             ; preds = %2838
  call void @llvm.lifetime.end.p0(i64 32, ptr %344) #7
  br label %2841

2841:                                             ; preds = %2840, %2838
  %2842 = load i1, ptr %343, align 1
  br i1 %2842, label %2843, label %2844

2843:                                             ; preds = %2841
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %341) #7
  br label %2844

2844:                                             ; preds = %2843, %2841
  %2845 = load i1, ptr %342, align 1
  br i1 %2845, label %2846, label %2847

2846:                                             ; preds = %2844
  call void @llvm.lifetime.end.p0(i64 1, ptr %341) #7
  br label %2847

2847:                                             ; preds = %2846, %2844
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %339) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %340) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %340) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %339) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %338) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %335) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %336) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %336) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %335) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %334) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %350) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %350)
          to label %2848 unwind label %2983

2848:                                             ; preds = %2847
  call void @llvm.lifetime.start.p0(i64 24, ptr %351) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #7
  %2849 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %351, ptr noundef nonnull align 4 dereferenceable(4) %324, ptr noundef nonnull align 4 dereferenceable(4) %325, ptr noundef nonnull align 8 dereferenceable(508) %350, ptr noundef nonnull align 8 dereferenceable(24) %330)
          to label %2850 unwind label %2987

2850:                                             ; preds = %2848
  store i32 %2849, ptr %323, align 4, !tbaa !5
  %2851 = load i32, ptr %323, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %352) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %353) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %354) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %355) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %355) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %354, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %355)
          to label %2852 unwind label %2991

2852:                                             ; preds = %2850
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %353, ptr noundef nonnull align 8 dereferenceable(32) %354, ptr noundef @.str.497)
          to label %2853 unwind label %2995

2853:                                             ; preds = %2852
  call void @llvm.lifetime.start.p0(i64 32, ptr %356) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %357) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %358) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %358) #7
  store i1 false, ptr %360, align 1
  store i1 false, ptr %361, align 1
  store i1 false, ptr %363, align 1
  store i1 false, ptr %365, align 1
  store i1 false, ptr %366, align 1
  store i1 false, ptr %367, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %357, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %358)
          to label %2854 unwind label %2999

2854:                                             ; preds = %2853
  %2855 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %357) #7
  br i1 %2855, label %2856, label %2858

2856:                                             ; preds = %2854
  call void @llvm.lifetime.start.p0(i64 1, ptr %359) #7
  store i1 true, ptr %360, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #7
  store i1 true, ptr %361, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %356, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %359)
          to label %2857 unwind label %3003

2857:                                             ; preds = %2856
  br label %2861

2858:                                             ; preds = %2854
  call void @llvm.lifetime.start.p0(i64 32, ptr %362) #7
  store i1 true, ptr %363, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %364) #7
  store i1 true, ptr %365, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %364) #7
  store i1 true, ptr %366, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %362, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %364)
          to label %2859 unwind label %3007

2859:                                             ; preds = %2858
  store i1 true, ptr %367, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %356, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %362)
          to label %2860 unwind label %3011

2860:                                             ; preds = %2859
  br label %2861

2861:                                             ; preds = %2860, %2857
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %352, ptr noundef nonnull align 8 dereferenceable(32) %353, ptr noundef nonnull align 8 dereferenceable(32) %356)
          to label %2862 unwind label %3015

2862:                                             ; preds = %2861
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %2851, ptr noundef nonnull align 8 dereferenceable(32) %352)
          to label %2863 unwind label %3019

2863:                                             ; preds = %2862
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %352) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #7
  %2864 = load i1, ptr %367, align 1
  br i1 %2864, label %2865, label %2866

2865:                                             ; preds = %2863
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %362) #7
  br label %2866

2866:                                             ; preds = %2865, %2863
  %2867 = load i1, ptr %366, align 1
  br i1 %2867, label %2868, label %2869

2868:                                             ; preds = %2866
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %364) #7
  br label %2869

2869:                                             ; preds = %2868, %2866
  %2870 = load i1, ptr %365, align 1
  br i1 %2870, label %2871, label %2872

2871:                                             ; preds = %2869
  call void @llvm.lifetime.end.p0(i64 1, ptr %364) #7
  br label %2872

2872:                                             ; preds = %2871, %2869
  %2873 = load i1, ptr %363, align 1
  br i1 %2873, label %2874, label %2875

2874:                                             ; preds = %2872
  call void @llvm.lifetime.end.p0(i64 32, ptr %362) #7
  br label %2875

2875:                                             ; preds = %2874, %2872
  %2876 = load i1, ptr %361, align 1
  br i1 %2876, label %2877, label %2878

2877:                                             ; preds = %2875
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #7
  br label %2878

2878:                                             ; preds = %2877, %2875
  %2879 = load i1, ptr %360, align 1
  br i1 %2879, label %2880, label %2881

2880:                                             ; preds = %2878
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #7
  br label %2881

2881:                                             ; preds = %2880, %2878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %358) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %358) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %357) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %356) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %354) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %355) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %355) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %354) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %353) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %352) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %331, ptr noundef nonnull align 8 dereferenceable(508) %350)
          to label %2882 unwind label %2987

2882:                                             ; preds = %2881
  %2883 = getelementptr inbounds %struct.LodePNGState, ptr %350, i32 0, i32 4
  %2884 = getelementptr inbounds %struct.LodePNGInfo, ptr %2883, i32 0, i32 3
  %2885 = getelementptr inbounds %struct.LodePNGColorMode, ptr %2884, i32 0, i32 0
  %2886 = load i32, ptr %2885, align 8, !tbaa !47
  %2887 = icmp eq i32 3, %2886
  br i1 %2887, label %2888, label %3096

2888:                                             ; preds = %2882
  call void @llvm.lifetime.start.p0(i64 32, ptr %368) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %369) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %370) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %371) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %372) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %373) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %373) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %372, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %373)
          to label %2889 unwind label %3048

2889:                                             ; preds = %2888
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %371, ptr noundef nonnull align 8 dereferenceable(32) %372, ptr noundef @.str.498)
          to label %2890 unwind label %3052

2890:                                             ; preds = %2889
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %370, ptr noundef nonnull align 8 dereferenceable(32) %371, ptr noundef @.str.3)
          to label %2891 unwind label %3056

2891:                                             ; preds = %2890
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %369, ptr noundef nonnull align 8 dereferenceable(32) %370, ptr noundef @.str.323)
          to label %2892 unwind label %3060

2892:                                             ; preds = %2891
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %368, ptr noundef nonnull align 8 dereferenceable(32) %369, ptr noundef @.str.266)
          to label %2893 unwind label %3064

2893:                                             ; preds = %2892
  %2894 = 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) %368)
          to label %2895 unwind label %3068

2895:                                             ; preds = %2893
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %368) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %369) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %370) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %371) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %372) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %373) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %373) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %372) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %371) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %370) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %369) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %368) #7
  %2896 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.267)
          to label %2897 unwind label %2987

2897:                                             ; preds = %2895
  call void @llvm.lifetime.start.p0(i64 32, ptr %374) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #7
  store i32 3, ptr %375, align 4, !tbaa !48
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %374, ptr noundef nonnull align 4 dereferenceable(4) %375)
          to label %2898 unwind label %3077

2898:                                             ; preds = %2897
  %2899 = 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) %2896, ptr noundef nonnull align 8 dereferenceable(32) %374)
          to label %2900 unwind label %3081

2900:                                             ; preds = %2898
  %2901 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2899, ptr noundef @.str.20)
          to label %2902 unwind label %3081

2902:                                             ; preds = %2900
  call void @llvm.lifetime.start.p0(i64 32, ptr %376) #7
  %2903 = getelementptr inbounds %struct.LodePNGState, ptr %350, i32 0, i32 4
  %2904 = getelementptr inbounds %struct.LodePNGInfo, ptr %2903, i32 0, i32 3
  %2905 = getelementptr inbounds %struct.LodePNGColorMode, ptr %2904, i32 0, i32 0
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %376, ptr noundef nonnull align 4 dereferenceable(4) %2905)
          to label %2906 unwind label %3085

2906:                                             ; preds = %2902
  %2907 = 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) %2901, ptr noundef nonnull align 8 dereferenceable(32) %376)
          to label %2908 unwind label %3089

2908:                                             ; preds = %2906
  %2909 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2907, ptr noundef @.str.21)
          to label %2910 unwind label %3089

2910:                                             ; preds = %2908
  %2911 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2909, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2912 unwind label %3089

2912:                                             ; preds = %2910
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %376) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %376) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %374) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %374) #7
  invoke void @_Z4failv()
          to label %2913 unwind label %2987

2913:                                             ; preds = %2912
  br label %3096

2914:                                             ; preds = %2797
  %2915 = landingpad { ptr, i32 }
          cleanup
  %2916 = extractvalue { ptr, i32 } %2915, 0
  store ptr %2916, ptr %6, align 8
  %2917 = extractvalue { ptr, i32 } %2915, 1
  store i32 %2917, ptr %7, align 4
  br label %3113

2918:                                             ; preds = %2798
  %2919 = landingpad { ptr, i32 }
          cleanup
  %2920 = extractvalue { ptr, i32 } %2919, 0
  store ptr %2920, ptr %6, align 8
  %2921 = extractvalue { ptr, i32 } %2919, 1
  store i32 %2921, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %333) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %333) #7
  br label %3112

2922:                                             ; preds = %2811, %2805, %2803, %2801
  %2923 = landingpad { ptr, i32 }
          cleanup
  %2924 = extractvalue { ptr, i32 } %2923, 0
  store ptr %2924, ptr %6, align 8
  %2925 = extractvalue { ptr, i32 } %2923, 1
  store i32 %2925, ptr %7, align 4
  br label %3111

2926:                                             ; preds = %2816
  %2927 = landingpad { ptr, i32 }
          cleanup
  %2928 = extractvalue { ptr, i32 } %2927, 0
  store ptr %2928, ptr %6, align 8
  %2929 = extractvalue { ptr, i32 } %2927, 1
  store i32 %2929, ptr %7, align 4
  br label %2982

2930:                                             ; preds = %2818
  %2931 = landingpad { ptr, i32 }
          cleanup
  %2932 = extractvalue { ptr, i32 } %2931, 0
  store ptr %2932, ptr %6, align 8
  %2933 = extractvalue { ptr, i32 } %2931, 1
  store i32 %2933, ptr %7, align 4
  br label %2981

2934:                                             ; preds = %2819
  %2935 = landingpad { ptr, i32 }
          cleanup
  %2936 = extractvalue { ptr, i32 } %2935, 0
  store ptr %2936, ptr %6, align 8
  %2937 = extractvalue { ptr, i32 } %2935, 1
  store i32 %2937, ptr %7, align 4
  br label %2980

2938:                                             ; preds = %2822
  %2939 = landingpad { ptr, i32 }
          cleanup
  %2940 = extractvalue { ptr, i32 } %2939, 0
  store ptr %2940, ptr %6, align 8
  %2941 = extractvalue { ptr, i32 } %2939, 1
  store i32 %2941, ptr %7, align 4
  br label %2973

2942:                                             ; preds = %2824
  %2943 = landingpad { ptr, i32 }
          cleanup
  %2944 = extractvalue { ptr, i32 } %2943, 0
  store ptr %2944, ptr %6, align 8
  %2945 = extractvalue { ptr, i32 } %2943, 1
  store i32 %2945, ptr %7, align 4
  br label %2963

2946:                                             ; preds = %2825
  %2947 = landingpad { ptr, i32 }
          cleanup
  %2948 = extractvalue { ptr, i32 } %2947, 0
  store ptr %2948, ptr %6, align 8
  %2949 = extractvalue { ptr, i32 } %2947, 1
  store i32 %2949, ptr %7, align 4
  br label %2959

2950:                                             ; preds = %2827
  %2951 = landingpad { ptr, i32 }
          cleanup
  %2952 = extractvalue { ptr, i32 } %2951, 0
  store ptr %2952, ptr %6, align 8
  %2953 = extractvalue { ptr, i32 } %2951, 1
  store i32 %2953, ptr %7, align 4
  br label %2958

2954:                                             ; preds = %2828
  %2955 = landingpad { ptr, i32 }
          cleanup
  %2956 = extractvalue { ptr, i32 } %2955, 0
  store ptr %2956, ptr %6, align 8
  %2957 = extractvalue { ptr, i32 } %2955, 1
  store i32 %2957, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %334) #7
  br label %2958

2958:                                             ; preds = %2954, %2950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %338) #7
  br label %2959

2959:                                             ; preds = %2958, %2946
  %2960 = load i1, ptr %349, align 1
  br i1 %2960, label %2961, label %2962

2961:                                             ; preds = %2959
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %344) #7
  br label %2962

2962:                                             ; preds = %2961, %2959
  br label %2963

2963:                                             ; preds = %2962, %2942
  %2964 = load i1, ptr %348, align 1
  br i1 %2964, label %2965, label %2966

2965:                                             ; preds = %2963
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %346) #7
  br label %2966

2966:                                             ; preds = %2965, %2963
  %2967 = load i1, ptr %347, align 1
  br i1 %2967, label %2968, label %2969

2968:                                             ; preds = %2966
  call void @llvm.lifetime.end.p0(i64 1, ptr %346) #7
  br label %2969

2969:                                             ; preds = %2968, %2966
  %2970 = load i1, ptr %345, align 1
  br i1 %2970, label %2971, label %2972

2971:                                             ; preds = %2969
  call void @llvm.lifetime.end.p0(i64 32, ptr %344) #7
  br label %2972

2972:                                             ; preds = %2971, %2969
  br label %2973

2973:                                             ; preds = %2972, %2938
  %2974 = load i1, ptr %343, align 1
  br i1 %2974, label %2975, label %2976

2975:                                             ; preds = %2973
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %341) #7
  br label %2976

2976:                                             ; preds = %2975, %2973
  %2977 = load i1, ptr %342, align 1
  br i1 %2977, label %2978, label %2979

2978:                                             ; preds = %2976
  call void @llvm.lifetime.end.p0(i64 1, ptr %341) #7
  br label %2979

2979:                                             ; preds = %2978, %2976
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %339) #7
  br label %2980

2980:                                             ; preds = %2979, %2934
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %340) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %340) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %339) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %338) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %335) #7
  br label %2981

2981:                                             ; preds = %2980, %2930
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %336) #7
  br label %2982

2982:                                             ; preds = %2981, %2926
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %337) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %336) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %335) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %334) #7
  br label %3111

2983:                                             ; preds = %2847
  %2984 = landingpad { ptr, i32 }
          cleanup
  %2985 = extractvalue { ptr, i32 } %2984, 0
  store ptr %2985, ptr %6, align 8
  %2986 = extractvalue { ptr, i32 } %2984, 1
  store i32 %2986, ptr %7, align 4
  br label %3110

2987:                                             ; preds = %2912, %2895, %2881, %2848
  %2988 = landingpad { ptr, i32 }
          cleanup
  %2989 = extractvalue { ptr, i32 } %2988, 0
  store ptr %2989, ptr %6, align 8
  %2990 = extractvalue { ptr, i32 } %2988, 1
  store i32 %2990, ptr %7, align 4
  br label %3109

2991:                                             ; preds = %2850
  %2992 = landingpad { ptr, i32 }
          cleanup
  %2993 = extractvalue { ptr, i32 } %2992, 0
  store ptr %2993, ptr %6, align 8
  %2994 = extractvalue { ptr, i32 } %2992, 1
  store i32 %2994, ptr %7, align 4
  br label %3047

2995:                                             ; preds = %2852
  %2996 = landingpad { ptr, i32 }
          cleanup
  %2997 = extractvalue { ptr, i32 } %2996, 0
  store ptr %2997, ptr %6, align 8
  %2998 = extractvalue { ptr, i32 } %2996, 1
  store i32 %2998, ptr %7, align 4
  br label %3046

2999:                                             ; preds = %2853
  %3000 = landingpad { ptr, i32 }
          cleanup
  %3001 = extractvalue { ptr, i32 } %3000, 0
  store ptr %3001, ptr %6, align 8
  %3002 = extractvalue { ptr, i32 } %3000, 1
  store i32 %3002, ptr %7, align 4
  br label %3045

3003:                                             ; preds = %2856
  %3004 = landingpad { ptr, i32 }
          cleanup
  %3005 = extractvalue { ptr, i32 } %3004, 0
  store ptr %3005, ptr %6, align 8
  %3006 = extractvalue { ptr, i32 } %3004, 1
  store i32 %3006, ptr %7, align 4
  br label %3038

3007:                                             ; preds = %2858
  %3008 = landingpad { ptr, i32 }
          cleanup
  %3009 = extractvalue { ptr, i32 } %3008, 0
  store ptr %3009, ptr %6, align 8
  %3010 = extractvalue { ptr, i32 } %3008, 1
  store i32 %3010, ptr %7, align 4
  br label %3028

3011:                                             ; preds = %2859
  %3012 = landingpad { ptr, i32 }
          cleanup
  %3013 = extractvalue { ptr, i32 } %3012, 0
  store ptr %3013, ptr %6, align 8
  %3014 = extractvalue { ptr, i32 } %3012, 1
  store i32 %3014, ptr %7, align 4
  br label %3024

3015:                                             ; preds = %2861
  %3016 = landingpad { ptr, i32 }
          cleanup
  %3017 = extractvalue { ptr, i32 } %3016, 0
  store ptr %3017, ptr %6, align 8
  %3018 = extractvalue { ptr, i32 } %3016, 1
  store i32 %3018, ptr %7, align 4
  br label %3023

3019:                                             ; preds = %2862
  %3020 = landingpad { ptr, i32 }
          cleanup
  %3021 = extractvalue { ptr, i32 } %3020, 0
  store ptr %3021, ptr %6, align 8
  %3022 = extractvalue { ptr, i32 } %3020, 1
  store i32 %3022, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %352) #7
  br label %3023

3023:                                             ; preds = %3019, %3015
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #7
  br label %3024

3024:                                             ; preds = %3023, %3011
  %3025 = load i1, ptr %367, align 1
  br i1 %3025, label %3026, label %3027

3026:                                             ; preds = %3024
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %362) #7
  br label %3027

3027:                                             ; preds = %3026, %3024
  br label %3028

3028:                                             ; preds = %3027, %3007
  %3029 = load i1, ptr %366, align 1
  br i1 %3029, label %3030, label %3031

3030:                                             ; preds = %3028
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %364) #7
  br label %3031

3031:                                             ; preds = %3030, %3028
  %3032 = load i1, ptr %365, align 1
  br i1 %3032, label %3033, label %3034

3033:                                             ; preds = %3031
  call void @llvm.lifetime.end.p0(i64 1, ptr %364) #7
  br label %3034

3034:                                             ; preds = %3033, %3031
  %3035 = load i1, ptr %363, align 1
  br i1 %3035, label %3036, label %3037

3036:                                             ; preds = %3034
  call void @llvm.lifetime.end.p0(i64 32, ptr %362) #7
  br label %3037

3037:                                             ; preds = %3036, %3034
  br label %3038

3038:                                             ; preds = %3037, %3003
  %3039 = load i1, ptr %361, align 1
  br i1 %3039, label %3040, label %3041

3040:                                             ; preds = %3038
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %359) #7
  br label %3041

3041:                                             ; preds = %3040, %3038
  %3042 = load i1, ptr %360, align 1
  br i1 %3042, label %3043, label %3044

3043:                                             ; preds = %3041
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #7
  br label %3044

3044:                                             ; preds = %3043, %3041
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #7
  br label %3045

3045:                                             ; preds = %3044, %2999
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %358) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %358) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %357) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %356) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #7
  br label %3046

3046:                                             ; preds = %3045, %2995
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %354) #7
  br label %3047

3047:                                             ; preds = %3046, %2991
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %355) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %355) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %354) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %353) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %352) #7
  br label %3109

3048:                                             ; preds = %2888
  %3049 = landingpad { ptr, i32 }
          cleanup
  %3050 = extractvalue { ptr, i32 } %3049, 0
  store ptr %3050, ptr %6, align 8
  %3051 = extractvalue { ptr, i32 } %3049, 1
  store i32 %3051, ptr %7, align 4
  br label %3076

3052:                                             ; preds = %2889
  %3053 = landingpad { ptr, i32 }
          cleanup
  %3054 = extractvalue { ptr, i32 } %3053, 0
  store ptr %3054, ptr %6, align 8
  %3055 = extractvalue { ptr, i32 } %3053, 1
  store i32 %3055, ptr %7, align 4
  br label %3075

3056:                                             ; preds = %2890
  %3057 = landingpad { ptr, i32 }
          cleanup
  %3058 = extractvalue { ptr, i32 } %3057, 0
  store ptr %3058, ptr %6, align 8
  %3059 = extractvalue { ptr, i32 } %3057, 1
  store i32 %3059, ptr %7, align 4
  br label %3074

3060:                                             ; preds = %2891
  %3061 = landingpad { ptr, i32 }
          cleanup
  %3062 = extractvalue { ptr, i32 } %3061, 0
  store ptr %3062, ptr %6, align 8
  %3063 = extractvalue { ptr, i32 } %3061, 1
  store i32 %3063, ptr %7, align 4
  br label %3073

3064:                                             ; preds = %2892
  %3065 = landingpad { ptr, i32 }
          cleanup
  %3066 = extractvalue { ptr, i32 } %3065, 0
  store ptr %3066, ptr %6, align 8
  %3067 = extractvalue { ptr, i32 } %3065, 1
  store i32 %3067, ptr %7, align 4
  br label %3072

3068:                                             ; preds = %2893
  %3069 = landingpad { ptr, i32 }
          cleanup
  %3070 = extractvalue { ptr, i32 } %3069, 0
  store ptr %3070, ptr %6, align 8
  %3071 = extractvalue { ptr, i32 } %3069, 1
  store i32 %3071, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %368) #7
  br label %3072

3072:                                             ; preds = %3068, %3064
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %369) #7
  br label %3073

3073:                                             ; preds = %3072, %3060
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %370) #7
  br label %3074

3074:                                             ; preds = %3073, %3056
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %371) #7
  br label %3075

3075:                                             ; preds = %3074, %3052
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %372) #7
  br label %3076

3076:                                             ; preds = %3075, %3048
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %373) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %373) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %372) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %371) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %370) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %369) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %368) #7
  br label %3109

3077:                                             ; preds = %2897
  %3078 = landingpad { ptr, i32 }
          cleanup
  %3079 = extractvalue { ptr, i32 } %3078, 0
  store ptr %3079, ptr %6, align 8
  %3080 = extractvalue { ptr, i32 } %3078, 1
  store i32 %3080, ptr %7, align 4
  br label %3095

3081:                                             ; preds = %2900, %2898
  %3082 = landingpad { ptr, i32 }
          cleanup
  %3083 = extractvalue { ptr, i32 } %3082, 0
  store ptr %3083, ptr %6, align 8
  %3084 = extractvalue { ptr, i32 } %3082, 1
  store i32 %3084, ptr %7, align 4
  br label %3094

3085:                                             ; preds = %2902
  %3086 = landingpad { ptr, i32 }
          cleanup
  %3087 = extractvalue { ptr, i32 } %3086, 0
  store ptr %3087, ptr %6, align 8
  %3088 = extractvalue { ptr, i32 } %3086, 1
  store i32 %3088, ptr %7, align 4
  br label %3093

3089:                                             ; preds = %2910, %2908, %2906
  %3090 = landingpad { ptr, i32 }
          cleanup
  %3091 = extractvalue { ptr, i32 } %3090, 0
  store ptr %3091, ptr %6, align 8
  %3092 = extractvalue { ptr, i32 } %3090, 1
  store i32 %3092, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %376) #7
  br label %3093

3093:                                             ; preds = %3089, %3085
  call void @llvm.lifetime.end.p0(i64 32, ptr %376) #7
  br label %3094

3094:                                             ; preds = %3093, %3081
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %374) #7
  br label %3095

3095:                                             ; preds = %3094, %3077
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %374) #7
  br label %3109

3096:                                             ; preds = %2913, %2882
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %351) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %350) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %350) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %332) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %332) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %331) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %331) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %330) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %330) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %328) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %326) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %326) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #7
  store i32 32, ptr %378, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #7
  store i32 32, ptr %379, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %380) #7
  %3097 = load i32, ptr %378, align 4, !tbaa !5
  %3098 = load i32, ptr %379, align 4, !tbaa !5
  %3099 = mul i32 %3097, %3098
  %3100 = mul i32 %3099, 4
  %3101 = zext i32 %3100 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %381) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %381) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef %3101, ptr noundef nonnull align 1 dereferenceable(1) %381)
          to label %3102 unwind label %3115

3102:                                             ; preds = %3096
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %381) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %381) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %382) #7
  store i64 0, ptr %382, align 8, !tbaa !9
  br label %3103

3103:                                             ; preds = %3135, %3102
  %3104 = load i64, ptr %382, align 8, !tbaa !9
  %3105 = add i64 %3104, 4
  %3106 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %380) #7
  %3107 = icmp ule i64 %3105, %3106
  br i1 %3107, label %3119, label %3108

3108:                                             ; preds = %3103
  call void @llvm.lifetime.end.p0(i64 8, ptr %382) #7
  br label %3138

3109:                                             ; preds = %3095, %3076, %3047, %2987
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %351) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %350) #7
  br label %3110

3110:                                             ; preds = %3109, %2983
  call void @llvm.lifetime.end.p0(i64 512, ptr %350) #7
  br label %3111

3111:                                             ; preds = %3110, %2982, %2922
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %332) #7
  br label %3112

3112:                                             ; preds = %3111, %2918
  call void @llvm.lifetime.end.p0(i64 32, ptr %332) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %331) #7
  br label %3113

3113:                                             ; preds = %3112, %2914
  call void @llvm.lifetime.end.p0(i64 512, ptr %331) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %330) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %330) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %328) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %326) #7
  br label %3114

3114:                                             ; preds = %3113, %2772
  call void @llvm.lifetime.end.p0(i64 24, ptr %326) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #7
  br label %3671

3115:                                             ; preds = %3096
  %3116 = landingpad { ptr, i32 }
          cleanup
  %3117 = extractvalue { ptr, i32 } %3116, 0
  store ptr %3117, ptr %6, align 8
  %3118 = extractvalue { ptr, i32 } %3116, 1
  store i32 %3118, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %381) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %381) #7
  br label %3535

3119:                                             ; preds = %3103
  %3120 = load i64, ptr %382, align 8, !tbaa !9
  %3121 = udiv i64 %3120, 4
  %3122 = and i64 %3121, 255
  %3123 = trunc i64 %3122 to i8
  %3124 = load i64, ptr %382, align 8, !tbaa !9
  %3125 = add i64 %3124, 2
  %3126 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef %3125) #7
  store i8 %3123, ptr %3126, align 1, !tbaa !11
  %3127 = load i64, ptr %382, align 8, !tbaa !9
  %3128 = add i64 %3127, 1
  %3129 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef %3128) #7
  store i8 %3123, ptr %3129, align 1, !tbaa !11
  %3130 = load i64, ptr %382, align 8, !tbaa !9
  %3131 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef %3130) #7
  store i8 %3123, ptr %3131, align 1, !tbaa !11
  %3132 = load i64, ptr %382, align 8, !tbaa !9
  %3133 = add i64 %3132, 3
  %3134 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef %3133) #7
  store i8 -1, ptr %3134, align 1, !tbaa !11
  br label %3135

3135:                                             ; preds = %3119
  %3136 = load i64, ptr %382, align 8, !tbaa !9
  %3137 = add i64 %3136, 4
  store i64 %3137, ptr %382, align 8, !tbaa !9
  br label %3103, !llvm.loop !49

3138:                                             ; preds = %3108
  call void @llvm.lifetime.start.p0(i64 24, ptr %383) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %383) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %384) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %384)
          to label %3139 unwind label %3255

3139:                                             ; preds = %3138
  %3140 = getelementptr inbounds %struct.LodePNGState, ptr %384, i32 0, i32 4
  %3141 = getelementptr inbounds %struct.LodePNGInfo, ptr %3140, i32 0, i32 35
  store i32 1, ptr %3141, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 32, ptr %385) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %386) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %386) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %385, ptr noundef @.str.481, ptr noundef nonnull align 1 dereferenceable(1) %386)
          to label %3142 unwind label %3259

3142:                                             ; preds = %3139
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %386) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %386) #7
  %3143 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %385, i64 noundef 1)
          to label %3144 unwind label %3263

3144:                                             ; preds = %3142
  store i8 0, ptr %3143, align 1, !tbaa !11
  %3145 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %385, i64 noundef 0)
          to label %3146 unwind label %3263

3146:                                             ; preds = %3144
  store i8 0, ptr %3145, align 1, !tbaa !11
  %3147 = getelementptr inbounds %struct.LodePNGState, ptr %384, i32 0, i32 4
  %3148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %385) #7
  %3149 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %385) #7
  %3150 = trunc i64 %3149 to i32
  %3151 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %3147, ptr noundef @.str.482, ptr noundef %3148, i32 noundef %3150)
          to label %3152 unwind label %3263

3152:                                             ; preds = %3146
  %3153 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %380, i64 noundef 0) #7
  %3154 = load i32, ptr %378, align 4, !tbaa !5
  %3155 = load i32, ptr %379, align 4, !tbaa !5
  %3156 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %383, ptr noundef %3153, i32 noundef %3154, i32 noundef %3155, ptr noundef nonnull align 8 dereferenceable(508) %384)
          to label %3157 unwind label %3263

3157:                                             ; preds = %3152
  store i32 %3156, ptr %377, align 4, !tbaa !5
  %3158 = load i32, ptr %377, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %387) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %388) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %389) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %390) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %390) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %389, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %390)
          to label %3159 unwind label %3267

3159:                                             ; preds = %3157
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %388, ptr noundef nonnull align 8 dereferenceable(32) %389, ptr noundef @.str.499)
          to label %3160 unwind label %3271

3160:                                             ; preds = %3159
  call void @llvm.lifetime.start.p0(i64 32, ptr %391) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %392) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %393) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %393) #7
  store i1 false, ptr %395, align 1
  store i1 false, ptr %396, align 1
  store i1 false, ptr %398, align 1
  store i1 false, ptr %400, align 1
  store i1 false, ptr %401, align 1
  store i1 false, ptr %402, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %392, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %393)
          to label %3161 unwind label %3275

3161:                                             ; preds = %3160
  %3162 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %392) #7
  br i1 %3162, label %3163, label %3165

3163:                                             ; preds = %3161
  call void @llvm.lifetime.start.p0(i64 1, ptr %394) #7
  store i1 true, ptr %395, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %394) #7
  store i1 true, ptr %396, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %391, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %394)
          to label %3164 unwind label %3279

3164:                                             ; preds = %3163
  br label %3168

3165:                                             ; preds = %3161
  call void @llvm.lifetime.start.p0(i64 32, ptr %397) #7
  store i1 true, ptr %398, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %399) #7
  store i1 true, ptr %400, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %399) #7
  store i1 true, ptr %401, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %397, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %399)
          to label %3166 unwind label %3283

3166:                                             ; preds = %3165
  store i1 true, ptr %402, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %391, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %397)
          to label %3167 unwind label %3287

3167:                                             ; preds = %3166
  br label %3168

3168:                                             ; preds = %3167, %3164
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %387, ptr noundef nonnull align 8 dereferenceable(32) %388, ptr noundef nonnull align 8 dereferenceable(32) %391)
          to label %3169 unwind label %3291

3169:                                             ; preds = %3168
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %3158, ptr noundef nonnull align 8 dereferenceable(32) %387)
          to label %3170 unwind label %3295

3170:                                             ; preds = %3169
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %387) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %391) #7
  %3171 = load i1, ptr %402, align 1
  br i1 %3171, label %3172, label %3173

3172:                                             ; preds = %3170
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %397) #7
  br label %3173

3173:                                             ; preds = %3172, %3170
  %3174 = load i1, ptr %401, align 1
  br i1 %3174, label %3175, label %3176

3175:                                             ; preds = %3173
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %399) #7
  br label %3176

3176:                                             ; preds = %3175, %3173
  %3177 = load i1, ptr %400, align 1
  br i1 %3177, label %3178, label %3179

3178:                                             ; preds = %3176
  call void @llvm.lifetime.end.p0(i64 1, ptr %399) #7
  br label %3179

3179:                                             ; preds = %3178, %3176
  %3180 = load i1, ptr %398, align 1
  br i1 %3180, label %3181, label %3182

3181:                                             ; preds = %3179
  call void @llvm.lifetime.end.p0(i64 32, ptr %397) #7
  br label %3182

3182:                                             ; preds = %3181, %3179
  %3183 = load i1, ptr %396, align 1
  br i1 %3183, label %3184, label %3185

3184:                                             ; preds = %3182
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %394) #7
  br label %3185

3185:                                             ; preds = %3184, %3182
  %3186 = load i1, ptr %395, align 1
  br i1 %3186, label %3187, label %3188

3187:                                             ; preds = %3185
  call void @llvm.lifetime.end.p0(i64 1, ptr %394) #7
  br label %3188

3188:                                             ; preds = %3187, %3185
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %392) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %393) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %393) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %392) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %391) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %388) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %389) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %390) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %390) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %389) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %388) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %387) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %403) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %403)
          to label %3189 unwind label %3324

3189:                                             ; preds = %3188
  call void @llvm.lifetime.start.p0(i64 24, ptr %404) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %404) #7
  %3190 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %404, ptr noundef nonnull align 4 dereferenceable(4) %378, ptr noundef nonnull align 4 dereferenceable(4) %379, ptr noundef nonnull align 8 dereferenceable(508) %403, ptr noundef nonnull align 8 dereferenceable(24) %383)
          to label %3191 unwind label %3328

3191:                                             ; preds = %3189
  store i32 %3190, ptr %377, align 4, !tbaa !5
  %3192 = load i32, ptr %377, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %405) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %406) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %407) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %408) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %408) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %407, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %408)
          to label %3193 unwind label %3332

3193:                                             ; preds = %3191
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %406, ptr noundef nonnull align 8 dereferenceable(32) %407, ptr noundef @.str.500)
          to label %3194 unwind label %3336

3194:                                             ; preds = %3193
  call void @llvm.lifetime.start.p0(i64 32, ptr %409) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %410) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %411) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %411) #7
  store i1 false, ptr %413, align 1
  store i1 false, ptr %414, align 1
  store i1 false, ptr %416, align 1
  store i1 false, ptr %418, align 1
  store i1 false, ptr %419, align 1
  store i1 false, ptr %420, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %410, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %411)
          to label %3195 unwind label %3340

3195:                                             ; preds = %3194
  %3196 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %410) #7
  br i1 %3196, label %3197, label %3199

3197:                                             ; preds = %3195
  call void @llvm.lifetime.start.p0(i64 1, ptr %412) #7
  store i1 true, ptr %413, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %412) #7
  store i1 true, ptr %414, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %409, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %412)
          to label %3198 unwind label %3344

3198:                                             ; preds = %3197
  br label %3202

3199:                                             ; preds = %3195
  call void @llvm.lifetime.start.p0(i64 32, ptr %415) #7
  store i1 true, ptr %416, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %417) #7
  store i1 true, ptr %418, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #7
  store i1 true, ptr %419, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %415, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %417)
          to label %3200 unwind label %3348

3200:                                             ; preds = %3199
  store i1 true, ptr %420, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %409, ptr noundef @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %415)
          to label %3201 unwind label %3352

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201, %3198
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %405, ptr noundef nonnull align 8 dereferenceable(32) %406, ptr noundef nonnull align 8 dereferenceable(32) %409)
          to label %3203 unwind label %3356

3203:                                             ; preds = %3202
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %3192, ptr noundef nonnull align 8 dereferenceable(32) %405)
          to label %3204 unwind label %3360

3204:                                             ; preds = %3203
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %405) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %409) #7
  %3205 = load i1, ptr %420, align 1
  br i1 %3205, label %3206, label %3207

3206:                                             ; preds = %3204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %415) #7
  br label %3207

3207:                                             ; preds = %3206, %3204
  %3208 = load i1, ptr %419, align 1
  br i1 %3208, label %3209, label %3210

3209:                                             ; preds = %3207
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #7
  br label %3210

3210:                                             ; preds = %3209, %3207
  %3211 = load i1, ptr %418, align 1
  br i1 %3211, label %3212, label %3213

3212:                                             ; preds = %3210
  call void @llvm.lifetime.end.p0(i64 1, ptr %417) #7
  br label %3213

3213:                                             ; preds = %3212, %3210
  %3214 = load i1, ptr %416, align 1
  br i1 %3214, label %3215, label %3216

3215:                                             ; preds = %3213
  call void @llvm.lifetime.end.p0(i64 32, ptr %415) #7
  br label %3216

3216:                                             ; preds = %3215, %3213
  %3217 = load i1, ptr %414, align 1
  br i1 %3217, label %3218, label %3219

3218:                                             ; preds = %3216
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %412) #7
  br label %3219

3219:                                             ; preds = %3218, %3216
  %3220 = load i1, ptr %413, align 1
  br i1 %3220, label %3221, label %3222

3221:                                             ; preds = %3219
  call void @llvm.lifetime.end.p0(i64 1, ptr %412) #7
  br label %3222

3222:                                             ; preds = %3221, %3219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %410) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %411) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %411) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %410) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %409) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %406) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %407) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %408) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %408) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %407) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %406) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %405) #7
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %384, ptr noundef nonnull align 8 dereferenceable(508) %403)
          to label %3223 unwind label %3328

3223:                                             ; preds = %3222
  %3224 = getelementptr inbounds %struct.LodePNGState, ptr %403, i32 0, i32 4
  %3225 = getelementptr inbounds %struct.LodePNGInfo, ptr %3224, i32 0, i32 3
  %3226 = getelementptr inbounds %struct.LodePNGColorMode, ptr %3225, i32 0, i32 0
  %3227 = load i32, ptr %3226, align 8, !tbaa !47
  %3228 = icmp eq i32 0, %3227
  br i1 %3228, label %3229, label %3437

3229:                                             ; preds = %3223
  call void @llvm.lifetime.start.p0(i64 32, ptr %421) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %422) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %423) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %424) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %425) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %426) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %426) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %425, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %426)
          to label %3230 unwind label %3389

3230:                                             ; preds = %3229
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %424, ptr noundef nonnull align 8 dereferenceable(32) %425, ptr noundef @.str.501)
          to label %3231 unwind label %3393

3231:                                             ; preds = %3230
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %423, ptr noundef nonnull align 8 dereferenceable(32) %424, ptr noundef @.str.3)
          to label %3232 unwind label %3397

3232:                                             ; preds = %3231
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %422, ptr noundef nonnull align 8 dereferenceable(32) %423, ptr noundef @.str.323)
          to label %3233 unwind label %3401

3233:                                             ; preds = %3232
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %421, ptr noundef nonnull align 8 dereferenceable(32) %422, ptr noundef @.str.266)
          to label %3234 unwind label %3405

3234:                                             ; preds = %3233
  %3235 = 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) %421)
          to label %3236 unwind label %3409

3236:                                             ; preds = %3234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %421) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %422) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %423) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %424) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %425) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %426) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %426) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %425) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %424) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %423) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %422) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %421) #7
  %3237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.267)
          to label %3238 unwind label %3328

3238:                                             ; preds = %3236
  call void @llvm.lifetime.start.p0(i64 32, ptr %427) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #7
  store i32 0, ptr %428, align 4, !tbaa !48
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %427, ptr noundef nonnull align 4 dereferenceable(4) %428)
          to label %3239 unwind label %3418

3239:                                             ; preds = %3238
  %3240 = 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) %3237, ptr noundef nonnull align 8 dereferenceable(32) %427)
          to label %3241 unwind label %3422

3241:                                             ; preds = %3239
  %3242 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3240, ptr noundef @.str.20)
          to label %3243 unwind label %3422

3243:                                             ; preds = %3241
  call void @llvm.lifetime.start.p0(i64 32, ptr %429) #7
  %3244 = getelementptr inbounds %struct.LodePNGState, ptr %403, i32 0, i32 4
  %3245 = getelementptr inbounds %struct.LodePNGInfo, ptr %3244, i32 0, i32 3
  %3246 = getelementptr inbounds %struct.LodePNGColorMode, ptr %3245, i32 0, i32 0
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %429, ptr noundef nonnull align 4 dereferenceable(4) %3246)
          to label %3247 unwind label %3426

3247:                                             ; preds = %3243
  %3248 = 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) %3242, ptr noundef nonnull align 8 dereferenceable(32) %429)
          to label %3249 unwind label %3430

3249:                                             ; preds = %3247
  %3250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3248, ptr noundef @.str.21)
          to label %3251 unwind label %3430

3251:                                             ; preds = %3249
  %3252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %3250, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %3253 unwind label %3430

3253:                                             ; preds = %3251
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %429) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %429) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %427) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %427) #7
  invoke void @_Z4failv()
          to label %3254 unwind label %3328

3254:                                             ; preds = %3253
  br label %3437

3255:                                             ; preds = %3138
  %3256 = landingpad { ptr, i32 }
          cleanup
  %3257 = extractvalue { ptr, i32 } %3256, 0
  store ptr %3257, ptr %6, align 8
  %3258 = extractvalue { ptr, i32 } %3256, 1
  store i32 %3258, ptr %7, align 4
  br label %3534

3259:                                             ; preds = %3139
  %3260 = landingpad { ptr, i32 }
          cleanup
  %3261 = extractvalue { ptr, i32 } %3260, 0
  store ptr %3261, ptr %6, align 8
  %3262 = extractvalue { ptr, i32 } %3260, 1
  store i32 %3262, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %386) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %386) #7
  br label %3533

3263:                                             ; preds = %3152, %3146, %3144, %3142
  %3264 = landingpad { ptr, i32 }
          cleanup
  %3265 = extractvalue { ptr, i32 } %3264, 0
  store ptr %3265, ptr %6, align 8
  %3266 = extractvalue { ptr, i32 } %3264, 1
  store i32 %3266, ptr %7, align 4
  br label %3532

3267:                                             ; preds = %3157
  %3268 = landingpad { ptr, i32 }
          cleanup
  %3269 = extractvalue { ptr, i32 } %3268, 0
  store ptr %3269, ptr %6, align 8
  %3270 = extractvalue { ptr, i32 } %3268, 1
  store i32 %3270, ptr %7, align 4
  br label %3323

3271:                                             ; preds = %3159
  %3272 = landingpad { ptr, i32 }
          cleanup
  %3273 = extractvalue { ptr, i32 } %3272, 0
  store ptr %3273, ptr %6, align 8
  %3274 = extractvalue { ptr, i32 } %3272, 1
  store i32 %3274, ptr %7, align 4
  br label %3322

3275:                                             ; preds = %3160
  %3276 = landingpad { ptr, i32 }
          cleanup
  %3277 = extractvalue { ptr, i32 } %3276, 0
  store ptr %3277, ptr %6, align 8
  %3278 = extractvalue { ptr, i32 } %3276, 1
  store i32 %3278, ptr %7, align 4
  br label %3321

3279:                                             ; preds = %3163
  %3280 = landingpad { ptr, i32 }
          cleanup
  %3281 = extractvalue { ptr, i32 } %3280, 0
  store ptr %3281, ptr %6, align 8
  %3282 = extractvalue { ptr, i32 } %3280, 1
  store i32 %3282, ptr %7, align 4
  br label %3314

3283:                                             ; preds = %3165
  %3284 = landingpad { ptr, i32 }
          cleanup
  %3285 = extractvalue { ptr, i32 } %3284, 0
  store ptr %3285, ptr %6, align 8
  %3286 = extractvalue { ptr, i32 } %3284, 1
  store i32 %3286, ptr %7, align 4
  br label %3304

3287:                                             ; preds = %3166
  %3288 = landingpad { ptr, i32 }
          cleanup
  %3289 = extractvalue { ptr, i32 } %3288, 0
  store ptr %3289, ptr %6, align 8
  %3290 = extractvalue { ptr, i32 } %3288, 1
  store i32 %3290, ptr %7, align 4
  br label %3300

3291:                                             ; preds = %3168
  %3292 = landingpad { ptr, i32 }
          cleanup
  %3293 = extractvalue { ptr, i32 } %3292, 0
  store ptr %3293, ptr %6, align 8
  %3294 = extractvalue { ptr, i32 } %3292, 1
  store i32 %3294, ptr %7, align 4
  br label %3299

3295:                                             ; preds = %3169
  %3296 = landingpad { ptr, i32 }
          cleanup
  %3297 = extractvalue { ptr, i32 } %3296, 0
  store ptr %3297, ptr %6, align 8
  %3298 = extractvalue { ptr, i32 } %3296, 1
  store i32 %3298, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %387) #7
  br label %3299

3299:                                             ; preds = %3295, %3291
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %391) #7
  br label %3300

3300:                                             ; preds = %3299, %3287
  %3301 = load i1, ptr %402, align 1
  br i1 %3301, label %3302, label %3303

3302:                                             ; preds = %3300
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %397) #7
  br label %3303

3303:                                             ; preds = %3302, %3300
  br label %3304

3304:                                             ; preds = %3303, %3283
  %3305 = load i1, ptr %401, align 1
  br i1 %3305, label %3306, label %3307

3306:                                             ; preds = %3304
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %399) #7
  br label %3307

3307:                                             ; preds = %3306, %3304
  %3308 = load i1, ptr %400, align 1
  br i1 %3308, label %3309, label %3310

3309:                                             ; preds = %3307
  call void @llvm.lifetime.end.p0(i64 1, ptr %399) #7
  br label %3310

3310:                                             ; preds = %3309, %3307
  %3311 = load i1, ptr %398, align 1
  br i1 %3311, label %3312, label %3313

3312:                                             ; preds = %3310
  call void @llvm.lifetime.end.p0(i64 32, ptr %397) #7
  br label %3313

3313:                                             ; preds = %3312, %3310
  br label %3314

3314:                                             ; preds = %3313, %3279
  %3315 = load i1, ptr %396, align 1
  br i1 %3315, label %3316, label %3317

3316:                                             ; preds = %3314
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %394) #7
  br label %3317

3317:                                             ; preds = %3316, %3314
  %3318 = load i1, ptr %395, align 1
  br i1 %3318, label %3319, label %3320

3319:                                             ; preds = %3317
  call void @llvm.lifetime.end.p0(i64 1, ptr %394) #7
  br label %3320

3320:                                             ; preds = %3319, %3317
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %392) #7
  br label %3321

3321:                                             ; preds = %3320, %3275
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %393) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %393) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %392) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %391) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %388) #7
  br label %3322

3322:                                             ; preds = %3321, %3271
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %389) #7
  br label %3323

3323:                                             ; preds = %3322, %3267
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %390) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %390) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %389) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %388) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %387) #7
  br label %3532

3324:                                             ; preds = %3188
  %3325 = landingpad { ptr, i32 }
          cleanup
  %3326 = extractvalue { ptr, i32 } %3325, 0
  store ptr %3326, ptr %6, align 8
  %3327 = extractvalue { ptr, i32 } %3325, 1
  store i32 %3327, ptr %7, align 4
  br label %3531

3328:                                             ; preds = %3467, %3450, %3253, %3236, %3222, %3189
  %3329 = landingpad { ptr, i32 }
          cleanup
  %3330 = extractvalue { ptr, i32 } %3329, 0
  store ptr %3330, ptr %6, align 8
  %3331 = extractvalue { ptr, i32 } %3329, 1
  store i32 %3331, ptr %7, align 4
  br label %3530

3332:                                             ; preds = %3191
  %3333 = landingpad { ptr, i32 }
          cleanup
  %3334 = extractvalue { ptr, i32 } %3333, 0
  store ptr %3334, ptr %6, align 8
  %3335 = extractvalue { ptr, i32 } %3333, 1
  store i32 %3335, ptr %7, align 4
  br label %3388

3336:                                             ; preds = %3193
  %3337 = landingpad { ptr, i32 }
          cleanup
  %3338 = extractvalue { ptr, i32 } %3337, 0
  store ptr %3338, ptr %6, align 8
  %3339 = extractvalue { ptr, i32 } %3337, 1
  store i32 %3339, ptr %7, align 4
  br label %3387

3340:                                             ; preds = %3194
  %3341 = landingpad { ptr, i32 }
          cleanup
  %3342 = extractvalue { ptr, i32 } %3341, 0
  store ptr %3342, ptr %6, align 8
  %3343 = extractvalue { ptr, i32 } %3341, 1
  store i32 %3343, ptr %7, align 4
  br label %3386

3344:                                             ; preds = %3197
  %3345 = landingpad { ptr, i32 }
          cleanup
  %3346 = extractvalue { ptr, i32 } %3345, 0
  store ptr %3346, ptr %6, align 8
  %3347 = extractvalue { ptr, i32 } %3345, 1
  store i32 %3347, ptr %7, align 4
  br label %3379

3348:                                             ; preds = %3199
  %3349 = landingpad { ptr, i32 }
          cleanup
  %3350 = extractvalue { ptr, i32 } %3349, 0
  store ptr %3350, ptr %6, align 8
  %3351 = extractvalue { ptr, i32 } %3349, 1
  store i32 %3351, ptr %7, align 4
  br label %3369

3352:                                             ; preds = %3200
  %3353 = landingpad { ptr, i32 }
          cleanup
  %3354 = extractvalue { ptr, i32 } %3353, 0
  store ptr %3354, ptr %6, align 8
  %3355 = extractvalue { ptr, i32 } %3353, 1
  store i32 %3355, ptr %7, align 4
  br label %3365

3356:                                             ; preds = %3202
  %3357 = landingpad { ptr, i32 }
          cleanup
  %3358 = extractvalue { ptr, i32 } %3357, 0
  store ptr %3358, ptr %6, align 8
  %3359 = extractvalue { ptr, i32 } %3357, 1
  store i32 %3359, ptr %7, align 4
  br label %3364

3360:                                             ; preds = %3203
  %3361 = landingpad { ptr, i32 }
          cleanup
  %3362 = extractvalue { ptr, i32 } %3361, 0
  store ptr %3362, ptr %6, align 8
  %3363 = extractvalue { ptr, i32 } %3361, 1
  store i32 %3363, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %405) #7
  br label %3364

3364:                                             ; preds = %3360, %3356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %409) #7
  br label %3365

3365:                                             ; preds = %3364, %3352
  %3366 = load i1, ptr %420, align 1
  br i1 %3366, label %3367, label %3368

3367:                                             ; preds = %3365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %415) #7
  br label %3368

3368:                                             ; preds = %3367, %3365
  br label %3369

3369:                                             ; preds = %3368, %3348
  %3370 = load i1, ptr %419, align 1
  br i1 %3370, label %3371, label %3372

3371:                                             ; preds = %3369
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %417) #7
  br label %3372

3372:                                             ; preds = %3371, %3369
  %3373 = load i1, ptr %418, align 1
  br i1 %3373, label %3374, label %3375

3374:                                             ; preds = %3372
  call void @llvm.lifetime.end.p0(i64 1, ptr %417) #7
  br label %3375

3375:                                             ; preds = %3374, %3372
  %3376 = load i1, ptr %416, align 1
  br i1 %3376, label %3377, label %3378

3377:                                             ; preds = %3375
  call void @llvm.lifetime.end.p0(i64 32, ptr %415) #7
  br label %3378

3378:                                             ; preds = %3377, %3375
  br label %3379

3379:                                             ; preds = %3378, %3344
  %3380 = load i1, ptr %414, align 1
  br i1 %3380, label %3381, label %3382

3381:                                             ; preds = %3379
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %412) #7
  br label %3382

3382:                                             ; preds = %3381, %3379
  %3383 = load i1, ptr %413, align 1
  br i1 %3383, label %3384, label %3385

3384:                                             ; preds = %3382
  call void @llvm.lifetime.end.p0(i64 1, ptr %412) #7
  br label %3385

3385:                                             ; preds = %3384, %3382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %410) #7
  br label %3386

3386:                                             ; preds = %3385, %3340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %411) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %411) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %410) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %409) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %406) #7
  br label %3387

3387:                                             ; preds = %3386, %3336
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %407) #7
  br label %3388

3388:                                             ; preds = %3387, %3332
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %408) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %408) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %407) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %406) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %405) #7
  br label %3530

3389:                                             ; preds = %3229
  %3390 = landingpad { ptr, i32 }
          cleanup
  %3391 = extractvalue { ptr, i32 } %3390, 0
  store ptr %3391, ptr %6, align 8
  %3392 = extractvalue { ptr, i32 } %3390, 1
  store i32 %3392, ptr %7, align 4
  br label %3417

3393:                                             ; preds = %3230
  %3394 = landingpad { ptr, i32 }
          cleanup
  %3395 = extractvalue { ptr, i32 } %3394, 0
  store ptr %3395, ptr %6, align 8
  %3396 = extractvalue { ptr, i32 } %3394, 1
  store i32 %3396, ptr %7, align 4
  br label %3416

3397:                                             ; preds = %3231
  %3398 = landingpad { ptr, i32 }
          cleanup
  %3399 = extractvalue { ptr, i32 } %3398, 0
  store ptr %3399, ptr %6, align 8
  %3400 = extractvalue { ptr, i32 } %3398, 1
  store i32 %3400, ptr %7, align 4
  br label %3415

3401:                                             ; preds = %3232
  %3402 = landingpad { ptr, i32 }
          cleanup
  %3403 = extractvalue { ptr, i32 } %3402, 0
  store ptr %3403, ptr %6, align 8
  %3404 = extractvalue { ptr, i32 } %3402, 1
  store i32 %3404, ptr %7, align 4
  br label %3414

3405:                                             ; preds = %3233
  %3406 = landingpad { ptr, i32 }
          cleanup
  %3407 = extractvalue { ptr, i32 } %3406, 0
  store ptr %3407, ptr %6, align 8
  %3408 = extractvalue { ptr, i32 } %3406, 1
  store i32 %3408, ptr %7, align 4
  br label %3413

3409:                                             ; preds = %3234
  %3410 = landingpad { ptr, i32 }
          cleanup
  %3411 = extractvalue { ptr, i32 } %3410, 0
  store ptr %3411, ptr %6, align 8
  %3412 = extractvalue { ptr, i32 } %3410, 1
  store i32 %3412, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %421) #7
  br label %3413

3413:                                             ; preds = %3409, %3405
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %422) #7
  br label %3414

3414:                                             ; preds = %3413, %3401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %423) #7
  br label %3415

3415:                                             ; preds = %3414, %3397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %424) #7
  br label %3416

3416:                                             ; preds = %3415, %3393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %425) #7
  br label %3417

3417:                                             ; preds = %3416, %3389
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %426) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %426) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %425) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %424) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %423) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %422) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %421) #7
  br label %3530

3418:                                             ; preds = %3238
  %3419 = landingpad { ptr, i32 }
          cleanup
  %3420 = extractvalue { ptr, i32 } %3419, 0
  store ptr %3420, ptr %6, align 8
  %3421 = extractvalue { ptr, i32 } %3419, 1
  store i32 %3421, ptr %7, align 4
  br label %3436

3422:                                             ; preds = %3241, %3239
  %3423 = landingpad { ptr, i32 }
          cleanup
  %3424 = extractvalue { ptr, i32 } %3423, 0
  store ptr %3424, ptr %6, align 8
  %3425 = extractvalue { ptr, i32 } %3423, 1
  store i32 %3425, ptr %7, align 4
  br label %3435

3426:                                             ; preds = %3243
  %3427 = landingpad { ptr, i32 }
          cleanup
  %3428 = extractvalue { ptr, i32 } %3427, 0
  store ptr %3428, ptr %6, align 8
  %3429 = extractvalue { ptr, i32 } %3427, 1
  store i32 %3429, ptr %7, align 4
  br label %3434

3430:                                             ; preds = %3251, %3249, %3247
  %3431 = landingpad { ptr, i32 }
          cleanup
  %3432 = extractvalue { ptr, i32 } %3431, 0
  store ptr %3432, ptr %6, align 8
  %3433 = extractvalue { ptr, i32 } %3431, 1
  store i32 %3433, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %429) #7
  br label %3434

3434:                                             ; preds = %3430, %3426
  call void @llvm.lifetime.end.p0(i64 32, ptr %429) #7
  br label %3435

3435:                                             ; preds = %3434, %3422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %427) #7
  br label %3436

3436:                                             ; preds = %3435, %3418
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %427) #7
  br label %3530

3437:                                             ; preds = %3254, %3223
  %3438 = getelementptr inbounds %struct.LodePNGState, ptr %403, i32 0, i32 4
  %3439 = getelementptr inbounds %struct.LodePNGInfo, ptr %3438, i32 0, i32 3
  %3440 = getelementptr inbounds %struct.LodePNGColorMode, ptr %3439, i32 0, i32 0
  %3441 = load i32, ptr %3440, align 8, !tbaa !47
  %3442 = icmp eq i32 4, %3441
  br i1 %3442, label %3443, label %3517

3443:                                             ; preds = %3437
  call void @llvm.lifetime.start.p0(i64 32, ptr %430) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %431) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %432) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %433) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %434) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %435) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %435) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %434, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %435)
          to label %3444 unwind label %3469

3444:                                             ; preds = %3443
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %433, ptr noundef nonnull align 8 dereferenceable(32) %434, ptr noundef @.str.502)
          to label %3445 unwind label %3473

3445:                                             ; preds = %3444
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %432, ptr noundef nonnull align 8 dereferenceable(32) %433, ptr noundef @.str.3)
          to label %3446 unwind label %3477

3446:                                             ; preds = %3445
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %431, ptr noundef nonnull align 8 dereferenceable(32) %432, ptr noundef @.str.323)
          to label %3447 unwind label %3481

3447:                                             ; preds = %3446
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %430, ptr noundef nonnull align 8 dereferenceable(32) %431, ptr noundef @.str.266)
          to label %3448 unwind label %3485

3448:                                             ; preds = %3447
  %3449 = 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) %430)
          to label %3450 unwind label %3489

3450:                                             ; preds = %3448
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %430) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %431) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %432) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %433) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %434) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %435) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %435) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %434) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %433) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %432) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %431) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %430) #7
  %3451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.267)
          to label %3452 unwind label %3328

3452:                                             ; preds = %3450
  call void @llvm.lifetime.start.p0(i64 32, ptr %436) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #7
  store i32 4, ptr %437, align 4, !tbaa !48
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %436, ptr noundef nonnull align 4 dereferenceable(4) %437)
          to label %3453 unwind label %3498

3453:                                             ; preds = %3452
  %3454 = 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) %3451, ptr noundef nonnull align 8 dereferenceable(32) %436)
          to label %3455 unwind label %3502

3455:                                             ; preds = %3453
  %3456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3454, ptr noundef @.str.20)
          to label %3457 unwind label %3502

3457:                                             ; preds = %3455
  call void @llvm.lifetime.start.p0(i64 32, ptr %438) #7
  %3458 = getelementptr inbounds %struct.LodePNGState, ptr %403, i32 0, i32 4
  %3459 = getelementptr inbounds %struct.LodePNGInfo, ptr %3458, i32 0, i32 3
  %3460 = getelementptr inbounds %struct.LodePNGColorMode, ptr %3459, i32 0, i32 0
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %438, ptr noundef nonnull align 4 dereferenceable(4) %3460)
          to label %3461 unwind label %3506

3461:                                             ; preds = %3457
  %3462 = 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) %3456, ptr noundef nonnull align 8 dereferenceable(32) %438)
          to label %3463 unwind label %3510

3463:                                             ; preds = %3461
  %3464 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3462, ptr noundef @.str.21)
          to label %3465 unwind label %3510

3465:                                             ; preds = %3463
  %3466 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %3464, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %3467 unwind label %3510

3467:                                             ; preds = %3465
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %438) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %438) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %436) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %436) #7
  invoke void @_Z4failv()
          to label %3468 unwind label %3328

3468:                                             ; preds = %3467
  br label %3517

3469:                                             ; preds = %3443
  %3470 = landingpad { ptr, i32 }
          cleanup
  %3471 = extractvalue { ptr, i32 } %3470, 0
  store ptr %3471, ptr %6, align 8
  %3472 = extractvalue { ptr, i32 } %3470, 1
  store i32 %3472, ptr %7, align 4
  br label %3497

3473:                                             ; preds = %3444
  %3474 = landingpad { ptr, i32 }
          cleanup
  %3475 = extractvalue { ptr, i32 } %3474, 0
  store ptr %3475, ptr %6, align 8
  %3476 = extractvalue { ptr, i32 } %3474, 1
  store i32 %3476, ptr %7, align 4
  br label %3496

3477:                                             ; preds = %3445
  %3478 = landingpad { ptr, i32 }
          cleanup
  %3479 = extractvalue { ptr, i32 } %3478, 0
  store ptr %3479, ptr %6, align 8
  %3480 = extractvalue { ptr, i32 } %3478, 1
  store i32 %3480, ptr %7, align 4
  br label %3495

3481:                                             ; preds = %3446
  %3482 = landingpad { ptr, i32 }
          cleanup
  %3483 = extractvalue { ptr, i32 } %3482, 0
  store ptr %3483, ptr %6, align 8
  %3484 = extractvalue { ptr, i32 } %3482, 1
  store i32 %3484, ptr %7, align 4
  br label %3494

3485:                                             ; preds = %3447
  %3486 = landingpad { ptr, i32 }
          cleanup
  %3487 = extractvalue { ptr, i32 } %3486, 0
  store ptr %3487, ptr %6, align 8
  %3488 = extractvalue { ptr, i32 } %3486, 1
  store i32 %3488, ptr %7, align 4
  br label %3493

3489:                                             ; preds = %3448
  %3490 = landingpad { ptr, i32 }
          cleanup
  %3491 = extractvalue { ptr, i32 } %3490, 0
  store ptr %3491, ptr %6, align 8
  %3492 = extractvalue { ptr, i32 } %3490, 1
  store i32 %3492, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %430) #7
  br label %3493

3493:                                             ; preds = %3489, %3485
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %431) #7
  br label %3494

3494:                                             ; preds = %3493, %3481
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %432) #7
  br label %3495

3495:                                             ; preds = %3494, %3477
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %433) #7
  br label %3496

3496:                                             ; preds = %3495, %3473
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %434) #7
  br label %3497

3497:                                             ; preds = %3496, %3469
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %435) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %435) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %434) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %433) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %432) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %431) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %430) #7
  br label %3530

3498:                                             ; preds = %3452
  %3499 = landingpad { ptr, i32 }
          cleanup
  %3500 = extractvalue { ptr, i32 } %3499, 0
  store ptr %3500, ptr %6, align 8
  %3501 = extractvalue { ptr, i32 } %3499, 1
  store i32 %3501, ptr %7, align 4
  br label %3516

3502:                                             ; preds = %3455, %3453
  %3503 = landingpad { ptr, i32 }
          cleanup
  %3504 = extractvalue { ptr, i32 } %3503, 0
  store ptr %3504, ptr %6, align 8
  %3505 = extractvalue { ptr, i32 } %3503, 1
  store i32 %3505, ptr %7, align 4
  br label %3515

3506:                                             ; preds = %3457
  %3507 = landingpad { ptr, i32 }
          cleanup
  %3508 = extractvalue { ptr, i32 } %3507, 0
  store ptr %3508, ptr %6, align 8
  %3509 = extractvalue { ptr, i32 } %3507, 1
  store i32 %3509, ptr %7, align 4
  br label %3514

3510:                                             ; preds = %3465, %3463, %3461
  %3511 = landingpad { ptr, i32 }
          cleanup
  %3512 = extractvalue { ptr, i32 } %3511, 0
  store ptr %3512, ptr %6, align 8
  %3513 = extractvalue { ptr, i32 } %3511, 1
  store i32 %3513, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %438) #7
  br label %3514

3514:                                             ; preds = %3510, %3506
  call void @llvm.lifetime.end.p0(i64 32, ptr %438) #7
  br label %3515

3515:                                             ; preds = %3514, %3502
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %436) #7
  br label %3516

3516:                                             ; preds = %3515, %3498
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %436) #7
  br label %3530

3517:                                             ; preds = %3468, %3437
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %404) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %404) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %403) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %403) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %385) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %385) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %384) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %384) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %383) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %383) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %380) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %380) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #7
  store i32 32, ptr %440, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #7
  store i32 32, ptr %441, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %442) #7
  %3518 = load i32, ptr %440, align 4, !tbaa !5
  %3519 = load i32, ptr %441, align 4, !tbaa !5
  %3520 = mul i32 %3518, %3519
  %3521 = mul i32 %3520, 4
  %3522 = zext i32 %3521 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %443) #7
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %443) #7
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %3522, ptr noundef nonnull align 1 dereferenceable(1) %443)
          to label %3523 unwind label %3536

3523:                                             ; preds = %3517
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %443) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %443) #7
  call void @llvm.lifetime.start.p0(i64 12, ptr %444) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %444, ptr align 4 @__const._Z16testColorProfilev.colors.503, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %445) #7
  store i64 0, ptr %445, align 8, !tbaa !9
  br label %3524

3524:                                             ; preds = %3558, %3523
  %3525 = load i64, ptr %445, align 8, !tbaa !9
  %3526 = add i64 %3525, 4
  %3527 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %442) #7
  %3528 = icmp ule i64 %3526, %3527
  br i1 %3528, label %3540, label %3529

3529:                                             ; preds = %3524
  call void @llvm.lifetime.end.p0(i64 8, ptr %445) #7
  br label %3561

3530:                                             ; preds = %3516, %3497, %3436, %3417, %3388, %3328
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %404) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %404) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %403) #7
  br label %3531

3531:                                             ; preds = %3530, %3324
  call void @llvm.lifetime.end.p0(i64 512, ptr %403) #7
  br label %3532

3532:                                             ; preds = %3531, %3323, %3263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %385) #7
  br label %3533

3533:                                             ; preds = %3532, %3259
  call void @llvm.lifetime.end.p0(i64 32, ptr %385) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %384) #7
  br label %3534

3534:                                             ; preds = %3533, %3255
  call void @llvm.lifetime.end.p0(i64 512, ptr %384) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %383) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %383) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %380) #7
  br label %3535

3535:                                             ; preds = %3534, %3115
  call void @llvm.lifetime.end.p0(i64 24, ptr %380) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #7
  br label %3671

3536:                                             ; preds = %3517
  %3537 = landingpad { ptr, i32 }
          cleanup
  %3538 = extractvalue { ptr, i32 } %3537, 0
  store ptr %3538, ptr %6, align 8
  %3539 = extractvalue { ptr, i32 } %3537, 1
  store i32 %3539, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %443) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %443) #7
  br label %3670

3540:                                             ; preds = %3524
  %3541 = load i64, ptr %445, align 8, !tbaa !9
  %3542 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %3541) #7
  store i8 -1, ptr %3542, align 1, !tbaa !11
  %3543 = load i64, ptr %445, align 8, !tbaa !9
  %3544 = udiv i64 %3543, 4
  %3545 = urem i64 %3544, 3
  %3546 = getelementptr inbounds [3 x i32], ptr %444, i64 0, i64 %3545
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  %3548 = trunc i32 %3547 to i8
  %3549 = load i64, ptr %445, align 8, !tbaa !9
  %3550 = add i64 %3549, 3
  %3551 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %3550) #7
  store i8 %3548, ptr %3551, align 1, !tbaa !11
  %3552 = load i64, ptr %445, align 8, !tbaa !9
  %3553 = add i64 %3552, 2
  %3554 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %3553) #7
  store i8 %3548, ptr %3554, align 1, !tbaa !11
  %3555 = load i64, ptr %445, align 8, !tbaa !9
  %3556 = add i64 %3555, 1
  %3557 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %3556) #7
  store i8 %3548, ptr %3557, align 1, !tbaa !11
  br label %3558

3558:                                             ; preds = %3540
  %3559 = load i64, ptr %445, align 8, !tbaa !9
  %3560 = add i64 %3559, 4
  store i64 %3560, ptr %445, align 8, !tbaa !9
  br label %3524, !llvm.loop !50

3561:                                             ; preds = %3529
  call void @llvm.lifetime.start.p0(i64 24, ptr %446) #7
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %446) #7
  call void @llvm.lifetime.start.p0(i64 512, ptr %447) #7
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %447)
          to label %3562 unwind label %3606

3562:                                             ; preds = %3561
  %3563 = getelementptr inbounds %struct.LodePNGState, ptr %447, i32 0, i32 4
  %3564 = getelementptr inbounds %struct.LodePNGInfo, ptr %3563, i32 0, i32 35
  store i32 1, ptr %3564, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 32, ptr %448) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %449) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %448, ptr noundef @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %449)
          to label %3565 unwind label %3610

3565:                                             ; preds = %3562
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %449) #7
  %3566 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %448, i64 noundef 1)
          to label %3567 unwind label %3614

3567:                                             ; preds = %3565
  store i8 0, ptr %3566, align 1, !tbaa !11
  %3568 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %448, i64 noundef 0)
          to label %3569 unwind label %3614

3569:                                             ; preds = %3567
  store i8 0, ptr %3568, align 1, !tbaa !11
  %3570 = getelementptr inbounds %struct.LodePNGState, ptr %447, i32 0, i32 4
  %3571 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %448) #7
  %3572 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %448) #7
  %3573 = trunc i64 %3572 to i32
  %3574 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef %3570, ptr noundef @.str.482, ptr noundef %3571, i32 noundef %3573)
          to label %3575 unwind label %3614

3575:                                             ; preds = %3569
  %3576 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef 0) #7
  %3577 = load i32, ptr %440, align 4, !tbaa !5
  %3578 = load i32, ptr %441, align 4, !tbaa !5
  %3579 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %446, ptr noundef %3576, i32 noundef %3577, i32 noundef %3578, ptr noundef nonnull align 8 dereferenceable(508) %447)
          to label %3580 unwind label %3614

3580:                                             ; preds = %3575
  store i32 %3579, ptr %439, align 4, !tbaa !5
  %3581 = load i32, ptr %439, align 4, !tbaa !5
  %3582 = icmp eq i32 0, %3581
  br i1 %3582, label %3583, label %3666

3583:                                             ; preds = %3580
  call void @llvm.lifetime.start.p0(i64 32, ptr %450) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %451) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %452) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %453) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %454) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %455) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %455) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %454, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %455)
          to label %3584 unwind label %3618

3584:                                             ; preds = %3583
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %453, ptr noundef nonnull align 8 dereferenceable(32) %454, ptr noundef @.str.504)
          to label %3585 unwind label %3622

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

3586:                                             ; preds = %3585
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %451, ptr noundef nonnull align 8 dereferenceable(32) %452, ptr noundef @.str.335)
          to label %3587 unwind label %3630

3587:                                             ; preds = %3586
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %450, ptr noundef nonnull align 8 dereferenceable(32) %451, ptr noundef @.str.266)
          to label %3588 unwind label %3634

3588:                                             ; preds = %3587
  %3589 = 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) %450)
          to label %3590 unwind label %3638

3590:                                             ; preds = %3588
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %450) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %451) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %452) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %453) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %454) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %455) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %455) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %454) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %453) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %452) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %451) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %450) #7
  %3591 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.267)
          to label %3592 unwind label %3614

3592:                                             ; preds = %3590
  call void @llvm.lifetime.start.p0(i64 32, ptr %456) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #7
  store i32 0, ptr %457, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %456, ptr noundef nonnull align 4 dereferenceable(4) %457)
          to label %3593 unwind label %3647

3593:                                             ; preds = %3592
  %3594 = 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) %3591, ptr noundef nonnull align 8 dereferenceable(32) %456)
          to label %3595 unwind label %3651

3595:                                             ; preds = %3593
  %3596 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3594, ptr noundef @.str.20)
          to label %3597 unwind label %3651

3597:                                             ; preds = %3595
  call void @llvm.lifetime.start.p0(i64 32, ptr %458) #7
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %458, ptr noundef nonnull align 4 dereferenceable(4) %439)
          to label %3598 unwind label %3655

3598:                                             ; preds = %3597
  %3599 = 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) %3596, ptr noundef nonnull align 8 dereferenceable(32) %458)
          to label %3600 unwind label %3659

3600:                                             ; preds = %3598
  %3601 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3599, ptr noundef @.str.21)
          to label %3602 unwind label %3659

3602:                                             ; preds = %3600
  %3603 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %3601, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %3604 unwind label %3659

3604:                                             ; preds = %3602
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %458) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %458) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %456) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %456) #7
  invoke void @_Z4failv()
          to label %3605 unwind label %3614

3605:                                             ; preds = %3604
  br label %3666

3606:                                             ; preds = %3561
  %3607 = landingpad { ptr, i32 }
          cleanup
  %3608 = extractvalue { ptr, i32 } %3607, 0
  store ptr %3608, ptr %6, align 8
  %3609 = extractvalue { ptr, i32 } %3607, 1
  store i32 %3609, ptr %7, align 4
  br label %3669

3610:                                             ; preds = %3562
  %3611 = landingpad { ptr, i32 }
          cleanup
  %3612 = extractvalue { ptr, i32 } %3611, 0
  store ptr %3612, ptr %6, align 8
  %3613 = extractvalue { ptr, i32 } %3611, 1
  store i32 %3613, ptr %7, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %449) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %449) #7
  br label %3668

3614:                                             ; preds = %3604, %3590, %3575, %3569, %3567, %3565
  %3615 = landingpad { ptr, i32 }
          cleanup
  %3616 = extractvalue { ptr, i32 } %3615, 0
  store ptr %3616, ptr %6, align 8
  %3617 = extractvalue { ptr, i32 } %3615, 1
  store i32 %3617, ptr %7, align 4
  br label %3667

3618:                                             ; preds = %3583
  %3619 = landingpad { ptr, i32 }
          cleanup
  %3620 = extractvalue { ptr, i32 } %3619, 0
  store ptr %3620, ptr %6, align 8
  %3621 = extractvalue { ptr, i32 } %3619, 1
  store i32 %3621, ptr %7, align 4
  br label %3646

3622:                                             ; preds = %3584
  %3623 = landingpad { ptr, i32 }
          cleanup
  %3624 = extractvalue { ptr, i32 } %3623, 0
  store ptr %3624, ptr %6, align 8
  %3625 = extractvalue { ptr, i32 } %3623, 1
  store i32 %3625, ptr %7, align 4
  br label %3645

3626:                                             ; preds = %3585
  %3627 = landingpad { ptr, i32 }
          cleanup
  %3628 = extractvalue { ptr, i32 } %3627, 0
  store ptr %3628, ptr %6, align 8
  %3629 = extractvalue { ptr, i32 } %3627, 1
  store i32 %3629, ptr %7, align 4
  br label %3644

3630:                                             ; preds = %3586
  %3631 = landingpad { ptr, i32 }
          cleanup
  %3632 = extractvalue { ptr, i32 } %3631, 0
  store ptr %3632, ptr %6, align 8
  %3633 = extractvalue { ptr, i32 } %3631, 1
  store i32 %3633, ptr %7, align 4
  br label %3643

3634:                                             ; preds = %3587
  %3635 = landingpad { ptr, i32 }
          cleanup
  %3636 = extractvalue { ptr, i32 } %3635, 0
  store ptr %3636, ptr %6, align 8
  %3637 = extractvalue { ptr, i32 } %3635, 1
  store i32 %3637, ptr %7, align 4
  br label %3642

3638:                                             ; preds = %3588
  %3639 = landingpad { ptr, i32 }
          cleanup
  %3640 = extractvalue { ptr, i32 } %3639, 0
  store ptr %3640, ptr %6, align 8
  %3641 = extractvalue { ptr, i32 } %3639, 1
  store i32 %3641, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %450) #7
  br label %3642

3642:                                             ; preds = %3638, %3634
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %451) #7
  br label %3643

3643:                                             ; preds = %3642, %3630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %452) #7
  br label %3644

3644:                                             ; preds = %3643, %3626
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %453) #7
  br label %3645

3645:                                             ; preds = %3644, %3622
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %454) #7
  br label %3646

3646:                                             ; preds = %3645, %3618
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %455) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %455) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %454) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %453) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %452) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %451) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %450) #7
  br label %3667

3647:                                             ; preds = %3592
  %3648 = landingpad { ptr, i32 }
          cleanup
  %3649 = extractvalue { ptr, i32 } %3648, 0
  store ptr %3649, ptr %6, align 8
  %3650 = extractvalue { ptr, i32 } %3648, 1
  store i32 %3650, ptr %7, align 4
  br label %3665

3651:                                             ; preds = %3595, %3593
  %3652 = landingpad { ptr, i32 }
          cleanup
  %3653 = extractvalue { ptr, i32 } %3652, 0
  store ptr %3653, ptr %6, align 8
  %3654 = extractvalue { ptr, i32 } %3652, 1
  store i32 %3654, ptr %7, align 4
  br label %3664

3655:                                             ; preds = %3597
  %3656 = landingpad { ptr, i32 }
          cleanup
  %3657 = extractvalue { ptr, i32 } %3656, 0
  store ptr %3657, ptr %6, align 8
  %3658 = extractvalue { ptr, i32 } %3656, 1
  store i32 %3658, ptr %7, align 4
  br label %3663

3659:                                             ; preds = %3602, %3600, %3598
  %3660 = landingpad { ptr, i32 }
          cleanup
  %3661 = extractvalue { ptr, i32 } %3660, 0
  store ptr %3661, ptr %6, align 8
  %3662 = extractvalue { ptr, i32 } %3660, 1
  store i32 %3662, ptr %7, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %458) #7
  br label %3663

3663:                                             ; preds = %3659, %3655
  call void @llvm.lifetime.end.p0(i64 32, ptr %458) #7
  br label %3664

3664:                                             ; preds = %3663, %3651
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %456) #7
  br label %3665

3665:                                             ; preds = %3664, %3647
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %456) #7
  br label %3667

3666:                                             ; preds = %3605, %3580
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %448) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %448) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %447) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %447) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %446) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %446) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %444) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %442) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %442) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #7
  ret void

3667:                                             ; preds = %3665, %3646, %3614
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %448) #7
  br label %3668

3668:                                             ; preds = %3667, %3610
  call void @llvm.lifetime.end.p0(i64 32, ptr %448) #7
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %447) #7
  br label %3669

3669:                                             ; preds = %3668, %3606
  call void @llvm.lifetime.end.p0(i64 512, ptr %447) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %446) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %446) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr %444) #7
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %442) #7
  br label %3670

3670:                                             ; preds = %3669, %3536
  call void @llvm.lifetime.end.p0(i64 24, ptr %442) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #7
  br label %3671

3671:                                             ; preds = %3670, %3535, %3114, %2771, %2187, %1611, %1050
  %3672 = load ptr, ptr %6, align 8
  %3673 = load i32, ptr %7, align 4
  %3674 = insertvalue { ptr, i32 } poison, ptr %3672, 0
  %3675 = insertvalue { ptr, i32 } %3674, i32 %3673, 1
  resume { ptr, i32 } %3675
}

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

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

; 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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}
!14 = !{!15, !6, i64 372}
!15 = !{!"_ZTS12LodePNGState", !16, i64 8, !19, i64 64, !22, i64 152, !24, i64 192, !6, i64 504}
!16 = !{!"_ZTS22LodePNGDecoderSettings", !17, i64 0, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52}
!17 = !{!"_ZTS25LodePNGDecompressSettings", !6, i64 0, !6, i64 4, !18, i64 8, !18, i64 16, !18, i64 24}
!18 = !{!"any pointer", !7, i64 0}
!19 = !{!"_ZTS22LodePNGEncoderSettings", !20, i64 0, !6, i64 48, !6, i64 52, !21, i64 56, !18, i64 64, !6, i64 72, !6, i64 76, !6, i64 80}
!20 = !{!"_ZTS23LodePNGCompressSettings", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !18, i64 24, !18, i64 32, !18, i64 40}
!21 = !{!"_ZTS21LodePNGFilterStrategy", !7, i64 0}
!22 = !{!"_ZTS16LodePNGColorMode", !23, i64 0, !6, i64 4, !18, i64 8, !10, i64 16, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36}
!23 = !{!"_ZTS16LodePNGColorType", !7, i64 0}
!24 = !{!"_ZTS11LodePNGInfo", !6, i64 0, !6, i64 4, !6, i64 8, !22, i64 16, !6, i64 56, !6, i64 60, !6, i64 64, !6, i64 68, !10, i64 72, !18, i64 80, !18, i64 88, !10, i64 96, !18, i64 104, !18, i64 112, !18, i64 120, !18, i64 128, !6, i64 136, !25, i64 140, !6, i64 164, !6, i64 168, !6, i64 172, !6, i64 176, !6, i64 180, !6, i64 184, !6, i64 188, !6, i64 192, !6, i64 196, !6, i64 200, !6, i64 204, !6, i64 208, !6, i64 212, !6, i64 216, !6, i64 220, !6, i64 224, !6, i64 228, !6, i64 232, !18, i64 240, !18, i64 248, !6, i64 256, !7, i64 264, !7, i64 288}
!25 = !{!"_ZTS11LodePNGTime", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!26 = !{!15, !6, i64 376}
!27 = !{!15, !6, i64 380}
!28 = !{!15, !6, i64 384}
!29 = !{!15, !6, i64 388}
!30 = !{!15, !6, i64 392}
!31 = !{!15, !6, i64 396}
!32 = !{!15, !6, i64 400}
!33 = !{!15, !6, i64 404}
!34 = !{!15, !6, i64 408}
!35 = !{!15, !6, i64 412}
!36 = distinct !{!36, !13}
!37 = distinct !{!37, !13}
!38 = !{!15, !6, i64 416}
!39 = !{!15, !6, i64 420}
!40 = distinct !{!40, !13}
!41 = distinct !{!41, !13}
!42 = !{!15, !6, i64 424}
!43 = distinct !{!43, !13}
!44 = distinct !{!44, !13}
!45 = distinct !{!45, !13}
!46 = distinct !{!46, !13}
!47 = !{!15, !23, i64 208}
!48 = !{!23, !23, i64 0}
!49 = distinct !{!49, !13}
!50 = distinct !{!50, !13}


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

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

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.2 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.481 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.495 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z16testColorProfilev.colors = external hidden unnamed_addr constant [3 x i32], align 4
@.str.496 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.497 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z16testColorProfilev.colors.503 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.504 = 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 uwtable
declare dso_local void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

declare 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

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

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

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

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

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

; 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 uwtable
declare dso_local void @_Z8valtostrI16LodePNGColorTypeENSt7__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 uwtable
declare dso_local void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508), ptr noundef nonnull align 8 dereferenceable(508)) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local void @_Z16testColorProfilev() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca %"class.std::vector", align 8
  %4 = alloca %"class.std::allocator.0", align 1
  %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::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.lodepng::State", align 8
  %18 = alloca %"class.std::vector", align 8
  %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::allocator", align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::allocator", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca i32, align 4
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i64, align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca i64, align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %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::allocator", align 1
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::vector", align 8
  %68 = alloca %"class.std::allocator.0", align 1
  %69 = alloca %"class.std::vector", align 8
  %70 = alloca %"class.lodepng::State", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::allocator", align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::allocator", align 1
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.lodepng::State", align 8
  %82 = alloca %"class.std::vector", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::allocator", align 1
  %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::allocator", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator", align 1
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::allocator", align 1
  %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::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca i64, align 8
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca i64, align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::allocator", align 1
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca %"class.std::vector", align 8
  %132 = alloca %"class.std::allocator.0", align 1
  %133 = alloca %"class.std::vector", align 8
  %134 = alloca %"class.lodepng::State", 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 %"class.std::allocator", align 1
  %141 = alloca %"class.std::__cxx11::basic_string", align 8
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::allocator", align 1
  %144 = alloca %"class.std::allocator", align 1
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::allocator", align 1
  %147 = alloca %"class.lodepng::State", align 8
  %148 = alloca %"class.std::vector", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::allocator", align 1
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::allocator", align 1
  %156 = alloca %"class.std::allocator", align 1
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::allocator", align 1
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::allocator", align 1
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca i32, align 4
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::allocator", align 1
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca i32, align 4
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::__cxx11::basic_string", align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::allocator", align 1
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca i64, align 8
  %185 = alloca %"class.std::__cxx11::basic_string", align 8
  %186 = alloca i64, align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::allocator", align 1
  %193 = alloca %"class.std::__cxx11::basic_string", align 8
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca %"class.std::vector", align 8
  %198 = alloca %"class.std::allocator.0", align 1
  %199 = alloca %"class.std::vector", align 8
  %200 = alloca %"class.lodepng::State", align 8
  %201 = alloca %"class.std::__cxx11::basic_string", align 8
  %202 = alloca %"class.std::allocator", align 1
  %203 = alloca %"class.std::__cxx11::basic_string", align 8
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca %"class.std::__cxx11::basic_string", align 8
  %206 = alloca %"class.std::allocator", align 1
  %207 = alloca %"class.std::__cxx11::basic_string", align 8
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::allocator", align 1
  %210 = alloca %"class.std::allocator", align 1
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca %"class.std::allocator", align 1
  %213 = alloca %"class.lodepng::State", align 8
  %214 = alloca %"class.std::vector", align 8
  %215 = alloca %"class.std::__cxx11::basic_string", align 8
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca %"class.std::__cxx11::basic_string", align 8
  %218 = alloca %"class.std::allocator", align 1
  %219 = alloca %"class.std::__cxx11::basic_string", align 8
  %220 = alloca %"class.std::__cxx11::basic_string", align 8
  %221 = alloca %"class.std::allocator", align 1
  %222 = alloca %"class.std::allocator", align 1
  %223 = alloca %"class.std::__cxx11::basic_string", align 8
  %224 = alloca %"class.std::allocator", align 1
  %225 = alloca %"class.std::__cxx11::basic_string", align 8
  %226 = alloca %"class.std::__cxx11::basic_string", align 8
  %227 = alloca %"class.std::__cxx11::basic_string", align 8
  %228 = alloca %"class.std::__cxx11::basic_string", align 8
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca %"class.std::allocator", align 1
  %231 = alloca %"class.std::__cxx11::basic_string", align 8
  %232 = alloca i32, align 4
  %233 = alloca %"class.std::__cxx11::basic_string", align 8
  %234 = alloca %"class.std::__cxx11::basic_string", align 8
  %235 = alloca %"class.std::__cxx11::basic_string", align 8
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::__cxx11::basic_string", align 8
  %239 = alloca %"class.std::allocator", align 1
  %240 = alloca %"class.std::__cxx11::basic_string", align 8
  %241 = alloca i32, align 4
  %242 = alloca %"class.std::__cxx11::basic_string", align 8
  %243 = alloca %"class.std::__cxx11::basic_string", align 8
  %244 = alloca %"class.std::__cxx11::basic_string", align 8
  %245 = alloca %"class.std::__cxx11::basic_string", align 8
  %246 = alloca %"class.std::__cxx11::basic_string", align 8
  %247 = alloca %"class.std::__cxx11::basic_string", align 8
  %248 = alloca %"class.std::allocator", align 1
  %249 = alloca %"class.std::__cxx11::basic_string", align 8
  %250 = alloca i64, align 8
  %251 = alloca %"class.std::__cxx11::basic_string", align 8
  %252 = alloca i64, align 8
  %253 = alloca %"class.std::__cxx11::basic_string", align 8
  %254 = alloca %"class.std::__cxx11::basic_string", align 8
  %255 = alloca %"class.std::__cxx11::basic_string", align 8
  %256 = alloca %"class.std::__cxx11::basic_string", align 8
  %257 = alloca %"class.std::__cxx11::basic_string", align 8
  %258 = alloca %"class.std::allocator", align 1
  %259 = alloca %"class.std::__cxx11::basic_string", align 8
  %260 = alloca %"class.std::__cxx11::basic_string", align 8
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca %"class.std::vector", align 8
  %264 = alloca %"class.std::allocator.0", align 1
  %265 = alloca %"class.std::vector", align 8
  %266 = alloca %"class.lodepng::State", align 8
  %267 = alloca %"class.std::__cxx11::basic_string", align 8
  %268 = alloca %"class.std::allocator", align 1
  %269 = alloca %"class.std::__cxx11::basic_string", align 8
  %270 = alloca %"class.std::__cxx11::basic_string", align 8
  %271 = alloca %"class.std::__cxx11::basic_string", align 8
  %272 = alloca %"class.std::allocator", align 1
  %273 = alloca %"class.std::__cxx11::basic_string", align 8
  %274 = alloca %"class.std::__cxx11::basic_string", align 8
  %275 = alloca %"class.std::allocator", align 1
  %276 = alloca %"class.std::allocator", align 1
  %277 = alloca %"class.std::__cxx11::basic_string", align 8
  %278 = alloca %"class.std::allocator", align 1
  %279 = alloca %"class.lodepng::State", align 8
  %280 = alloca %"class.std::vector", align 8
  %281 = alloca %"class.std::__cxx11::basic_string", align 8
  %282 = alloca %"class.std::__cxx11::basic_string", align 8
  %283 = alloca %"class.std::__cxx11::basic_string", align 8
  %284 = alloca %"class.std::allocator", align 1
  %285 = alloca %"class.std::__cxx11::basic_string", align 8
  %286 = alloca %"class.std::__cxx11::basic_string", align 8
  %287 = alloca %"class.std::allocator", align 1
  %288 = alloca %"class.std::allocator", align 1
  %289 = alloca %"class.std::__cxx11::basic_string", align 8
  %290 = alloca %"class.std::allocator", align 1
  %291 = alloca %"class.std::__cxx11::basic_string", align 8
  %292 = alloca %"class.std::__cxx11::basic_string", align 8
  %293 = alloca %"class.std::__cxx11::basic_string", align 8
  %294 = alloca %"class.std::__cxx11::basic_string", align 8
  %295 = alloca %"class.std::__cxx11::basic_string", align 8
  %296 = alloca %"class.std::allocator", align 1
  %297 = alloca %"class.std::__cxx11::basic_string", align 8
  %298 = alloca i32, align 4
  %299 = alloca %"class.std::__cxx11::basic_string", align 8
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca %"class.std::vector", align 8
  %303 = alloca %"class.std::allocator.0", align 1
  %304 = alloca %"class.std::vector", align 8
  %305 = alloca %"class.lodepng::State", align 8
  %306 = alloca %"class.std::__cxx11::basic_string", align 8
  %307 = alloca %"class.std::allocator", align 1
  %308 = alloca %"class.std::__cxx11::basic_string", align 8
  %309 = alloca %"class.std::__cxx11::basic_string", align 8
  %310 = alloca %"class.std::__cxx11::basic_string", align 8
  %311 = alloca %"class.std::allocator", align 1
  %312 = alloca %"class.std::__cxx11::basic_string", align 8
  %313 = alloca %"class.std::__cxx11::basic_string", align 8
  %314 = alloca %"class.std::allocator", align 1
  %315 = alloca %"class.std::allocator", align 1
  %316 = alloca %"class.std::__cxx11::basic_string", align 8
  %317 = alloca %"class.std::allocator", align 1
  %318 = alloca %"class.lodepng::State", align 8
  %319 = alloca %"class.std::vector", align 8
  %320 = alloca %"class.std::__cxx11::basic_string", align 8
  %321 = alloca %"class.std::__cxx11::basic_string", align 8
  %322 = alloca %"class.std::__cxx11::basic_string", align 8
  %323 = alloca %"class.std::allocator", align 1
  %324 = alloca %"class.std::__cxx11::basic_string", align 8
  %325 = alloca %"class.std::__cxx11::basic_string", align 8
  %326 = alloca %"class.std::allocator", align 1
  %327 = alloca %"class.std::allocator", align 1
  %328 = alloca %"class.std::__cxx11::basic_string", align 8
  %329 = alloca %"class.std::allocator", align 1
  %330 = alloca %"class.std::__cxx11::basic_string", align 8
  %331 = alloca %"class.std::__cxx11::basic_string", align 8
  %332 = alloca %"class.std::__cxx11::basic_string", align 8
  %333 = alloca %"class.std::__cxx11::basic_string", align 8
  %334 = alloca %"class.std::__cxx11::basic_string", align 8
  %335 = alloca %"class.std::allocator", align 1
  %336 = alloca %"class.std::__cxx11::basic_string", align 8
  %337 = alloca i32, align 4
  %338 = alloca %"class.std::__cxx11::basic_string", align 8
  %339 = alloca %"class.std::__cxx11::basic_string", align 8
  %340 = alloca %"class.std::__cxx11::basic_string", align 8
  %341 = alloca %"class.std::__cxx11::basic_string", align 8
  %342 = alloca %"class.std::__cxx11::basic_string", align 8
  %343 = alloca %"class.std::__cxx11::basic_string", align 8
  %344 = alloca %"class.std::allocator", align 1
  %345 = alloca %"class.std::__cxx11::basic_string", align 8
  %346 = alloca i32, align 4
  %347 = alloca %"class.std::__cxx11::basic_string", align 8
  %348 = alloca i32, align 4
  %349 = alloca %"class.std::vector", align 8
  %350 = alloca %"class.std::allocator.0", align 1
  %351 = alloca %"class.std::vector", align 8
  %352 = alloca %"class.lodepng::State", align 8
  %353 = alloca %"class.std::__cxx11::basic_string", align 8
  %354 = alloca %"class.std::allocator", align 1
  %355 = alloca %"class.std::__cxx11::basic_string", align 8
  %356 = alloca %"class.std::__cxx11::basic_string", align 8
  %357 = alloca %"class.std::__cxx11::basic_string", align 8
  %358 = alloca %"class.std::__cxx11::basic_string", align 8
  %359 = alloca %"class.std::__cxx11::basic_string", align 8
  %360 = alloca %"class.std::allocator", align 1
  %361 = alloca %"class.std::__cxx11::basic_string", align 8
  %362 = alloca i32, align 4
  %363 = alloca %"class.std::__cxx11::basic_string", align 8
  %364 = 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.468)
  %365 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #6
  store i32 32, ptr %1, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #6
  store i32 32, ptr %2, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %366 unwind label %368

366:                                              ; preds = %0
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #6
  %367 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %.not1556 = icmp eq i64 %367, 0
  br i1 %.not1556, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %.lr.ph, %366
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %6) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6)
          to label %375 unwind label %433

368:                                              ; preds = %0
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #6
  br label %680

.lr.ph:                                           ; preds = %366, %.lr.ph
  %.04631511 = phi i64 [ %372, %.lr.ph ], [ 0, %366 ]
  %370 = trunc i64 %.04631511 to i8
  %371 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %.04631511) #6
  store i8 %370, ptr %371, align 1, !tbaa !9
  %372 = add nuw i64 %.04631511, 1
  %373 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %374 = icmp ult i64 %372, %373
  br i1 %374, label %.lr.ph, label %._crit_edge, !llvm.loop !10

375:                                              ; preds = %._crit_edge
  %376 = getelementptr inbounds i8, ptr %6, i64 372
  store <4 x i32> <i32 1, i32 12345, i32 1, i32 10>, ptr %376, align 4, !tbaa !5
  %377 = getelementptr inbounds i8, ptr %6, i64 388
  store <4 x i32> <i32 20, i32 30, i32 40, i32 100000>, ptr %377, align 4, !tbaa !5
  %378 = getelementptr inbounds i8, ptr %6, i64 404
  store i32 200000, ptr %378, align 4, !tbaa !12
  %379 = getelementptr inbounds i8, ptr %6, i64 408
  store i32 300000, ptr %379, align 8, !tbaa !25
  %380 = getelementptr inbounds i8, ptr %6, i64 412
  store i32 400000, ptr %380, align 4, !tbaa !26
  %381 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 0) #6
  %382 = load i32, ptr %1, align 4, !tbaa !5
  %383 = load i32, ptr %2, align 4, !tbaa !5
  %384 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull %381, i32 noundef %382, i32 noundef %383, ptr noundef nonnull align 8 dereferenceable(508) %6)
          to label %385 unwind label %435

385:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  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.10, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %386 unwind label %437

386:                                              ; preds = %385
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.469)
          to label %387 unwind label %439

387:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %388 unwind label %441

388:                                              ; preds = %387
  %389 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br i1 %389, label %390, label %391

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %393 unwind label %.critedge1133.thread

391:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %392 unwind label %.critedge1132.thread

392:                                              ; preds = %391
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %393 unwind label %.thread

393:                                              ; preds = %392, %390
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %394 unwind label %446

394:                                              ; preds = %393
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %384, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %395 unwind label %448

395:                                              ; preds = %394
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br i1 %389, label %.critedge1261, label %.critedge

.critedge:                                        ; preds = %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %.critedge1123

.critedge1261:                                    ; preds = %395
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  br label %.critedge1123

.critedge1123:                                    ; preds = %.critedge, %.critedge1261
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  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.end.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %17) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %17)
          to label %396 unwind label %454

396:                                              ; preds = %.critedge1123
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  %397 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 4 dereferenceable(4) %1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(508) %17, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %398 unwind label %456

398:                                              ; preds = %396
  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 1, ptr nonnull %22) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %399 unwind label %458

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 %20, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.470)
          to label %400 unwind label %460

400:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %401 unwind label %462

401:                                              ; preds = %400
  %402 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br i1 %402, label %403, label %404

403:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %406 unwind label %.critedge1138.thread

404:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %405 unwind label %.critedge1137.thread

405:                                              ; preds = %404
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %406 unwind label %.thread1289

406:                                              ; preds = %405, %403
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(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 align 8 dereferenceable(32) %23)
          to label %407 unwind label %467

407:                                              ; preds = %406
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %397, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %408 unwind label %469

408:                                              ; preds = %407
  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) %23) #6
  br i1 %402, label %.critedge1262, label %.critedge1125

.critedge1125:                                    ; preds = %408
  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 nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %.critedge1130

.critedge1262:                                    ; preds = %408
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #6
  br label %.critedge1130

.critedge1130:                                    ; preds = %.critedge1125, %.critedge1262
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %6, ptr noundef nonnull align 8 dereferenceable(508) %17)
          to label %409 unwind label %456

409:                                              ; preds = %.critedge1130
  %410 = load i32, ptr %1, align 4, !tbaa !5
  %.not = icmp eq i32 %410, 32
  br i1 %.not, label %503, label %411

411:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #6
  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 1, ptr nonnull %34) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %412 unwind label %475

412:                                              ; preds = %411
  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.471)
          to label %413 unwind label %477

413:                                              ; preds = %412
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.3)
          to label %414 unwind label %479

414:                                              ; preds = %413
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.190)
          to label %415 unwind label %481

415:                                              ; preds = %414
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.18)
          to label %416 unwind label %483

416:                                              ; preds = %415
  %417 = 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) %29)
          to label %418 unwind label %485

418:                                              ; preds = %416
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  %419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %420 unwind label %456

420:                                              ; preds = %418
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #6
  store i32 32, ptr %36, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %421 unwind label %492

421:                                              ; preds = %420
  %422 = 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) %419, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %423 unwind label %494

423:                                              ; preds = %421
  %424 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %422, ptr noundef nonnull @.str.20)
          to label %425 unwind label %494

425:                                              ; preds = %423
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 4 dereferenceable(4) %1)
          to label %426 unwind label %496

426:                                              ; preds = %425
  %427 = 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) %424, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %428 unwind label %498

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

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

432:                                              ; preds = %430
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  invoke void @_Z4failv()
          to label %503 unwind label %456

433:                                              ; preds = %._crit_edge
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %679

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

437:                                              ; preds = %385
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %453

439:                                              ; preds = %386
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %452

441:                                              ; preds = %387
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %451

.critedge1133.thread:                             ; preds = %390
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1133

.critedge1132.thread:                             ; preds = %391
  %444 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %.critedge1135

.thread:                                          ; preds = %392
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1132

446:                                              ; preds = %393
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %450

448:                                              ; preds = %394
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  br label %450

450:                                              ; preds = %446, %448
  %.pn = phi { ptr, i32 } [ %449, %448 ], [ %447, %446 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br i1 %389, label %.critedge1133, label %.critedge1132

.critedge1132:                                    ; preds = %450, %.thread
  %.pn.pn1276 = phi { ptr, i32 } [ %445, %.thread ], [ %.pn, %450 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %.critedge1135

.critedge1133:                                    ; preds = %450, %.critedge1133.thread
  %.pn.pn.pn.pn1288 = phi { ptr, i32 } [ %443, %.critedge1133.thread ], [ %.pn, %450 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  br label %.critedge1135

.critedge1135:                                    ; preds = %.critedge1132, %.critedge1132.thread, %.critedge1133
  %.pn.pn.pn.pn1287 = phi { ptr, i32 } [ %.pn.pn.pn.pn1288, %.critedge1133 ], [ %.pn.pn1276, %.critedge1132 ], [ %444, %.critedge1132.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #6
  br label %451

451:                                              ; preds = %.critedge1135, %441
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn1287, %.critedge1135 ], [ %442, %441 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  br label %452

452:                                              ; preds = %451, %439
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %451 ], [ %440, %439 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  br label %453

453:                                              ; preds = %452, %437
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %452 ], [ %438, %437 ]
  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.end.p0(i64 32, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  br label %678

454:                                              ; preds = %.critedge1123
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %677

456:                                              ; preds = %581, %565, %526, %512, %432, %418, %.critedge1130, %396
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %676

458:                                              ; preds = %398
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %474

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

462:                                              ; preds = %400
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %472

.critedge1138.thread:                             ; preds = %403
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1138

.critedge1137.thread:                             ; preds = %404
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %.critedge1140

.thread1289:                                      ; preds = %405
  %466 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1137

467:                                              ; preds = %406
  %468 = landingpad { ptr, i32 }
          cleanup
  br label %471

469:                                              ; preds = %407
  %470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %471

471:                                              ; preds = %467, %469
  %.pn762 = phi { ptr, i32 } [ %470, %469 ], [ %468, %467 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br i1 %402, label %.critedge1138, label %.critedge1137

.critedge1137:                                    ; preds = %471, %.thread1289
  %.pn762.pn1293 = phi { ptr, i32 } [ %466, %.thread1289 ], [ %.pn762, %471 ]
  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 nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #6
  br label %.critedge1140

.critedge1138:                                    ; preds = %471, %.critedge1138.thread
  %.pn762.pn.pn.pn1306 = phi { ptr, i32 } [ %464, %.critedge1138.thread ], [ %.pn762, %471 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #6
  br label %.critedge1140

.critedge1140:                                    ; preds = %.critedge1137, %.critedge1137.thread, %.critedge1138
  %.pn762.pn.pn.pn1305 = phi { ptr, i32 } [ %.pn762.pn.pn.pn1306, %.critedge1138 ], [ %.pn762.pn1293, %.critedge1137 ], [ %465, %.critedge1137.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #6
  br label %472

472:                                              ; preds = %.critedge1140, %462
  %.pn762.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn762.pn.pn.pn1305, %.critedge1140 ], [ %463, %462 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #6
  br label %473

473:                                              ; preds = %472, %460
  %.pn762.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn762.pn.pn.pn.pn, %472 ], [ %461, %460 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %474

474:                                              ; preds = %473, %458
  %.pn762.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn762.pn.pn.pn.pn.pn, %473 ], [ %459, %458 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #6
  call void @llvm.lifetime.end.p0(i64 1, 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 %676

475:                                              ; preds = %411
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %491

477:                                              ; preds = %412
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %490

479:                                              ; preds = %413
  %480 = landingpad { ptr, i32 }
          cleanup
  br label %489

481:                                              ; preds = %414
  %482 = landingpad { ptr, i32 }
          cleanup
  br label %488

483:                                              ; preds = %415
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %487

485:                                              ; preds = %416
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #6
  br label %487

487:                                              ; preds = %485, %483
  %.pn770 = phi { ptr, i32 } [ %486, %485 ], [ %484, %483 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %488

488:                                              ; preds = %487, %481
  %.pn770.pn = phi { ptr, i32 } [ %.pn770, %487 ], [ %482, %481 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  br label %489

489:                                              ; preds = %488, %479
  %.pn770.pn.pn = phi { ptr, i32 } [ %.pn770.pn, %488 ], [ %480, %479 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #6
  br label %490

490:                                              ; preds = %489, %477
  %.pn770.pn.pn.pn = phi { ptr, i32 } [ %.pn770.pn.pn, %489 ], [ %478, %477 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #6
  br label %491

491:                                              ; preds = %490, %475
  %.pn770.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn770.pn.pn.pn, %490 ], [ %476, %475 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #6
  br label %676

492:                                              ; preds = %420
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %502

494:                                              ; preds = %423, %421
  %495 = landingpad { ptr, i32 }
          cleanup
  br label %501

496:                                              ; preds = %425
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %500

498:                                              ; preds = %430, %428, %426
  %499 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #6
  br label %500

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

501:                                              ; preds = %500, %494
  %.pn776.pn = phi { ptr, i32 } [ %.pn776, %500 ], [ %495, %494 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #6
  br label %502

502:                                              ; preds = %501, %492
  %.pn776.pn.pn = phi { ptr, i32 } [ %.pn776.pn, %501 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #6
  br label %676

503:                                              ; preds = %432, %409
  %504 = load i32, ptr %2, align 4, !tbaa !5
  %.not780 = icmp eq i32 %504, 32
  br i1 %.not780, label %555, label %505

505:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %506 unwind label %527

506:                                              ; preds = %505
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.472)
          to label %507 unwind label %529

507:                                              ; preds = %506
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.3)
          to label %508 unwind label %531

508:                                              ; preds = %507
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.192)
          to label %509 unwind label %533

509:                                              ; preds = %508
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.18)
          to label %510 unwind label %535

510:                                              ; preds = %509
  %511 = 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) %38)
          to label %512 unwind label %537

512:                                              ; preds = %510
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  %513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %514 unwind label %456

514:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #6
  store i32 32, ptr %45, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 4 dereferenceable(4) %45)
          to label %515 unwind label %544

515:                                              ; preds = %514
  %516 = 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) %513, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %517 unwind label %546

517:                                              ; preds = %515
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %516, ptr noundef nonnull @.str.20)
          to label %519 unwind label %546

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

520:                                              ; preds = %519
  %521 = 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) %518, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %522 unwind label %550

522:                                              ; preds = %520
  %523 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %521, ptr noundef nonnull @.str.21)
          to label %524 unwind label %550

524:                                              ; preds = %522
  %525 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %523, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %526 unwind label %550

526:                                              ; preds = %524
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  invoke void @_Z4failv()
          to label %555 unwind label %456

527:                                              ; preds = %505
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %543

529:                                              ; preds = %506
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %542

531:                                              ; preds = %507
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %541

533:                                              ; preds = %508
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %540

535:                                              ; preds = %509
  %536 = landingpad { ptr, i32 }
          cleanup
  br label %539

537:                                              ; preds = %510
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %539

539:                                              ; preds = %537, %535
  %.pn781 = phi { ptr, i32 } [ %538, %537 ], [ %536, %535 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %540

540:                                              ; preds = %539, %533
  %.pn781.pn = phi { ptr, i32 } [ %.pn781, %539 ], [ %534, %533 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #6
  br label %541

541:                                              ; preds = %540, %531
  %.pn781.pn.pn = phi { ptr, i32 } [ %.pn781.pn, %540 ], [ %532, %531 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  br label %542

542:                                              ; preds = %541, %529
  %.pn781.pn.pn.pn = phi { ptr, i32 } [ %.pn781.pn.pn, %541 ], [ %530, %529 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #6
  br label %543

543:                                              ; preds = %542, %527
  %.pn781.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn781.pn.pn.pn, %542 ], [ %528, %527 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #6
  br label %676

544:                                              ; preds = %514
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %554

546:                                              ; preds = %517, %515
  %547 = landingpad { ptr, i32 }
          cleanup
  br label %553

548:                                              ; preds = %519
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %552

550:                                              ; preds = %524, %522, %520
  %551 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %552

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

553:                                              ; preds = %552, %546
  %.pn787.pn = phi { ptr, i32 } [ %.pn787, %552 ], [ %547, %546 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #6
  br label %554

554:                                              ; preds = %553, %544
  %.pn787.pn.pn = phi { ptr, i32 } [ %.pn787.pn, %553 ], [ %545, %544 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #6
  br label %676

555:                                              ; preds = %526, %503
  %556 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %557 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  %.not791 = icmp eq i64 %556, %557
  br i1 %.not791, label %610, label %558

558:                                              ; preds = %555
  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 32, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %559 unwind label %582

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 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.473)
          to label %560 unwind label %584

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 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.3)
          to label %561 unwind label %586

561:                                              ; preds = %560
  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.293)
          to label %562 unwind label %588

562:                                              ; preds = %561
  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.18)
          to label %563 unwind label %590

563:                                              ; preds = %562
  %564 = 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) %47)
          to label %565 unwind label %592

565:                                              ; preds = %563
  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 @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  %566 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %567 unwind label %456

567:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #6
  %568 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store i64 %568, ptr %54, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %569 unwind label %599

569:                                              ; preds = %567
  %570 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %566, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %571 unwind label %601

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

573:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #6
  %574 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  store i64 %574, ptr %56, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %575 unwind label %603

575:                                              ; preds = %573
  %576 = 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) %572, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %577 unwind label %605

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

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

581:                                              ; preds = %579
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  invoke void @_Z4failv()
          to label %610 unwind label %456

582:                                              ; preds = %558
  %583 = landingpad { ptr, i32 }
          cleanup
  br label %598

584:                                              ; preds = %559
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %597

586:                                              ; preds = %560
  %587 = landingpad { ptr, i32 }
          cleanup
  br label %596

588:                                              ; preds = %561
  %589 = landingpad { ptr, i32 }
          cleanup
  br label %595

590:                                              ; preds = %562
  %591 = landingpad { ptr, i32 }
          cleanup
  br label %594

592:                                              ; preds = %563
  %593 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #6
  br label %594

594:                                              ; preds = %592, %590
  %.pn792 = phi { ptr, i32 } [ %593, %592 ], [ %591, %590 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #6
  br label %595

595:                                              ; preds = %594, %588
  %.pn792.pn = phi { ptr, i32 } [ %.pn792, %594 ], [ %589, %588 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #6
  br label %596

596:                                              ; preds = %595, %586
  %.pn792.pn.pn = phi { ptr, i32 } [ %.pn792.pn, %595 ], [ %587, %586 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #6
  br label %597

597:                                              ; preds = %596, %584
  %.pn792.pn.pn.pn = phi { ptr, i32 } [ %.pn792.pn.pn, %596 ], [ %585, %584 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %598

598:                                              ; preds = %597, %582
  %.pn792.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn792.pn.pn.pn, %597 ], [ %583, %582 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %676

599:                                              ; preds = %567
  %600 = landingpad { ptr, i32 }
          cleanup
  br label %609

601:                                              ; preds = %571, %569
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %608

603:                                              ; preds = %573
  %604 = landingpad { ptr, i32 }
          cleanup
  br label %607

605:                                              ; preds = %579, %577, %575
  %606 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #6
  br label %607

607:                                              ; preds = %605, %603
  %.pn798 = phi { ptr, i32 } [ %606, %605 ], [ %604, %603 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #6
  br label %608

608:                                              ; preds = %607, %601
  %.pn798.pn = phi { ptr, i32 } [ %.pn798, %607 ], [ %602, %601 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  br label %609

609:                                              ; preds = %608, %599
  %.pn798.pn.pn = phi { ptr, i32 } [ %.pn798.pn, %608 ], [ %600, %599 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #6
  br label %676

610:                                              ; preds = %581, %555
  %611 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %.not1557 = icmp eq i64 %611, 0
  br i1 %.not1557, label %._crit_edge1515, label %.lr.ph1514

._crit_edge1515:                                  ; preds = %670, %610
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %17) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %17) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %6) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #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 @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #6
  store i32 32, ptr %65, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #6
  store i32 32, ptr %66, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %674 unwind label %681

.lr.ph1514:                                       ; preds = %610, %670
  %.04241512 = phi i64 [ %671, %670 ], [ 0, %610 ]
  %612 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %.04241512) #6
  %613 = load i8, ptr %612, align 1, !tbaa !9
  %614 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %.04241512) #6
  %615 = load i8, ptr %614, align 1, !tbaa !9
  %.not1100 = icmp eq i8 %613, %615
  br i1 %.not1100, label %670, label %616

616:                                              ; preds = %.lr.ph1514
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 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 1, ptr nonnull %62) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %617 unwind label %640

617:                                              ; preds = %616
  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.474)
          to label %618 unwind label %642

618:                                              ; preds = %617
  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.3)
          to label %619 unwind label %644

619:                                              ; preds = %618
  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.295)
          to label %620 unwind label %646

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

621:                                              ; preds = %620
  %622 = 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) %57)
          to label %623 unwind label %650

623:                                              ; preds = %621
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  %624 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %625 unwind label %657

625:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #6
  %626 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %.04241512) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 1 dereferenceable(1) %626)
          to label %627 unwind label %659

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

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

631:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #6
  %632 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %.04241512) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 1 dereferenceable(1) %632)
          to label %633 unwind label %663

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

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

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

639:                                              ; preds = %637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  invoke void @_Z4failv()
          to label %670 unwind label %657

640:                                              ; preds = %616
  %641 = landingpad { ptr, i32 }
          cleanup
  br label %656

642:                                              ; preds = %617
  %643 = landingpad { ptr, i32 }
          cleanup
  br label %655

644:                                              ; preds = %618
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %654

646:                                              ; preds = %619
  %647 = landingpad { ptr, i32 }
          cleanup
  br label %653

648:                                              ; preds = %620
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %652

650:                                              ; preds = %621
  %651 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #6
  br label %652

652:                                              ; preds = %650, %648
  %.pn1101 = phi { ptr, i32 } [ %651, %650 ], [ %649, %648 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %653

653:                                              ; preds = %652, %646
  %.pn1101.pn = phi { ptr, i32 } [ %.pn1101, %652 ], [ %647, %646 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #6
  br label %654

654:                                              ; preds = %653, %644
  %.pn1101.pn.pn = phi { ptr, i32 } [ %.pn1101.pn, %653 ], [ %645, %644 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #6
  br label %655

655:                                              ; preds = %654, %642
  %.pn1101.pn.pn.pn = phi { ptr, i32 } [ %.pn1101.pn.pn, %654 ], [ %643, %642 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #6
  br label %656

656:                                              ; preds = %655, %640
  %.pn1101.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1101.pn.pn.pn, %655 ], [ %641, %640 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #6
  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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #6
  br label %676

657:                                              ; preds = %639, %623
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %676

659:                                              ; preds = %625
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %669

661:                                              ; preds = %629, %627
  %662 = landingpad { ptr, i32 }
          cleanup
  br label %668

663:                                              ; preds = %631
  %664 = landingpad { ptr, i32 }
          cleanup
  br label %667

665:                                              ; preds = %637, %635, %633
  %666 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #6
  br label %667

667:                                              ; preds = %665, %663
  %.pn1107 = phi { ptr, i32 } [ %666, %665 ], [ %664, %663 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #6
  br label %668

668:                                              ; preds = %667, %661
  %.pn1107.pn = phi { ptr, i32 } [ %.pn1107, %667 ], [ %662, %661 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #6
  br label %669

669:                                              ; preds = %668, %659
  %.pn1107.pn.pn = phi { ptr, i32 } [ %.pn1107.pn, %668 ], [ %660, %659 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #6
  br label %676

670:                                              ; preds = %.lr.ph1514, %639
  %671 = add nuw i64 %.04241512, 1
  %672 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %673 = icmp ult i64 %671, %672
  br i1 %673, label %.lr.ph1514, label %._crit_edge1515, !llvm.loop !28

674:                                              ; preds = %._crit_edge1515
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  %675 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  %.not1558 = icmp eq i64 %675, 0
  br i1 %.not1558, label %._crit_edge1519, label %.lr.ph1518

._crit_edge1519:                                  ; preds = %.lr.ph1518, %674
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %70) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %70)
          to label %688 unwind label %743

676:                                              ; preds = %656, %657, %669, %609, %598, %554, %543, %502, %491, %474, %456
  %.pn1111.pn = phi { ptr, i32 } [ %457, %456 ], [ %.pn798.pn.pn, %609 ], [ %.pn792.pn.pn.pn.pn, %598 ], [ %.pn787.pn.pn, %554 ], [ %.pn781.pn.pn.pn.pn, %543 ], [ %.pn776.pn.pn, %502 ], [ %.pn770.pn.pn.pn.pn, %491 ], [ %.pn762.pn.pn.pn.pn.pn.pn, %474 ], [ %658, %657 ], [ %.pn1107.pn.pn, %669 ], [ %.pn1101.pn.pn.pn.pn, %656 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %17) #6
  br label %677

677:                                              ; preds = %676, %454
  %.pn1111.pn.pn = phi { ptr, i32 } [ %.pn1111.pn, %676 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %17) #6
  br label %678

678:                                              ; preds = %677, %453, %435
  %.pn1111.pn.pn.pn = phi { ptr, i32 } [ %.pn1111.pn.pn, %677 ], [ %.pn.pn.pn.pn.pn.pn.pn, %453 ], [ %436, %435 ]
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %6) #6
  br label %679

679:                                              ; preds = %678, %433
  %.pn1111.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1111.pn.pn.pn, %678 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %6) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  br label %680

680:                                              ; preds = %679, %368
  %.pn1111.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1111.pn.pn.pn.pn, %679 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #6
  br label %2108

681:                                              ; preds = %._crit_edge1515
  %682 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #6
  br label %990

.lr.ph1518:                                       ; preds = %674, %.lr.ph1518
  %.04231516 = phi i64 [ %685, %.lr.ph1518 ], [ 0, %674 ]
  %683 = trunc i64 %.04231516 to i8
  %684 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %.04231516) #6
  store i8 %683, ptr %684, align 1, !tbaa !9
  %685 = add nuw i64 %.04231516, 1
  %686 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  %687 = icmp ult i64 %685, %686
  br i1 %687, label %.lr.ph1518, label %._crit_edge1519, !llvm.loop !29

688:                                              ; preds = %._crit_edge1519
  %689 = getelementptr inbounds i8, ptr %70, i64 416
  store i32 1, ptr %689, align 8, !tbaa !30
  %690 = getelementptr inbounds i8, ptr %70, i64 420
  store i32 2, ptr %690, align 4, !tbaa !31
  %691 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef 0) #6
  %692 = load i32, ptr %65, align 4, !tbaa !5
  %693 = load i32, ptr %66, align 4, !tbaa !5
  %694 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull %691, i32 noundef %692, i32 noundef %693, ptr noundef nonnull align 8 dereferenceable(508) %70)
          to label %695 unwind label %745

695:                                              ; preds = %688
  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 1, ptr nonnull %74) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %696 unwind label %747

696:                                              ; preds = %695
  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.475)
          to label %697 unwind label %749

697:                                              ; preds = %696
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %77) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %698 unwind label %751

698:                                              ; preds = %697
  %699 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br i1 %699, label %700, label %701

700:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %703 unwind label %.critedge1157.thread

701:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %702 unwind label %.critedge1156.thread

702:                                              ; preds = %701
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %703 unwind label %.thread1307

703:                                              ; preds = %702, %700
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(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 align 8 dereferenceable(32) %75)
          to label %704 unwind label %756

704:                                              ; preds = %703
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %694, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %705 unwind label %758

705:                                              ; preds = %704
  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) %75) #6
  br i1 %699, label %.critedge1263, label %.critedge1142

.critedge1142:                                    ; preds = %705
  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 nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %.critedge1147

.critedge1263:                                    ; preds = %705
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  br label %.critedge1147

.critedge1147:                                    ; preds = %.critedge1142, %.critedge1263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %81) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %81)
          to label %706 unwind label %764

706:                                              ; preds = %.critedge1147
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %82) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #6
  %707 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 4 dereferenceable(4) %65, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 8 dereferenceable(508) %81, ptr noundef nonnull align 8 dereferenceable(24) %69)
          to label %708 unwind label %766

708:                                              ; preds = %706
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #6
  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 1, ptr nonnull %86) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %709 unwind label %768

709:                                              ; preds = %708
  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.476)
          to label %710 unwind label %770

710:                                              ; preds = %709
  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.2, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %711 unwind label %772

711:                                              ; preds = %710
  %712 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br i1 %712, label %713, label %714

713:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %716 unwind label %.critedge1162.thread

714:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %715 unwind label %.critedge1161.thread

715:                                              ; preds = %714
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %716 unwind label %.thread1325

716:                                              ; preds = %715, %713
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %717 unwind label %777

717:                                              ; preds = %716
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %707, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %718 unwind label %779

718:                                              ; preds = %717
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br i1 %712, label %.critedge1264, label %.critedge1149

.critedge1149:                                    ; preds = %718
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %.critedge1154

.critedge1264:                                    ; preds = %718
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #6
  br label %.critedge1154

.critedge1154:                                    ; preds = %.critedge1149, %.critedge1264
  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 @_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 @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %70, ptr noundef nonnull align 8 dereferenceable(508) %81)
          to label %719 unwind label %766

719:                                              ; preds = %.critedge1154
  %720 = load i32, ptr %65, align 4, !tbaa !5
  %.not818 = icmp eq i32 %720, 32
  br i1 %.not818, label %813, label %721

721:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %98) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %722 unwind label %785

722:                                              ; preds = %721
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.477)
          to label %723 unwind label %787

723:                                              ; preds = %722
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.3)
          to label %724 unwind label %789

724:                                              ; preds = %723
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.190)
          to label %725 unwind label %791

725:                                              ; preds = %724
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull @.str.18)
          to label %726 unwind label %793

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) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %728 unwind label %795

728:                                              ; preds = %726
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  %729 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %730 unwind label %766

730:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %100) #6
  store i32 32, ptr %100, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull align 4 dereferenceable(4) %100)
          to label %731 unwind label %802

731:                                              ; preds = %730
  %732 = 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) %99)
          to label %733 unwind label %804

733:                                              ; preds = %731
  %734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %732, ptr noundef nonnull @.str.20)
          to label %735 unwind label %804

735:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %736 unwind label %806

736:                                              ; preds = %735
  %737 = 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) %734, ptr noundef nonnull align 8 dereferenceable(32) %101)
          to label %738 unwind label %808

738:                                              ; preds = %736
  %739 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %737, ptr noundef nonnull @.str.21)
          to label %740 unwind label %808

740:                                              ; preds = %738
  %741 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %739, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %742 unwind label %808

742:                                              ; preds = %740
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  invoke void @_Z4failv()
          to label %813 unwind label %766

743:                                              ; preds = %._crit_edge1519
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %989

745:                                              ; preds = %688
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %988

747:                                              ; preds = %695
  %748 = landingpad { ptr, i32 }
          cleanup
  br label %763

749:                                              ; preds = %696
  %750 = landingpad { ptr, i32 }
          cleanup
  br label %762

751:                                              ; preds = %697
  %752 = landingpad { ptr, i32 }
          cleanup
  br label %761

.critedge1157.thread:                             ; preds = %700
  %753 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1157

.critedge1156.thread:                             ; preds = %701
  %754 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %.critedge1159

.thread1307:                                      ; preds = %702
  %755 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1156

756:                                              ; preds = %703
  %757 = landingpad { ptr, i32 }
          cleanup
  br label %760

758:                                              ; preds = %704
  %759 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %760

760:                                              ; preds = %756, %758
  %.pn802 = phi { ptr, i32 } [ %759, %758 ], [ %757, %756 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br i1 %699, label %.critedge1157, label %.critedge1156

.critedge1156:                                    ; preds = %760, %.thread1307
  %.pn802.pn1311 = phi { ptr, i32 } [ %755, %.thread1307 ], [ %.pn802, %760 ]
  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 nonnull %80) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #6
  br label %.critedge1159

.critedge1157:                                    ; preds = %760, %.critedge1157.thread
  %.pn802.pn.pn.pn1324 = phi { ptr, i32 } [ %753, %.critedge1157.thread ], [ %.pn802, %760 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #6
  br label %.critedge1159

.critedge1159:                                    ; preds = %.critedge1156, %.critedge1156.thread, %.critedge1157
  %.pn802.pn.pn.pn1323 = phi { ptr, i32 } [ %.pn802.pn.pn.pn1324, %.critedge1157 ], [ %.pn802.pn1311, %.critedge1156 ], [ %754, %.critedge1156.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #6
  br label %761

761:                                              ; preds = %.critedge1159, %751
  %.pn802.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn802.pn.pn.pn1323, %.critedge1159 ], [ %752, %751 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %77) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #6
  br label %762

762:                                              ; preds = %761, %749
  %.pn802.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn802.pn.pn.pn.pn, %761 ], [ %750, %749 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %763

763:                                              ; preds = %762, %747
  %.pn802.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn802.pn.pn.pn.pn.pn, %762 ], [ %748, %747 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #6
  call void @llvm.lifetime.end.p0(i64 1, 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 %988

764:                                              ; preds = %.critedge1147
  %765 = landingpad { ptr, i32 }
          cleanup
  br label %987

766:                                              ; preds = %891, %875, %836, %822, %742, %728, %.critedge1154, %706
  %767 = landingpad { ptr, i32 }
          cleanup
  br label %986

768:                                              ; preds = %708
  %769 = landingpad { ptr, i32 }
          cleanup
  br label %784

770:                                              ; preds = %709
  %771 = landingpad { ptr, i32 }
          cleanup
  br label %783

772:                                              ; preds = %710
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %782

.critedge1162.thread:                             ; preds = %713
  %774 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1162

.critedge1161.thread:                             ; preds = %714
  %775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %.critedge1164

.thread1325:                                      ; preds = %715
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1161

777:                                              ; preds = %716
  %778 = landingpad { ptr, i32 }
          cleanup
  br label %781

779:                                              ; preds = %717
  %780 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  br label %781

781:                                              ; preds = %777, %779
  %.pn810 = phi { ptr, i32 } [ %780, %779 ], [ %778, %777 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #6
  br i1 %712, label %.critedge1162, label %.critedge1161

.critedge1161:                                    ; preds = %781, %.thread1325
  %.pn810.pn1329 = phi { ptr, i32 } [ %776, %.thread1325 ], [ %.pn810, %781 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #6
  br label %.critedge1164

.critedge1162:                                    ; preds = %781, %.critedge1162.thread
  %.pn810.pn.pn.pn1342 = phi { ptr, i32 } [ %774, %.critedge1162.thread ], [ %.pn810, %781 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #6
  br label %.critedge1164

.critedge1164:                                    ; preds = %.critedge1161, %.critedge1161.thread, %.critedge1162
  %.pn810.pn.pn.pn1341 = phi { ptr, i32 } [ %.pn810.pn.pn.pn1342, %.critedge1162 ], [ %.pn810.pn1329, %.critedge1161 ], [ %775, %.critedge1161.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #6
  br label %782

782:                                              ; preds = %.critedge1164, %772
  %.pn810.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn810.pn.pn.pn1341, %.critedge1164 ], [ %773, %772 ]
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #6
  br label %783

783:                                              ; preds = %782, %770
  %.pn810.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn810.pn.pn.pn.pn, %782 ], [ %771, %770 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #6
  br label %784

784:                                              ; preds = %783, %768
  %.pn810.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn810.pn.pn.pn.pn.pn, %783 ], [ %769, %768 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #6
  call void @llvm.lifetime.end.p0(i64 1, 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
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #6
  br label %986

785:                                              ; preds = %721
  %786 = landingpad { ptr, i32 }
          cleanup
  br label %801

787:                                              ; preds = %722
  %788 = landingpad { ptr, i32 }
          cleanup
  br label %800

789:                                              ; preds = %723
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %799

791:                                              ; preds = %724
  %792 = landingpad { ptr, i32 }
          cleanup
  br label %798

793:                                              ; preds = %725
  %794 = landingpad { ptr, i32 }
          cleanup
  br label %797

795:                                              ; preds = %726
  %796 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #6
  br label %797

797:                                              ; preds = %795, %793
  %.pn819 = phi { ptr, i32 } [ %796, %795 ], [ %794, %793 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %798

798:                                              ; preds = %797, %791
  %.pn819.pn = phi { ptr, i32 } [ %.pn819, %797 ], [ %792, %791 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #6
  br label %799

799:                                              ; preds = %798, %789
  %.pn819.pn.pn = phi { ptr, i32 } [ %.pn819.pn, %798 ], [ %790, %789 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #6
  br label %800

800:                                              ; preds = %799, %787
  %.pn819.pn.pn.pn = phi { ptr, i32 } [ %.pn819.pn.pn, %799 ], [ %788, %787 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  br label %801

801:                                              ; preds = %800, %785
  %.pn819.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn819.pn.pn.pn, %800 ], [ %786, %785 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #6
  br label %986

802:                                              ; preds = %730
  %803 = landingpad { ptr, i32 }
          cleanup
  br label %812

804:                                              ; preds = %733, %731
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %811

806:                                              ; preds = %735
  %807 = landingpad { ptr, i32 }
          cleanup
  br label %810

808:                                              ; preds = %740, %738, %736
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #6
  br label %810

810:                                              ; preds = %808, %806
  %.pn825 = phi { ptr, i32 } [ %809, %808 ], [ %807, %806 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #6
  br label %811

811:                                              ; preds = %810, %804
  %.pn825.pn = phi { ptr, i32 } [ %.pn825, %810 ], [ %805, %804 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #6
  br label %812

812:                                              ; preds = %811, %802
  %.pn825.pn.pn = phi { ptr, i32 } [ %.pn825.pn, %811 ], [ %803, %802 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #6
  br label %986

813:                                              ; preds = %742, %719
  %814 = load i32, ptr %66, align 4, !tbaa !5
  %.not829 = icmp eq i32 %814, 32
  br i1 %.not829, label %865, label %815

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

816:                                              ; preds = %815
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull @.str.478)
          to label %817 unwind label %839

817:                                              ; preds = %816
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull @.str.3)
          to label %818 unwind label %841

818:                                              ; preds = %817
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull @.str.192)
          to label %819 unwind label %843

819:                                              ; preds = %818
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.18)
          to label %820 unwind label %845

820:                                              ; preds = %819
  %821 = 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) %102)
          to label %822 unwind label %847

822:                                              ; preds = %820
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  %823 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %824 unwind label %766

824:                                              ; preds = %822
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #6
  store i32 32, ptr %109, align 4, !tbaa !5
  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 %825 unwind label %854

825:                                              ; preds = %824
  %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) %823, ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %827 unwind label %856

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.20)
          to label %829 unwind label %856

829:                                              ; preds = %827
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %830 unwind label %858

830:                                              ; preds = %829
  %831 = 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) %828, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %832 unwind label %860

832:                                              ; preds = %830
  %833 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %831, ptr noundef nonnull @.str.21)
          to label %834 unwind label %860

834:                                              ; preds = %832
  %835 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %833, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %836 unwind label %860

836:                                              ; preds = %834
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  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
  invoke void @_Z4failv()
          to label %865 unwind label %766

837:                                              ; preds = %815
  %838 = landingpad { ptr, i32 }
          cleanup
  br label %853

839:                                              ; preds = %816
  %840 = landingpad { ptr, i32 }
          cleanup
  br label %852

841:                                              ; preds = %817
  %842 = landingpad { ptr, i32 }
          cleanup
  br label %851

843:                                              ; preds = %818
  %844 = landingpad { ptr, i32 }
          cleanup
  br label %850

845:                                              ; preds = %819
  %846 = landingpad { ptr, i32 }
          cleanup
  br label %849

847:                                              ; preds = %820
  %848 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %849

849:                                              ; preds = %847, %845
  %.pn830 = phi { ptr, i32 } [ %848, %847 ], [ %846, %845 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #6
  br label %850

850:                                              ; preds = %849, %843
  %.pn830.pn = phi { ptr, i32 } [ %.pn830, %849 ], [ %844, %843 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #6
  br label %851

851:                                              ; preds = %850, %841
  %.pn830.pn.pn = phi { ptr, i32 } [ %.pn830.pn, %850 ], [ %842, %841 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #6
  br label %852

852:                                              ; preds = %851, %839
  %.pn830.pn.pn.pn = phi { ptr, i32 } [ %.pn830.pn.pn, %851 ], [ %840, %839 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #6
  br label %853

853:                                              ; preds = %852, %837
  %.pn830.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn830.pn.pn.pn, %852 ], [ %838, %837 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #6
  br label %986

854:                                              ; preds = %824
  %855 = landingpad { ptr, i32 }
          cleanup
  br label %864

856:                                              ; preds = %827, %825
  %857 = landingpad { ptr, i32 }
          cleanup
  br label %863

858:                                              ; preds = %829
  %859 = landingpad { ptr, i32 }
          cleanup
  br label %862

860:                                              ; preds = %834, %832, %830
  %861 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #6
  br label %862

862:                                              ; preds = %860, %858
  %.pn836 = phi { ptr, i32 } [ %861, %860 ], [ %859, %858 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #6
  br label %863

863:                                              ; preds = %862, %856
  %.pn836.pn = phi { ptr, i32 } [ %.pn836, %862 ], [ %857, %856 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %864

864:                                              ; preds = %863, %854
  %.pn836.pn.pn = phi { ptr, i32 } [ %.pn836.pn, %863 ], [ %855, %854 ]
  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 %986

865:                                              ; preds = %836, %813
  %866 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  %867 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %82) #6
  %.not840 = icmp eq i64 %866, %867
  br i1 %.not840, label %920, label %868

868:                                              ; preds = %865
  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 32, ptr nonnull %115) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %869 unwind label %892

869:                                              ; preds = %868
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.479)
          to label %870 unwind label %894

870:                                              ; preds = %869
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %113, ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.3)
          to label %871 unwind label %896

871:                                              ; preds = %870
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %112, ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.293)
          to label %872 unwind label %898

872:                                              ; preds = %871
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull @.str.18)
          to label %873 unwind label %900

873:                                              ; preds = %872
  %874 = 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) %111)
          to label %875 unwind label %902

875:                                              ; preds = %873
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  %876 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %877 unwind label %766

877:                                              ; preds = %875
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #6
  %878 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  store i64 %878, ptr %118, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %879 unwind label %909

879:                                              ; preds = %877
  %880 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %876, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %881 unwind label %911

881:                                              ; preds = %879
  %882 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %880, ptr noundef nonnull @.str.20)
          to label %883 unwind label %911

883:                                              ; preds = %881
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #6
  %884 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %82) #6
  store i64 %884, ptr %120, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %885 unwind label %913

885:                                              ; preds = %883
  %886 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %882, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %887 unwind label %915

887:                                              ; preds = %885
  %888 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %886, ptr noundef nonnull @.str.21)
          to label %889 unwind label %915

889:                                              ; preds = %887
  %890 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %888, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %891 unwind label %915

891:                                              ; preds = %889
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  call void @llvm.lifetime.end.p0(i64 8, 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) %117) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  invoke void @_Z4failv()
          to label %920 unwind label %766

892:                                              ; preds = %868
  %893 = landingpad { ptr, i32 }
          cleanup
  br label %908

894:                                              ; preds = %869
  %895 = landingpad { ptr, i32 }
          cleanup
  br label %907

896:                                              ; preds = %870
  %897 = landingpad { ptr, i32 }
          cleanup
  br label %906

898:                                              ; preds = %871
  %899 = landingpad { ptr, i32 }
          cleanup
  br label %905

900:                                              ; preds = %872
  %901 = landingpad { ptr, i32 }
          cleanup
  br label %904

902:                                              ; preds = %873
  %903 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #6
  br label %904

904:                                              ; preds = %902, %900
  %.pn841 = phi { ptr, i32 } [ %903, %902 ], [ %901, %900 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #6
  br label %905

905:                                              ; preds = %904, %898
  %.pn841.pn = phi { ptr, i32 } [ %.pn841, %904 ], [ %899, %898 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  br label %906

906:                                              ; preds = %905, %896
  %.pn841.pn.pn = phi { ptr, i32 } [ %.pn841.pn, %905 ], [ %897, %896 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %907

907:                                              ; preds = %906, %894
  %.pn841.pn.pn.pn = phi { ptr, i32 } [ %.pn841.pn.pn, %906 ], [ %895, %894 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #6
  br label %908

908:                                              ; preds = %907, %892
  %.pn841.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn841.pn.pn.pn, %907 ], [ %893, %892 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #6
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %986

909:                                              ; preds = %877
  %910 = landingpad { ptr, i32 }
          cleanup
  br label %919

911:                                              ; preds = %881, %879
  %912 = landingpad { ptr, i32 }
          cleanup
  br label %918

913:                                              ; preds = %883
  %914 = landingpad { ptr, i32 }
          cleanup
  br label %917

915:                                              ; preds = %889, %887, %885
  %916 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  br label %917

917:                                              ; preds = %915, %913
  %.pn847 = phi { ptr, i32 } [ %916, %915 ], [ %914, %913 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #6
  br label %918

918:                                              ; preds = %917, %911
  %.pn847.pn = phi { ptr, i32 } [ %.pn847, %917 ], [ %912, %911 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #6
  br label %919

919:                                              ; preds = %918, %909
  %.pn847.pn.pn = phi { ptr, i32 } [ %.pn847.pn, %918 ], [ %910, %909 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #6
  br label %986

920:                                              ; preds = %891, %865
  %921 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  %.not1559 = icmp eq i64 %921, 0
  br i1 %.not1559, label %._crit_edge1523, label %.lr.ph1522

._crit_edge1523:                                  ; preds = %980, %920
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %81) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %81) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %70) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %70) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %129) #6
  store i32 32, ptr %129, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #6
  store i32 32, ptr %130, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %132) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %132)
          to label %984 unwind label %991

.lr.ph1522:                                       ; preds = %920, %980
  %.03841520 = phi i64 [ %981, %980 ], [ 0, %920 ]
  %922 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %.03841520) #6
  %923 = load i8, ptr %922, align 1, !tbaa !9
  %924 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %.03841520) #6
  %925 = load i8, ptr %924, align 1, !tbaa !9
  %.not1082 = icmp eq i8 %923, %925
  br i1 %.not1082, label %980, label %926

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

927:                                              ; preds = %926
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull @.str.480)
          to label %928 unwind label %952

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

929:                                              ; preds = %928
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull @.str.295)
          to label %930 unwind label %956

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

931:                                              ; preds = %930
  %932 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %933 unwind label %960

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

935:                                              ; preds = %933
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #6
  %936 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %.03841520) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull align 1 dereferenceable(1) %936)
          to label %937 unwind label %969

937:                                              ; preds = %935
  %938 = 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) %934, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %939 unwind label %971

939:                                              ; preds = %937
  %940 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %938, ptr noundef nonnull @.str.20)
          to label %941 unwind label %971

941:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %128) #6
  %942 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %.03841520) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull align 1 dereferenceable(1) %942)
          to label %943 unwind label %973

943:                                              ; preds = %941
  %944 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %940, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %945 unwind label %975

945:                                              ; preds = %943
  %946 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %944, ptr noundef nonnull @.str.21)
          to label %947 unwind label %975

947:                                              ; preds = %945
  %948 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %946, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %949 unwind label %975

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

950:                                              ; preds = %926
  %951 = landingpad { ptr, i32 }
          cleanup
  br label %966

952:                                              ; preds = %927
  %953 = landingpad { ptr, i32 }
          cleanup
  br label %965

954:                                              ; preds = %928
  %955 = landingpad { ptr, i32 }
          cleanup
  br label %964

956:                                              ; preds = %929
  %957 = landingpad { ptr, i32 }
          cleanup
  br label %963

958:                                              ; preds = %930
  %959 = landingpad { ptr, i32 }
          cleanup
  br label %962

960:                                              ; preds = %931
  %961 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #6
  br label %962

962:                                              ; preds = %960, %958
  %.pn1083 = phi { ptr, i32 } [ %961, %960 ], [ %959, %958 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #6
  br label %963

963:                                              ; preds = %962, %956
  %.pn1083.pn = phi { ptr, i32 } [ %.pn1083, %962 ], [ %957, %956 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #6
  br label %964

964:                                              ; preds = %963, %954
  %.pn1083.pn.pn = phi { ptr, i32 } [ %.pn1083.pn, %963 ], [ %955, %954 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #6
  br label %965

965:                                              ; preds = %964, %952
  %.pn1083.pn.pn.pn = phi { ptr, i32 } [ %.pn1083.pn.pn, %964 ], [ %953, %952 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  br label %966

966:                                              ; preds = %965, %950
  %.pn1083.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1083.pn.pn.pn, %965 ], [ %951, %950 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %126) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %126) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #6
  br label %986

967:                                              ; preds = %949, %933
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %986

969:                                              ; preds = %935
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %979

971:                                              ; preds = %939, %937
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %978

973:                                              ; preds = %941
  %974 = landingpad { ptr, i32 }
          cleanup
  br label %977

975:                                              ; preds = %947, %945, %943
  %976 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #6
  br label %977

977:                                              ; preds = %975, %973
  %.pn1089 = phi { ptr, i32 } [ %976, %975 ], [ %974, %973 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #6
  br label %978

978:                                              ; preds = %977, %971
  %.pn1089.pn = phi { ptr, i32 } [ %.pn1089, %977 ], [ %972, %971 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #6
  br label %979

979:                                              ; preds = %978, %969
  %.pn1089.pn.pn = phi { ptr, i32 } [ %.pn1089.pn, %978 ], [ %970, %969 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #6
  br label %986

980:                                              ; preds = %.lr.ph1522, %949
  %981 = add nuw i64 %.03841520, 1
  %982 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  %983 = icmp ult i64 %981, %982
  br i1 %983, label %.lr.ph1522, label %._crit_edge1523, !llvm.loop !32

984:                                              ; preds = %._crit_edge1523
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %132) #6
  %985 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  %.not1560 = icmp eq i64 %985, 0
  br i1 %.not1560, label %._crit_edge1527, label %.lr.ph1526

._crit_edge1527:                                  ; preds = %.lr.ph1526, %984
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %133) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %133) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %134) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %134)
          to label %998 unwind label %1061

986:                                              ; preds = %966, %967, %979, %919, %908, %864, %853, %812, %801, %784, %766
  %.pn1093.pn = phi { ptr, i32 } [ %767, %766 ], [ %.pn847.pn.pn, %919 ], [ %.pn841.pn.pn.pn.pn, %908 ], [ %.pn836.pn.pn, %864 ], [ %.pn830.pn.pn.pn.pn, %853 ], [ %.pn825.pn.pn, %812 ], [ %.pn819.pn.pn.pn.pn, %801 ], [ %.pn810.pn.pn.pn.pn.pn.pn, %784 ], [ %968, %967 ], [ %.pn1089.pn.pn, %979 ], [ %.pn1083.pn.pn.pn.pn, %966 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %81) #6
  br label %987

987:                                              ; preds = %986, %764
  %.pn1093.pn.pn = phi { ptr, i32 } [ %.pn1093.pn, %986 ], [ %765, %764 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %81) #6
  br label %988

988:                                              ; preds = %987, %763, %745
  %.pn1093.pn.pn.pn = phi { ptr, i32 } [ %.pn1093.pn.pn, %987 ], [ %.pn802.pn.pn.pn.pn.pn.pn, %763 ], [ %746, %745 ]
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %70) #6
  br label %989

989:                                              ; preds = %988, %743
  %.pn1093.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1093.pn.pn.pn, %988 ], [ %744, %743 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %70) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #6
  br label %990

990:                                              ; preds = %989, %681
  %.pn1093.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1093.pn.pn.pn.pn, %989 ], [ %682, %681 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  br label %2108

991:                                              ; preds = %._crit_edge1523
  %992 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %132) #6
  br label %1311

.lr.ph1526:                                       ; preds = %984, %.lr.ph1526
  %.03831524 = phi i64 [ %995, %.lr.ph1526 ], [ 0, %984 ]
  %993 = trunc i64 %.03831524 to i8
  %994 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef %.03831524) #6
  store i8 %993, ptr %994, align 1, !tbaa !9
  %995 = add nuw i64 %.03831524, 1
  %996 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  %997 = icmp ult i64 %995, %996
  br i1 %997, label %.lr.ph1526, label %._crit_edge1527, !llvm.loop !33

998:                                              ; preds = %._crit_edge1527
  %999 = getelementptr inbounds i8, ptr %134, i64 424
  store i32 1, ptr %999, align 8, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %136) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %135, ptr noundef nonnull @.str.481, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %1000 unwind label %1063

1000:                                             ; preds = %998
  %1001 = getelementptr inbounds i8, ptr %134, i64 192
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  %1002 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 1)
  store i8 0, ptr %1002, align 1, !tbaa !9
  %1003 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef 0)
  store i8 0, ptr %1003, align 1, !tbaa !9
  %1004 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  %1005 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  %1006 = trunc i64 %1005 to i32
  %1007 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %1001, ptr noundef nonnull @.str.482, ptr noundef %1004, i32 noundef %1006)
          to label %1008 unwind label %1065

1008:                                             ; preds = %1000
  %1009 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef 0) #6
  %1010 = load i32, ptr %129, align 4, !tbaa !5
  %1011 = load i32, ptr %130, align 4, !tbaa !5
  %1012 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %133, ptr noundef nonnull %1009, i32 noundef %1010, i32 noundef %1011, ptr noundef nonnull align 8 dereferenceable(508) %134)
          to label %1013 unwind label %1065

1013:                                             ; preds = %1008
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %139) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %140) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %1014 unwind label %1067

1014:                                             ; preds = %1013
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull @.str.483)
          to label %1015 unwind label %1069

1015:                                             ; preds = %1014
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1016 unwind label %1071

1016:                                             ; preds = %1015
  %1017 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br i1 %1017, label %1018, label %1019

1018:                                             ; preds = %1016
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %144) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %1021 unwind label %.critedge1181.thread

1019:                                             ; preds = %1016
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %145) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %146) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %146)
          to label %1020 unwind label %.critedge1180.thread

1020:                                             ; preds = %1019
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %141, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %1021 unwind label %.thread1343

1021:                                             ; preds = %1020, %1018
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %141)
          to label %1022 unwind label %1076

1022:                                             ; preds = %1021
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1012, ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %1023 unwind label %1078

1023:                                             ; preds = %1022
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br i1 %1017, label %.critedge1265, label %.critedge1166

.critedge1166:                                    ; preds = %1023
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %.critedge1171

.critedge1265:                                    ; preds = %1023
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #6
  br label %.critedge1171

.critedge1171:                                    ; preds = %.critedge1166, %.critedge1265
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(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 32, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(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 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %147) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %147)
          to label %1024 unwind label %1084

1024:                                             ; preds = %.critedge1171
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %148) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #6
  %1025 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %148, ptr noundef nonnull align 4 dereferenceable(4) %129, ptr noundef nonnull align 4 dereferenceable(4) %130, ptr noundef nonnull align 8 dereferenceable(508) %147, ptr noundef nonnull align 8 dereferenceable(24) %133)
          to label %1026 unwind label %1086

1026:                                             ; preds = %1024
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %152) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %152)
          to label %1027 unwind label %1088

1027:                                             ; preds = %1026
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull @.str.484)
          to label %1028 unwind label %1090

1028:                                             ; preds = %1027
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %153) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %155) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %155)
          to label %1029 unwind label %1092

1029:                                             ; preds = %1028
  %1030 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br i1 %1030, label %1031, label %1032

1031:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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) %153, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1034 unwind label %.critedge1186.thread

1032:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %157) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %158) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %158)
          to label %1033 unwind label %.critedge1185.thread

1033:                                             ; preds = %1032
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %153, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %1034 unwind label %.thread1361

1034:                                             ; preds = %1033, %1031
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %149, ptr noundef nonnull align 8 dereferenceable(32) %150, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1035 unwind label %1097

1035:                                             ; preds = %1034
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1025, ptr noundef nonnull align 8 dereferenceable(32) %149)
          to label %1036 unwind label %1099

1036:                                             ; preds = %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br i1 %1030, label %.critedge1266, label %.critedge1173

.critedge1173:                                    ; preds = %1036
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  br label %.critedge1178

.critedge1266:                                    ; preds = %1036
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #6
  br label %.critedge1178

.critedge1178:                                    ; preds = %.critedge1173, %.critedge1266
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %134, ptr noundef nonnull align 8 dereferenceable(508) %147)
          to label %1037 unwind label %1086

1037:                                             ; preds = %.critedge1178
  %1038 = load i32, ptr %129, align 4, !tbaa !5
  %.not867 = icmp eq i32 %1038, 32
  br i1 %.not867, label %1133, label %1039

1039:                                             ; preds = %1037
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %164) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %164)
          to label %1040 unwind label %1105

1040:                                             ; preds = %1039
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull @.str.485)
          to label %1041 unwind label %1107

1041:                                             ; preds = %1040
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull @.str.3)
          to label %1042 unwind label %1109

1042:                                             ; preds = %1041
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull @.str.190)
          to label %1043 unwind label %1111

1043:                                             ; preds = %1042
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull @.str.18)
          to label %1044 unwind label %1113

1044:                                             ; preds = %1043
  %1045 = 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) %159)
          to label %1046 unwind label %1115

1046:                                             ; preds = %1044
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  %1047 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1048 unwind label %1086

1048:                                             ; preds = %1046
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %166) #6
  store i32 32, ptr %166, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull align 4 dereferenceable(4) %166)
          to label %1049 unwind label %1122

1049:                                             ; preds = %1048
  %1050 = 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) %1047, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %1051 unwind label %1124

1051:                                             ; preds = %1049
  %1052 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1050, ptr noundef nonnull @.str.20)
          to label %1053 unwind label %1124

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

1054:                                             ; preds = %1053
  %1055 = 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) %1052, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1056 unwind label %1128

1056:                                             ; preds = %1054
  %1057 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1055, ptr noundef nonnull @.str.21)
          to label %1058 unwind label %1128

1058:                                             ; preds = %1056
  %1059 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1057, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1060 unwind label %1128

1060:                                             ; preds = %1058
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  invoke void @_Z4failv()
          to label %1133 unwind label %1086

1061:                                             ; preds = %._crit_edge1527
  %1062 = landingpad { ptr, i32 }
          cleanup
  br label %1310

1063:                                             ; preds = %998
  %1064 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %136) #6
  br label %1309

1065:                                             ; preds = %1008, %1000
  %1066 = landingpad { ptr, i32 }
          cleanup
  br label %1308

1067:                                             ; preds = %1013
  %1068 = landingpad { ptr, i32 }
          cleanup
  br label %1083

1069:                                             ; preds = %1014
  %1070 = landingpad { ptr, i32 }
          cleanup
  br label %1082

1071:                                             ; preds = %1015
  %1072 = landingpad { ptr, i32 }
          cleanup
  br label %1081

.critedge1181.thread:                             ; preds = %1018
  %1073 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1181

.critedge1180.thread:                             ; preds = %1019
  %1074 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %.critedge1183

.thread1343:                                      ; preds = %1020
  %1075 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1180

1076:                                             ; preds = %1021
  %1077 = landingpad { ptr, i32 }
          cleanup
  br label %1080

1078:                                             ; preds = %1022
  %1079 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #6
  br label %1080

1080:                                             ; preds = %1076, %1078
  %.pn851 = phi { ptr, i32 } [ %1079, %1078 ], [ %1077, %1076 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  br i1 %1017, label %.critedge1181, label %.critedge1180

.critedge1180:                                    ; preds = %1080, %.thread1343
  %.pn851.pn1347 = phi { ptr, i32 } [ %1075, %.thread1343 ], [ %.pn851, %1080 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %146) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #6
  br label %.critedge1183

.critedge1181:                                    ; preds = %1080, %.critedge1181.thread
  %.pn851.pn.pn.pn1360 = phi { ptr, i32 } [ %1073, %.critedge1181.thread ], [ %.pn851, %1080 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #6
  br label %.critedge1183

.critedge1183:                                    ; preds = %.critedge1180, %.critedge1180.thread, %.critedge1181
  %.pn851.pn.pn.pn1359 = phi { ptr, i32 } [ %.pn851.pn.pn.pn1360, %.critedge1181 ], [ %.pn851.pn1347, %.critedge1180 ], [ %1074, %.critedge1180.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #6
  br label %1081

1081:                                             ; preds = %.critedge1183, %1071
  %.pn851.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn851.pn.pn.pn1359, %.critedge1183 ], [ %1072, %1071 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(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 32, ptr nonnull %142) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #6
  br label %1082

1082:                                             ; preds = %1081, %1069
  %.pn851.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn851.pn.pn.pn.pn, %1081 ], [ %1070, %1069 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #6
  br label %1083

1083:                                             ; preds = %1082, %1067
  %.pn851.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn851.pn.pn.pn.pn.pn, %1082 ], [ %1068, %1067 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(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 32, ptr nonnull %139) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %137) #6
  br label %1308

1084:                                             ; preds = %.critedge1171
  %1085 = landingpad { ptr, i32 }
          cleanup
  br label %1307

1086:                                             ; preds = %1211, %1195, %1156, %1142, %1060, %1046, %.critedge1178, %1024
  %1087 = landingpad { ptr, i32 }
          cleanup
  br label %1306

1088:                                             ; preds = %1026
  %1089 = landingpad { ptr, i32 }
          cleanup
  br label %1104

1090:                                             ; preds = %1027
  %1091 = landingpad { ptr, i32 }
          cleanup
  br label %1103

1092:                                             ; preds = %1028
  %1093 = landingpad { ptr, i32 }
          cleanup
  br label %1102

.critedge1186.thread:                             ; preds = %1031
  %1094 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1186

.critedge1185.thread:                             ; preds = %1032
  %1095 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  br label %.critedge1188

.thread1361:                                      ; preds = %1033
  %1096 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1185

1097:                                             ; preds = %1034
  %1098 = landingpad { ptr, i32 }
          cleanup
  br label %1101

1099:                                             ; preds = %1035
  %1100 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #6
  br label %1101

1101:                                             ; preds = %1097, %1099
  %.pn859 = phi { ptr, i32 } [ %1100, %1099 ], [ %1098, %1097 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  br i1 %1030, label %.critedge1186, label %.critedge1185

.critedge1185:                                    ; preds = %1101, %.thread1361
  %.pn859.pn1365 = phi { ptr, i32 } [ %1096, %.thread1361 ], [ %.pn859, %1101 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %158) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %158) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #6
  br label %.critedge1188

.critedge1186:                                    ; preds = %1101, %.critedge1186.thread
  %.pn859.pn.pn.pn1378 = phi { ptr, i32 } [ %1094, %.critedge1186.thread ], [ %.pn859, %1101 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #6
  br label %.critedge1188

.critedge1188:                                    ; preds = %.critedge1185, %.critedge1185.thread, %.critedge1186
  %.pn859.pn.pn.pn1377 = phi { ptr, i32 } [ %.pn859.pn.pn.pn1378, %.critedge1186 ], [ %.pn859.pn1365, %.critedge1185 ], [ %1095, %.critedge1185.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #6
  br label %1102

1102:                                             ; preds = %.critedge1188, %1092
  %.pn859.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn859.pn.pn.pn1377, %.critedge1188 ], [ %1093, %1092 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #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 @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  br label %1103

1103:                                             ; preds = %1102, %1090
  %.pn859.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn859.pn.pn.pn.pn, %1102 ], [ %1091, %1090 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #6
  br label %1104

1104:                                             ; preds = %1103, %1088
  %.pn859.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn859.pn.pn.pn.pn.pn, %1103 ], [ %1089, %1088 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %152) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %152) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #6
  br label %1306

1105:                                             ; preds = %1039
  %1106 = landingpad { ptr, i32 }
          cleanup
  br label %1121

1107:                                             ; preds = %1040
  %1108 = landingpad { ptr, i32 }
          cleanup
  br label %1120

1109:                                             ; preds = %1041
  %1110 = landingpad { ptr, i32 }
          cleanup
  br label %1119

1111:                                             ; preds = %1042
  %1112 = landingpad { ptr, i32 }
          cleanup
  br label %1118

1113:                                             ; preds = %1043
  %1114 = landingpad { ptr, i32 }
          cleanup
  br label %1117

1115:                                             ; preds = %1044
  %1116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #6
  br label %1117

1117:                                             ; preds = %1115, %1113
  %.pn868 = phi { ptr, i32 } [ %1116, %1115 ], [ %1114, %1113 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #6
  br label %1118

1118:                                             ; preds = %1117, %1111
  %.pn868.pn = phi { ptr, i32 } [ %.pn868, %1117 ], [ %1112, %1111 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #6
  br label %1119

1119:                                             ; preds = %1118, %1109
  %.pn868.pn.pn = phi { ptr, i32 } [ %.pn868.pn, %1118 ], [ %1110, %1109 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #6
  br label %1120

1120:                                             ; preds = %1119, %1107
  %.pn868.pn.pn.pn = phi { ptr, i32 } [ %.pn868.pn.pn, %1119 ], [ %1108, %1107 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #6
  br label %1121

1121:                                             ; preds = %1120, %1105
  %.pn868.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn868.pn.pn.pn, %1120 ], [ %1106, %1105 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %164) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %164) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #6
  br label %1306

1122:                                             ; preds = %1048
  %1123 = landingpad { ptr, i32 }
          cleanup
  br label %1132

1124:                                             ; preds = %1051, %1049
  %1125 = landingpad { ptr, i32 }
          cleanup
  br label %1131

1126:                                             ; preds = %1053
  %1127 = landingpad { ptr, i32 }
          cleanup
  br label %1130

1128:                                             ; preds = %1058, %1056, %1054
  %1129 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #6
  br label %1130

1130:                                             ; preds = %1128, %1126
  %.pn874 = phi { ptr, i32 } [ %1129, %1128 ], [ %1127, %1126 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #6
  br label %1131

1131:                                             ; preds = %1130, %1124
  %.pn874.pn = phi { ptr, i32 } [ %.pn874, %1130 ], [ %1125, %1124 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #6
  br label %1132

1132:                                             ; preds = %1131, %1122
  %.pn874.pn.pn = phi { ptr, i32 } [ %.pn874.pn, %1131 ], [ %1123, %1122 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %166) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #6
  br label %1306

1133:                                             ; preds = %1060, %1037
  %1134 = load i32, ptr %130, align 4, !tbaa !5
  %.not878 = icmp eq i32 %1134, 32
  br i1 %.not878, label %1185, label %1135

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

1136:                                             ; preds = %1135
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef nonnull @.str.486)
          to label %1137 unwind label %1159

1137:                                             ; preds = %1136
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %170, ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef nonnull @.str.3)
          to label %1138 unwind label %1161

1138:                                             ; preds = %1137
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %169, ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull @.str.192)
          to label %1139 unwind label %1163

1139:                                             ; preds = %1138
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %168, ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef nonnull @.str.18)
          to label %1140 unwind label %1165

1140:                                             ; preds = %1139
  %1141 = 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) %168)
          to label %1142 unwind label %1167

1142:                                             ; preds = %1140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  %1143 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1144 unwind label %1086

1144:                                             ; preds = %1142
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %174) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %175) #6
  store i32 32, ptr %175, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %174, ptr noundef nonnull align 4 dereferenceable(4) %175)
          to label %1145 unwind label %1174

1145:                                             ; preds = %1144
  %1146 = 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) %1143, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1147 unwind label %1176

1147:                                             ; preds = %1145
  %1148 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1146, ptr noundef nonnull @.str.20)
          to label %1149 unwind label %1176

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

1150:                                             ; preds = %1149
  %1151 = 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) %1148, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1152 unwind label %1180

1152:                                             ; preds = %1150
  %1153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1151, ptr noundef nonnull @.str.21)
          to label %1154 unwind label %1180

1154:                                             ; preds = %1152
  %1155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1153, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1156 unwind label %1180

1156:                                             ; preds = %1154
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %176) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %175) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #6
  invoke void @_Z4failv()
          to label %1185 unwind label %1086

1157:                                             ; preds = %1135
  %1158 = landingpad { ptr, i32 }
          cleanup
  br label %1173

1159:                                             ; preds = %1136
  %1160 = landingpad { ptr, i32 }
          cleanup
  br label %1172

1161:                                             ; preds = %1137
  %1162 = landingpad { ptr, i32 }
          cleanup
  br label %1171

1163:                                             ; preds = %1138
  %1164 = landingpad { ptr, i32 }
          cleanup
  br label %1170

1165:                                             ; preds = %1139
  %1166 = landingpad { ptr, i32 }
          cleanup
  br label %1169

1167:                                             ; preds = %1140
  %1168 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  br label %1169

1169:                                             ; preds = %1167, %1165
  %.pn879 = phi { ptr, i32 } [ %1168, %1167 ], [ %1166, %1165 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #6
  br label %1170

1170:                                             ; preds = %1169, %1163
  %.pn879.pn = phi { ptr, i32 } [ %.pn879, %1169 ], [ %1164, %1163 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #6
  br label %1171

1171:                                             ; preds = %1170, %1161
  %.pn879.pn.pn = phi { ptr, i32 } [ %.pn879.pn, %1170 ], [ %1162, %1161 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #6
  br label %1172

1172:                                             ; preds = %1171, %1159
  %.pn879.pn.pn.pn = phi { ptr, i32 } [ %.pn879.pn.pn, %1171 ], [ %1160, %1159 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #6
  br label %1173

1173:                                             ; preds = %1172, %1157
  %.pn879.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn879.pn.pn.pn, %1172 ], [ %1158, %1157 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %173) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #6
  br label %1306

1174:                                             ; preds = %1144
  %1175 = landingpad { ptr, i32 }
          cleanup
  br label %1184

1176:                                             ; preds = %1147, %1145
  %1177 = landingpad { ptr, i32 }
          cleanup
  br label %1183

1178:                                             ; preds = %1149
  %1179 = landingpad { ptr, i32 }
          cleanup
  br label %1182

1180:                                             ; preds = %1154, %1152, %1150
  %1181 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #6
  br label %1182

1182:                                             ; preds = %1180, %1178
  %.pn885 = phi { ptr, i32 } [ %1181, %1180 ], [ %1179, %1178 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %176) #6
  br label %1183

1183:                                             ; preds = %1182, %1176
  %.pn885.pn = phi { ptr, i32 } [ %.pn885, %1182 ], [ %1177, %1176 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #6
  br label %1184

1184:                                             ; preds = %1183, %1174
  %.pn885.pn.pn = phi { ptr, i32 } [ %.pn885.pn, %1183 ], [ %1175, %1174 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %175) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #6
  br label %1306

1185:                                             ; preds = %1156, %1133
  %1186 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  %1187 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %148) #6
  %.not889 = icmp eq i64 %1186, %1187
  br i1 %.not889, label %1240, label %1188

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

1189:                                             ; preds = %1188
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %180, ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull @.str.487)
          to label %1190 unwind label %1214

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

1191:                                             ; preds = %1190
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull @.str.293)
          to label %1192 unwind label %1218

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

1193:                                             ; preds = %1192
  %1194 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %1195 unwind label %1222

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

1197:                                             ; preds = %1195
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %183) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %184) #6
  %1198 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  store i64 %1198, ptr %184, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %183, ptr noundef nonnull align 8 dereferenceable(8) %184)
          to label %1199 unwind label %1229

1199:                                             ; preds = %1197
  %1200 = 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) %1196, ptr noundef nonnull align 8 dereferenceable(32) %183)
          to label %1201 unwind label %1231

1201:                                             ; preds = %1199
  %1202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1200, ptr noundef nonnull @.str.20)
          to label %1203 unwind label %1231

1203:                                             ; preds = %1201
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %185) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %186) #6
  %1204 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %148) #6
  store i64 %1204, ptr %186, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %185, ptr noundef nonnull align 8 dereferenceable(8) %186)
          to label %1205 unwind label %1233

1205:                                             ; preds = %1203
  %1206 = 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) %1202, ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %1207 unwind label %1235

1207:                                             ; preds = %1205
  %1208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1206, ptr noundef nonnull @.str.21)
          to label %1209 unwind label %1235

1209:                                             ; preds = %1207
  %1210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1208, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1211 unwind label %1235

1211:                                             ; preds = %1209
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %185) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %183) #6
  invoke void @_Z4failv()
          to label %1240 unwind label %1086

1212:                                             ; preds = %1188
  %1213 = landingpad { ptr, i32 }
          cleanup
  br label %1228

1214:                                             ; preds = %1189
  %1215 = landingpad { ptr, i32 }
          cleanup
  br label %1227

1216:                                             ; preds = %1190
  %1217 = landingpad { ptr, i32 }
          cleanup
  br label %1226

1218:                                             ; preds = %1191
  %1219 = landingpad { ptr, i32 }
          cleanup
  br label %1225

1220:                                             ; preds = %1192
  %1221 = landingpad { ptr, i32 }
          cleanup
  br label %1224

1222:                                             ; preds = %1193
  %1223 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #6
  br label %1224

1224:                                             ; preds = %1222, %1220
  %.pn890 = phi { ptr, i32 } [ %1223, %1222 ], [ %1221, %1220 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #6
  br label %1225

1225:                                             ; preds = %1224, %1218
  %.pn890.pn = phi { ptr, i32 } [ %.pn890, %1224 ], [ %1219, %1218 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #6
  br label %1226

1226:                                             ; preds = %1225, %1216
  %.pn890.pn.pn = phi { ptr, i32 } [ %.pn890.pn, %1225 ], [ %1217, %1216 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #6
  br label %1227

1227:                                             ; preds = %1226, %1214
  %.pn890.pn.pn.pn = phi { ptr, i32 } [ %.pn890.pn.pn, %1226 ], [ %1215, %1214 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #6
  br label %1228

1228:                                             ; preds = %1227, %1212
  %.pn890.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn890.pn.pn.pn, %1227 ], [ %1213, %1212 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %182) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %182) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %181) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %180) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %178) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %177) #6
  br label %1306

1229:                                             ; preds = %1197
  %1230 = landingpad { ptr, i32 }
          cleanup
  br label %1239

1231:                                             ; preds = %1201, %1199
  %1232 = landingpad { ptr, i32 }
          cleanup
  br label %1238

1233:                                             ; preds = %1203
  %1234 = landingpad { ptr, i32 }
          cleanup
  br label %1237

1235:                                             ; preds = %1209, %1207, %1205
  %1236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #6
  br label %1237

1237:                                             ; preds = %1235, %1233
  %.pn896 = phi { ptr, i32 } [ %1236, %1235 ], [ %1234, %1233 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %185) #6
  br label %1238

1238:                                             ; preds = %1237, %1231
  %.pn896.pn = phi { ptr, i32 } [ %.pn896, %1237 ], [ %1232, %1231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #6
  br label %1239

1239:                                             ; preds = %1238, %1229
  %.pn896.pn.pn = phi { ptr, i32 } [ %.pn896.pn, %1238 ], [ %1230, %1229 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %183) #6
  br label %1306

1240:                                             ; preds = %1211, %1185
  %1241 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  %.not1561 = icmp eq i64 %1241, 0
  br i1 %.not1561, label %._crit_edge1531, label %.lr.ph1530

._crit_edge1531:                                  ; preds = %1300, %1240
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %148) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %147) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %147) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %134) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %134) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %133) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %133) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %195) #6
  store i32 32, ptr %195, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %196) #6
  store i32 32, ptr %196, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %197) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %198) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %198)
          to label %1304 unwind label %1312

.lr.ph1530:                                       ; preds = %1240, %1300
  %.03441528 = phi i64 [ %1301, %1300 ], [ 0, %1240 ]
  %1242 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef %.03441528) #6
  %1243 = load i8, ptr %1242, align 1, !tbaa !9
  %1244 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %148, i64 noundef %.03441528) #6
  %1245 = load i8, ptr %1244, align 1, !tbaa !9
  %.not1063 = icmp eq i8 %1243, %1245
  br i1 %.not1063, label %1300, label %1246

1246:                                             ; preds = %.lr.ph1530
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %187) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %188) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %189) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %190) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %191) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %192) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %192)
          to label %1247 unwind label %1270

1247:                                             ; preds = %1246
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull @.str.488)
          to label %1248 unwind label %1272

1248:                                             ; preds = %1247
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef nonnull @.str.3)
          to label %1249 unwind label %1274

1249:                                             ; preds = %1248
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %188, ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull @.str.295)
          to label %1250 unwind label %1276

1250:                                             ; preds = %1249
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %187, ptr noundef nonnull align 8 dereferenceable(32) %188, ptr noundef nonnull @.str.18)
          to label %1251 unwind label %1278

1251:                                             ; preds = %1250
  %1252 = 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) %187)
          to label %1253 unwind label %1280

1253:                                             ; preds = %1251
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %187) #6
  %1254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1255 unwind label %1287

1255:                                             ; preds = %1253
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %193) #6
  %1256 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %131, i64 noundef %.03441528) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %193, ptr noundef nonnull align 1 dereferenceable(1) %1256)
          to label %1257 unwind label %1289

1257:                                             ; preds = %1255
  %1258 = 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) %1254, ptr noundef nonnull align 8 dereferenceable(32) %193)
          to label %1259 unwind label %1291

1259:                                             ; preds = %1257
  %1260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1258, ptr noundef nonnull @.str.20)
          to label %1261 unwind label %1291

1261:                                             ; preds = %1259
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %194) #6
  %1262 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %148, i64 noundef %.03441528) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %194, ptr noundef nonnull align 1 dereferenceable(1) %1262)
          to label %1263 unwind label %1293

1263:                                             ; preds = %1261
  %1264 = 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) %1260, ptr noundef nonnull align 8 dereferenceable(32) %194)
          to label %1265 unwind label %1295

1265:                                             ; preds = %1263
  %1266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1264, ptr noundef nonnull @.str.21)
          to label %1267 unwind label %1295

1267:                                             ; preds = %1265
  %1268 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1266, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1269 unwind label %1295

1269:                                             ; preds = %1267
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %194) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %193) #6
  invoke void @_Z4failv()
          to label %1300 unwind label %1287

1270:                                             ; preds = %1246
  %1271 = landingpad { ptr, i32 }
          cleanup
  br label %1286

1272:                                             ; preds = %1247
  %1273 = landingpad { ptr, i32 }
          cleanup
  br label %1285

1274:                                             ; preds = %1248
  %1275 = landingpad { ptr, i32 }
          cleanup
  br label %1284

1276:                                             ; preds = %1249
  %1277 = landingpad { ptr, i32 }
          cleanup
  br label %1283

1278:                                             ; preds = %1250
  %1279 = landingpad { ptr, i32 }
          cleanup
  br label %1282

1280:                                             ; preds = %1251
  %1281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #6
  br label %1282

1282:                                             ; preds = %1280, %1278
  %.pn1064 = phi { ptr, i32 } [ %1281, %1280 ], [ %1279, %1278 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #6
  br label %1283

1283:                                             ; preds = %1282, %1276
  %.pn1064.pn = phi { ptr, i32 } [ %.pn1064, %1282 ], [ %1277, %1276 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  br label %1284

1284:                                             ; preds = %1283, %1274
  %.pn1064.pn.pn = phi { ptr, i32 } [ %.pn1064.pn, %1283 ], [ %1275, %1274 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #6
  br label %1285

1285:                                             ; preds = %1284, %1272
  %.pn1064.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn, %1284 ], [ %1273, %1272 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #6
  br label %1286

1286:                                             ; preds = %1285, %1270
  %.pn1064.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1064.pn.pn.pn, %1285 ], [ %1271, %1270 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %192) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %192) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %191) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %190) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %189) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %188) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %187) #6
  br label %1306

1287:                                             ; preds = %1269, %1253
  %1288 = landingpad { ptr, i32 }
          cleanup
  br label %1306

1289:                                             ; preds = %1255
  %1290 = landingpad { ptr, i32 }
          cleanup
  br label %1299

1291:                                             ; preds = %1259, %1257
  %1292 = landingpad { ptr, i32 }
          cleanup
  br label %1298

1293:                                             ; preds = %1261
  %1294 = landingpad { ptr, i32 }
          cleanup
  br label %1297

1295:                                             ; preds = %1267, %1265, %1263
  %1296 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #6
  br label %1297

1297:                                             ; preds = %1295, %1293
  %.pn1070 = phi { ptr, i32 } [ %1296, %1295 ], [ %1294, %1293 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %194) #6
  br label %1298

1298:                                             ; preds = %1297, %1291
  %.pn1070.pn = phi { ptr, i32 } [ %.pn1070, %1297 ], [ %1292, %1291 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #6
  br label %1299

1299:                                             ; preds = %1298, %1289
  %.pn1070.pn.pn = phi { ptr, i32 } [ %.pn1070.pn, %1298 ], [ %1290, %1289 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %193) #6
  br label %1306

1300:                                             ; preds = %.lr.ph1530, %1269
  %1301 = add nuw i64 %.03441528, 1
  %1302 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  %1303 = icmp ult i64 %1301, %1302
  br i1 %1303, label %.lr.ph1530, label %._crit_edge1531, !llvm.loop !35

1304:                                             ; preds = %._crit_edge1531
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %198) #6
  %1305 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  %.not9001532 = icmp ult i64 %1305, 4
  br i1 %.not9001532, label %._crit_edge1536, label %.lr.ph1535

._crit_edge1536:                                  ; preds = %.lr.ph1535, %1304
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %199) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %199) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %200) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %200)
          to label %1325 unwind label %1388

1306:                                             ; preds = %1286, %1287, %1299, %1239, %1228, %1184, %1173, %1132, %1121, %1104, %1086
  %.pn1074.pn = phi { ptr, i32 } [ %1087, %1086 ], [ %.pn896.pn.pn, %1239 ], [ %.pn890.pn.pn.pn.pn, %1228 ], [ %.pn885.pn.pn, %1184 ], [ %.pn879.pn.pn.pn.pn, %1173 ], [ %.pn874.pn.pn, %1132 ], [ %.pn868.pn.pn.pn.pn, %1121 ], [ %.pn859.pn.pn.pn.pn.pn.pn, %1104 ], [ %1288, %1287 ], [ %.pn1070.pn.pn, %1299 ], [ %.pn1064.pn.pn.pn.pn, %1286 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %148) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %147) #6
  br label %1307

1307:                                             ; preds = %1306, %1084
  %.pn1074.pn.pn = phi { ptr, i32 } [ %.pn1074.pn, %1306 ], [ %1085, %1084 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %147) #6
  br label %1308

1308:                                             ; preds = %1307, %1083, %1065
  %.pn1074.pn.pn.pn = phi { ptr, i32 } [ %.pn1074.pn.pn, %1307 ], [ %.pn851.pn.pn.pn.pn.pn.pn, %1083 ], [ %1066, %1065 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  br label %1309

1309:                                             ; preds = %1308, %1063
  %.pn1074.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1074.pn.pn.pn, %1308 ], [ %1064, %1063 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %134) #6
  br label %1310

1310:                                             ; preds = %1309, %1061
  %.pn1074.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1074.pn.pn.pn.pn, %1309 ], [ %1062, %1061 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %134) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %133) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %133) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #6
  br label %1311

1311:                                             ; preds = %1310, %991
  %.pn1074.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1074.pn.pn.pn.pn.pn, %1310 ], [ %992, %991 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #6
  br label %2108

1312:                                             ; preds = %._crit_edge1531
  %1313 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %198) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %198) #6
  br label %1638

.lr.ph1535:                                       ; preds = %1304, %.lr.ph1535
  %1314 = phi i64 [ %1323, %.lr.ph1535 ], [ 4, %1304 ]
  %.03431533 = phi i64 [ %1314, %.lr.ph1535 ], [ 0, %1304 ]
  %1315 = trunc i64 %.03431533 to i8
  %1316 = or disjoint i64 %.03431533, 3
  %1317 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %1316) #6
  store i8 %1315, ptr %1317, align 1, !tbaa !9
  %1318 = or disjoint i64 %.03431533, 2
  %1319 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %1318) #6
  store i8 %1315, ptr %1319, align 1, !tbaa !9
  %1320 = or disjoint i64 %.03431533, 1
  %1321 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %1320) #6
  store i8 %1315, ptr %1321, align 1, !tbaa !9
  %1322 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %.03431533) #6
  store i8 %1315, ptr %1322, align 1, !tbaa !9
  %1323 = add i64 %1314, 4
  %1324 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  %.not900 = icmp ugt i64 %1323, %1324
  br i1 %.not900, label %._crit_edge1536, label %.lr.ph1535, !llvm.loop !36

1325:                                             ; preds = %._crit_edge1536
  %1326 = getelementptr inbounds i8, ptr %200, i64 424
  store i32 1, ptr %1326, align 8, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %201) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %202) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef nonnull @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %202)
          to label %1327 unwind label %1390

1327:                                             ; preds = %1325
  %1328 = getelementptr inbounds i8, ptr %200, i64 192
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %202) #6
  %1329 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %201, i64 noundef 1)
  store i8 0, ptr %1329, align 1, !tbaa !9
  %1330 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %201, i64 noundef 0)
  store i8 0, ptr %1330, align 1, !tbaa !9
  %1331 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  %1332 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  %1333 = trunc i64 %1332 to i32
  %1334 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %1328, ptr noundef nonnull @.str.482, ptr noundef %1331, i32 noundef %1333)
          to label %1335 unwind label %1392

1335:                                             ; preds = %1327
  %1336 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef 0) #6
  %1337 = load i32, ptr %195, align 4, !tbaa !5
  %1338 = load i32, ptr %196, align 4, !tbaa !5
  %1339 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %199, ptr noundef nonnull %1336, i32 noundef %1337, i32 noundef %1338, ptr noundef nonnull align 8 dereferenceable(508) %200)
          to label %1340 unwind label %1392

1340:                                             ; preds = %1335
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %203) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %204) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %205) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %206) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %206)
          to label %1341 unwind label %1394

1341:                                             ; preds = %1340
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %204, ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull @.str.490)
          to label %1342 unwind label %1396

1342:                                             ; preds = %1341
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %208) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %209) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %209) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %209)
          to label %1343 unwind label %1398

1343:                                             ; preds = %1342
  %1344 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br i1 %1344, label %1345, label %1346

1345:                                             ; preds = %1343
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %210) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %1348 unwind label %.critedge1205.thread

1346:                                             ; preds = %1343
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %211) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %212) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %211, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %212)
          to label %1347 unwind label %.critedge1204.thread

1347:                                             ; preds = %1346
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %207, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %1348 unwind label %.thread1379

1348:                                             ; preds = %1347, %1345
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %203, ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef nonnull align 8 dereferenceable(32) %207)
          to label %1349 unwind label %1403

1349:                                             ; preds = %1348
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1339, ptr noundef nonnull align 8 dereferenceable(32) %203)
          to label %1350 unwind label %1405

1350:                                             ; preds = %1349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br i1 %1344, label %.critedge1267, label %.critedge1190

.critedge1190:                                    ; preds = %1350
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %212) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %211) #6
  br label %.critedge1195

.critedge1267:                                    ; preds = %1350
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %210) #6
  br label %.critedge1195

.critedge1195:                                    ; preds = %.critedge1190, %.critedge1267
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %209) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %209) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %208) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %206) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %205) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %203) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %213) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %213)
          to label %1351 unwind label %1411

1351:                                             ; preds = %.critedge1195
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %214) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  %1352 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %214, ptr noundef nonnull align 4 dereferenceable(4) %195, ptr noundef nonnull align 4 dereferenceable(4) %196, ptr noundef nonnull align 8 dereferenceable(508) %213, ptr noundef nonnull align 8 dereferenceable(24) %199)
          to label %1353 unwind label %1413

1353:                                             ; preds = %1351
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %215) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %216) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %217) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %218) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %218)
          to label %1354 unwind label %1415

1354:                                             ; preds = %1353
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %216, ptr noundef nonnull align 8 dereferenceable(32) %217, ptr noundef nonnull @.str.491)
          to label %1355 unwind label %1417

1355:                                             ; preds = %1354
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %219) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %220) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %221) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %220, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %221)
          to label %1356 unwind label %1419

1356:                                             ; preds = %1355
  %1357 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %220) #6
  br i1 %1357, label %1358, label %1359

1358:                                             ; preds = %1356
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %222) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %222) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %222)
          to label %1361 unwind label %.critedge1210.thread

1359:                                             ; preds = %1356
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %223) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %224) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %223, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %224)
          to label %1360 unwind label %.critedge1209.thread

1360:                                             ; preds = %1359
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %219, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %1361 unwind label %.thread1397

1361:                                             ; preds = %1360, %1358
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %215, ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef nonnull align 8 dereferenceable(32) %219)
          to label %1362 unwind label %1424

1362:                                             ; preds = %1361
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1352, ptr noundef nonnull align 8 dereferenceable(32) %215)
          to label %1363 unwind label %1426

1363:                                             ; preds = %1362
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #6
  br i1 %1357, label %.critedge1268, label %.critedge1197

.critedge1197:                                    ; preds = %1363
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %224) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %223) #6
  br label %.critedge1202

.critedge1268:                                    ; preds = %1363
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %222) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %222) #6
  br label %.critedge1202

.critedge1202:                                    ; preds = %.critedge1197, %.critedge1268
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %221) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %220) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %219) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %218) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %217) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %216) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %215) #6
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %200, ptr noundef nonnull align 8 dereferenceable(508) %213)
          to label %1364 unwind label %1413

1364:                                             ; preds = %.critedge1202
  %1365 = load i32, ptr %195, align 4, !tbaa !5
  %.not917 = icmp eq i32 %1365, 32
  br i1 %.not917, label %1460, label %1366

1366:                                             ; preds = %1364
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %225) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %227) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %228) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %229) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %230) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %230)
          to label %1367 unwind label %1432

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

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

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

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

1371:                                             ; preds = %1370
  %1372 = 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) %225)
          to label %1373 unwind label %1442

1373:                                             ; preds = %1371
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %230) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %229) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %228) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %227) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %225) #6
  %1374 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1375 unwind label %1413

1375:                                             ; preds = %1373
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %231) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %232) #6
  store i32 32, ptr %232, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %231, ptr noundef nonnull align 4 dereferenceable(4) %232)
          to label %1376 unwind label %1449

1376:                                             ; preds = %1375
  %1377 = 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) %1374, ptr noundef nonnull align 8 dereferenceable(32) %231)
          to label %1378 unwind label %1451

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

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

1381:                                             ; preds = %1380
  %1382 = 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) %1379, ptr noundef nonnull align 8 dereferenceable(32) %233)
          to label %1383 unwind label %1455

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

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

1387:                                             ; preds = %1385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %233) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %232) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %231) #6
  invoke void @_Z4failv()
          to label %1460 unwind label %1413

1388:                                             ; preds = %._crit_edge1536
  %1389 = landingpad { ptr, i32 }
          cleanup
  br label %1637

1390:                                             ; preds = %1325
  %1391 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %202) #6
  br label %1636

1392:                                             ; preds = %1335, %1327
  %1393 = landingpad { ptr, i32 }
          cleanup
  br label %1635

1394:                                             ; preds = %1340
  %1395 = landingpad { ptr, i32 }
          cleanup
  br label %1410

1396:                                             ; preds = %1341
  %1397 = landingpad { ptr, i32 }
          cleanup
  br label %1409

1398:                                             ; preds = %1342
  %1399 = landingpad { ptr, i32 }
          cleanup
  br label %1408

.critedge1205.thread:                             ; preds = %1345
  %1400 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1205

.critedge1204.thread:                             ; preds = %1346
  %1401 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %212) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %211) #6
  br label %.critedge1207

.thread1379:                                      ; preds = %1347
  %1402 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1204

1403:                                             ; preds = %1348
  %1404 = landingpad { ptr, i32 }
          cleanup
  br label %1407

1405:                                             ; preds = %1349
  %1406 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #6
  br label %1407

1407:                                             ; preds = %1403, %1405
  %.pn901 = phi { ptr, i32 } [ %1406, %1405 ], [ %1404, %1403 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #6
  br i1 %1344, label %.critedge1205, label %.critedge1204

.critedge1204:                                    ; preds = %1407, %.thread1379
  %.pn901.pn1383 = phi { ptr, i32 } [ %1402, %.thread1379 ], [ %.pn901, %1407 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %212) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %211) #6
  br label %.critedge1207

.critedge1205:                                    ; preds = %1407, %.critedge1205.thread
  %.pn901.pn.pn.pn1396 = phi { ptr, i32 } [ %1400, %.critedge1205.thread ], [ %.pn901, %1407 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %210) #6
  br label %.critedge1207

.critedge1207:                                    ; preds = %.critedge1204, %.critedge1204.thread, %.critedge1205
  %.pn901.pn.pn.pn1395 = phi { ptr, i32 } [ %.pn901.pn.pn.pn1396, %.critedge1205 ], [ %.pn901.pn1383, %.critedge1204 ], [ %1401, %.critedge1204.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #6
  br label %1408

1408:                                             ; preds = %.critedge1207, %1398
  %.pn901.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn901.pn.pn.pn1395, %.critedge1207 ], [ %1399, %1398 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %209) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %209) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %208) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #6
  br label %1409

1409:                                             ; preds = %1408, %1396
  %.pn901.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn901.pn.pn.pn.pn, %1408 ], [ %1397, %1396 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #6
  br label %1410

1410:                                             ; preds = %1409, %1394
  %.pn901.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn901.pn.pn.pn.pn.pn, %1409 ], [ %1395, %1394 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %206) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %206) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %205) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %203) #6
  br label %1635

1411:                                             ; preds = %.critedge1195
  %1412 = landingpad { ptr, i32 }
          cleanup
  br label %1634

1413:                                             ; preds = %1538, %1522, %1483, %1469, %1387, %1373, %.critedge1202, %1351
  %1414 = landingpad { ptr, i32 }
          cleanup
  br label %1633

1415:                                             ; preds = %1353
  %1416 = landingpad { ptr, i32 }
          cleanup
  br label %1431

1417:                                             ; preds = %1354
  %1418 = landingpad { ptr, i32 }
          cleanup
  br label %1430

1419:                                             ; preds = %1355
  %1420 = landingpad { ptr, i32 }
          cleanup
  br label %1429

.critedge1210.thread:                             ; preds = %1358
  %1421 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1210

.critedge1209.thread:                             ; preds = %1359
  %1422 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %224) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %223) #6
  br label %.critedge1212

.thread1397:                                      ; preds = %1360
  %1423 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1209

1424:                                             ; preds = %1361
  %1425 = landingpad { ptr, i32 }
          cleanup
  br label %1428

1426:                                             ; preds = %1362
  %1427 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #6
  br label %1428

1428:                                             ; preds = %1424, %1426
  %.pn909 = phi { ptr, i32 } [ %1427, %1426 ], [ %1425, %1424 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #6
  br i1 %1357, label %.critedge1210, label %.critedge1209

.critedge1209:                                    ; preds = %1428, %.thread1397
  %.pn909.pn1401 = phi { ptr, i32 } [ %1423, %.thread1397 ], [ %.pn909, %1428 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %224) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %224) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %223) #6
  br label %.critedge1212

.critedge1210:                                    ; preds = %1428, %.critedge1210.thread
  %.pn909.pn.pn.pn1414 = phi { ptr, i32 } [ %1421, %.critedge1210.thread ], [ %.pn909, %1428 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %222) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %222) #6
  br label %.critedge1212

.critedge1212:                                    ; preds = %.critedge1209, %.critedge1209.thread, %.critedge1210
  %.pn909.pn.pn.pn1413 = phi { ptr, i32 } [ %.pn909.pn.pn.pn1414, %.critedge1210 ], [ %.pn909.pn1401, %.critedge1209 ], [ %1422, %.critedge1209.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #6
  br label %1429

1429:                                             ; preds = %.critedge1212, %1419
  %.pn909.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn909.pn.pn.pn1413, %.critedge1212 ], [ %1420, %1419 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %221) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %220) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %219) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #6
  br label %1430

1430:                                             ; preds = %1429, %1417
  %.pn909.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn909.pn.pn.pn.pn, %1429 ], [ %1418, %1417 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %217) #6
  br label %1431

1431:                                             ; preds = %1430, %1415
  %.pn909.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn909.pn.pn.pn.pn.pn, %1430 ], [ %1416, %1415 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %218) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %217) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %216) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %215) #6
  br label %1633

1432:                                             ; preds = %1366
  %1433 = landingpad { ptr, i32 }
          cleanup
  br label %1448

1434:                                             ; preds = %1367
  %1435 = landingpad { ptr, i32 }
          cleanup
  br label %1447

1436:                                             ; preds = %1368
  %1437 = landingpad { ptr, i32 }
          cleanup
  br label %1446

1438:                                             ; preds = %1369
  %1439 = landingpad { ptr, i32 }
          cleanup
  br label %1445

1440:                                             ; preds = %1370
  %1441 = landingpad { ptr, i32 }
          cleanup
  br label %1444

1442:                                             ; preds = %1371
  %1443 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #6
  br label %1444

1444:                                             ; preds = %1442, %1440
  %.pn918 = phi { ptr, i32 } [ %1443, %1442 ], [ %1441, %1440 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #6
  br label %1445

1445:                                             ; preds = %1444, %1438
  %.pn918.pn = phi { ptr, i32 } [ %.pn918, %1444 ], [ %1439, %1438 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #6
  br label %1446

1446:                                             ; preds = %1445, %1436
  %.pn918.pn.pn = phi { ptr, i32 } [ %.pn918.pn, %1445 ], [ %1437, %1436 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #6
  br label %1447

1447:                                             ; preds = %1446, %1434
  %.pn918.pn.pn.pn = phi { ptr, i32 } [ %.pn918.pn.pn, %1446 ], [ %1435, %1434 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #6
  br label %1448

1448:                                             ; preds = %1447, %1432
  %.pn918.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn918.pn.pn.pn, %1447 ], [ %1433, %1432 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %230) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %230) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %229) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %228) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %227) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %225) #6
  br label %1633

1449:                                             ; preds = %1375
  %1450 = landingpad { ptr, i32 }
          cleanup
  br label %1459

1451:                                             ; preds = %1378, %1376
  %1452 = landingpad { ptr, i32 }
          cleanup
  br label %1458

1453:                                             ; preds = %1380
  %1454 = landingpad { ptr, i32 }
          cleanup
  br label %1457

1455:                                             ; preds = %1385, %1383, %1381
  %1456 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #6
  br label %1457

1457:                                             ; preds = %1455, %1453
  %.pn924 = phi { ptr, i32 } [ %1456, %1455 ], [ %1454, %1453 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %233) #6
  br label %1458

1458:                                             ; preds = %1457, %1451
  %.pn924.pn = phi { ptr, i32 } [ %.pn924, %1457 ], [ %1452, %1451 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #6
  br label %1459

1459:                                             ; preds = %1458, %1449
  %.pn924.pn.pn = phi { ptr, i32 } [ %.pn924.pn, %1458 ], [ %1450, %1449 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %232) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %231) #6
  br label %1633

1460:                                             ; preds = %1387, %1364
  %1461 = load i32, ptr %196, align 4, !tbaa !5
  %.not928 = icmp eq i32 %1461, 32
  br i1 %.not928, label %1512, label %1462

1462:                                             ; preds = %1460
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %234) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %235) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %236) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %237) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %238) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %239) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %239)
          to label %1463 unwind label %1484

1463:                                             ; preds = %1462
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %237, ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef nonnull @.str.493)
          to label %1464 unwind label %1486

1464:                                             ; preds = %1463
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %236, ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef nonnull @.str.3)
          to label %1465 unwind label %1488

1465:                                             ; preds = %1464
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %235, ptr noundef nonnull align 8 dereferenceable(32) %236, ptr noundef nonnull @.str.192)
          to label %1466 unwind label %1490

1466:                                             ; preds = %1465
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %234, ptr noundef nonnull align 8 dereferenceable(32) %235, ptr noundef nonnull @.str.18)
          to label %1467 unwind label %1492

1467:                                             ; preds = %1466
  %1468 = 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) %234)
          to label %1469 unwind label %1494

1469:                                             ; preds = %1467
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %239) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %238) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %237) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %236) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %235) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %234) #6
  %1470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1471 unwind label %1413

1471:                                             ; preds = %1469
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %240) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %241) #6
  store i32 32, ptr %241, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %240, ptr noundef nonnull align 4 dereferenceable(4) %241)
          to label %1472 unwind label %1501

1472:                                             ; preds = %1471
  %1473 = 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) %1470, ptr noundef nonnull align 8 dereferenceable(32) %240)
          to label %1474 unwind label %1503

1474:                                             ; preds = %1472
  %1475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1473, ptr noundef nonnull @.str.20)
          to label %1476 unwind label %1503

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

1477:                                             ; preds = %1476
  %1478 = 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) %1475, ptr noundef nonnull align 8 dereferenceable(32) %242)
          to label %1479 unwind label %1507

1479:                                             ; preds = %1477
  %1480 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1478, ptr noundef nonnull @.str.21)
          to label %1481 unwind label %1507

1481:                                             ; preds = %1479
  %1482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1480, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1483 unwind label %1507

1483:                                             ; preds = %1481
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %242) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %241) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %240) #6
  invoke void @_Z4failv()
          to label %1512 unwind label %1413

1484:                                             ; preds = %1462
  %1485 = landingpad { ptr, i32 }
          cleanup
  br label %1500

1486:                                             ; preds = %1463
  %1487 = landingpad { ptr, i32 }
          cleanup
  br label %1499

1488:                                             ; preds = %1464
  %1489 = landingpad { ptr, i32 }
          cleanup
  br label %1498

1490:                                             ; preds = %1465
  %1491 = landingpad { ptr, i32 }
          cleanup
  br label %1497

1492:                                             ; preds = %1466
  %1493 = landingpad { ptr, i32 }
          cleanup
  br label %1496

1494:                                             ; preds = %1467
  %1495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #6
  br label %1496

1496:                                             ; preds = %1494, %1492
  %.pn929 = phi { ptr, i32 } [ %1495, %1494 ], [ %1493, %1492 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #6
  br label %1497

1497:                                             ; preds = %1496, %1490
  %.pn929.pn = phi { ptr, i32 } [ %.pn929, %1496 ], [ %1491, %1490 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #6
  br label %1498

1498:                                             ; preds = %1497, %1488
  %.pn929.pn.pn = phi { ptr, i32 } [ %.pn929.pn, %1497 ], [ %1489, %1488 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #6
  br label %1499

1499:                                             ; preds = %1498, %1486
  %.pn929.pn.pn.pn = phi { ptr, i32 } [ %.pn929.pn.pn, %1498 ], [ %1487, %1486 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #6
  br label %1500

1500:                                             ; preds = %1499, %1484
  %.pn929.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn929.pn.pn.pn, %1499 ], [ %1485, %1484 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %239) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %239) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %238) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %237) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %236) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %235) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %234) #6
  br label %1633

1501:                                             ; preds = %1471
  %1502 = landingpad { ptr, i32 }
          cleanup
  br label %1511

1503:                                             ; preds = %1474, %1472
  %1504 = landingpad { ptr, i32 }
          cleanup
  br label %1510

1505:                                             ; preds = %1476
  %1506 = landingpad { ptr, i32 }
          cleanup
  br label %1509

1507:                                             ; preds = %1481, %1479, %1477
  %1508 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #6
  br label %1509

1509:                                             ; preds = %1507, %1505
  %.pn935 = phi { ptr, i32 } [ %1508, %1507 ], [ %1506, %1505 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %242) #6
  br label %1510

1510:                                             ; preds = %1509, %1503
  %.pn935.pn = phi { ptr, i32 } [ %.pn935, %1509 ], [ %1504, %1503 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #6
  br label %1511

1511:                                             ; preds = %1510, %1501
  %.pn935.pn.pn = phi { ptr, i32 } [ %.pn935.pn, %1510 ], [ %1502, %1501 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %241) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %240) #6
  br label %1633

1512:                                             ; preds = %1483, %1460
  %1513 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  %1514 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  %.not939 = icmp eq i64 %1513, %1514
  br i1 %.not939, label %1567, label %1515

1515:                                             ; preds = %1512
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %243) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %244) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %245) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %246) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %247) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %248) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %248) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %247, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %248)
          to label %1516 unwind label %1539

1516:                                             ; preds = %1515
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %246, ptr noundef nonnull align 8 dereferenceable(32) %247, ptr noundef nonnull @.str.494)
          to label %1517 unwind label %1541

1517:                                             ; preds = %1516
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %245, ptr noundef nonnull align 8 dereferenceable(32) %246, ptr noundef nonnull @.str.3)
          to label %1518 unwind label %1543

1518:                                             ; preds = %1517
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %244, ptr noundef nonnull align 8 dereferenceable(32) %245, ptr noundef nonnull @.str.293)
          to label %1519 unwind label %1545

1519:                                             ; preds = %1518
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %243, ptr noundef nonnull align 8 dereferenceable(32) %244, ptr noundef nonnull @.str.18)
          to label %1520 unwind label %1547

1520:                                             ; preds = %1519
  %1521 = 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) %243)
          to label %1522 unwind label %1549

1522:                                             ; preds = %1520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %245) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %246) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %248) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %248) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %247) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %246) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %245) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %244) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %243) #6
  %1523 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1524 unwind label %1413

1524:                                             ; preds = %1522
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %249) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %250) #6
  %1525 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  store i64 %1525, ptr %250, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %249, ptr noundef nonnull align 8 dereferenceable(8) %250)
          to label %1526 unwind label %1556

1526:                                             ; preds = %1524
  %1527 = 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) %1523, ptr noundef nonnull align 8 dereferenceable(32) %249)
          to label %1528 unwind label %1558

1528:                                             ; preds = %1526
  %1529 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1527, ptr noundef nonnull @.str.20)
          to label %1530 unwind label %1558

1530:                                             ; preds = %1528
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %251) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %252) #6
  %1531 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  store i64 %1531, ptr %252, align 8, !tbaa !27
  invoke void @_Z8valtostrImENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %251, ptr noundef nonnull align 8 dereferenceable(8) %252)
          to label %1532 unwind label %1560

1532:                                             ; preds = %1530
  %1533 = 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) %1529, ptr noundef nonnull align 8 dereferenceable(32) %251)
          to label %1534 unwind label %1562

1534:                                             ; preds = %1532
  %1535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1533, ptr noundef nonnull @.str.21)
          to label %1536 unwind label %1562

1536:                                             ; preds = %1534
  %1537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1535, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1538 unwind label %1562

1538:                                             ; preds = %1536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %252) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %251) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %249) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %250) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %249) #6
  invoke void @_Z4failv()
          to label %1567 unwind label %1413

1539:                                             ; preds = %1515
  %1540 = landingpad { ptr, i32 }
          cleanup
  br label %1555

1541:                                             ; preds = %1516
  %1542 = landingpad { ptr, i32 }
          cleanup
  br label %1554

1543:                                             ; preds = %1517
  %1544 = landingpad { ptr, i32 }
          cleanup
  br label %1553

1545:                                             ; preds = %1518
  %1546 = landingpad { ptr, i32 }
          cleanup
  br label %1552

1547:                                             ; preds = %1519
  %1548 = landingpad { ptr, i32 }
          cleanup
  br label %1551

1549:                                             ; preds = %1520
  %1550 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %243) #6
  br label %1551

1551:                                             ; preds = %1549, %1547
  %.pn940 = phi { ptr, i32 } [ %1550, %1549 ], [ %1548, %1547 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %244) #6
  br label %1552

1552:                                             ; preds = %1551, %1545
  %.pn940.pn = phi { ptr, i32 } [ %.pn940, %1551 ], [ %1546, %1545 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %245) #6
  br label %1553

1553:                                             ; preds = %1552, %1543
  %.pn940.pn.pn = phi { ptr, i32 } [ %.pn940.pn, %1552 ], [ %1544, %1543 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %246) #6
  br label %1554

1554:                                             ; preds = %1553, %1541
  %.pn940.pn.pn.pn = phi { ptr, i32 } [ %.pn940.pn.pn, %1553 ], [ %1542, %1541 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #6
  br label %1555

1555:                                             ; preds = %1554, %1539
  %.pn940.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn940.pn.pn.pn, %1554 ], [ %1540, %1539 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %248) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %248) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %247) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %246) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %245) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %244) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %243) #6
  br label %1633

1556:                                             ; preds = %1524
  %1557 = landingpad { ptr, i32 }
          cleanup
  br label %1566

1558:                                             ; preds = %1528, %1526
  %1559 = landingpad { ptr, i32 }
          cleanup
  br label %1565

1560:                                             ; preds = %1530
  %1561 = landingpad { ptr, i32 }
          cleanup
  br label %1564

1562:                                             ; preds = %1536, %1534, %1532
  %1563 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %251) #6
  br label %1564

1564:                                             ; preds = %1562, %1560
  %.pn946 = phi { ptr, i32 } [ %1563, %1562 ], [ %1561, %1560 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %252) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %251) #6
  br label %1565

1565:                                             ; preds = %1564, %1558
  %.pn946.pn = phi { ptr, i32 } [ %.pn946, %1564 ], [ %1559, %1558 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %249) #6
  br label %1566

1566:                                             ; preds = %1565, %1556
  %.pn946.pn.pn = phi { ptr, i32 } [ %.pn946.pn, %1565 ], [ %1557, %1556 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %250) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %249) #6
  br label %1633

1567:                                             ; preds = %1538, %1512
  %1568 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  %.not1562 = icmp eq i64 %1568, 0
  br i1 %.not1562, label %._crit_edge1540, label %.lr.ph1539

._crit_edge1540:                                  ; preds = %1627, %1567
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %214) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %213) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %213) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %201) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %200) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %200) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %199) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %199) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %197) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %261) #6
  store i32 32, ptr %261, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %262) #6
  store i32 32, ptr %262, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %263) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %264) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %264)
          to label %1631 unwind label %1639

.lr.ph1539:                                       ; preds = %1567, %1627
  %.03041537 = phi i64 [ %1628, %1627 ], [ 0, %1567 ]
  %1569 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %.03041537) #6
  %1570 = load i8, ptr %1569, align 1, !tbaa !9
  %1571 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %214, i64 noundef %.03041537) #6
  %1572 = load i8, ptr %1571, align 1, !tbaa !9
  %.not1044 = icmp eq i8 %1570, %1572
  br i1 %.not1044, label %1627, label %1573

1573:                                             ; preds = %.lr.ph1539
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %253) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %254) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %255) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %256) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %257) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %258) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %258)
          to label %1574 unwind label %1597

1574:                                             ; preds = %1573
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %256, ptr noundef nonnull align 8 dereferenceable(32) %257, ptr noundef nonnull @.str.495)
          to label %1575 unwind label %1599

1575:                                             ; preds = %1574
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %255, ptr noundef nonnull align 8 dereferenceable(32) %256, ptr noundef nonnull @.str.3)
          to label %1576 unwind label %1601

1576:                                             ; preds = %1575
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %254, ptr noundef nonnull align 8 dereferenceable(32) %255, ptr noundef nonnull @.str.295)
          to label %1577 unwind label %1603

1577:                                             ; preds = %1576
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %253, ptr noundef nonnull align 8 dereferenceable(32) %254, ptr noundef nonnull @.str.18)
          to label %1578 unwind label %1605

1578:                                             ; preds = %1577
  %1579 = 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) %253)
          to label %1580 unwind label %1607

1580:                                             ; preds = %1578
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %253) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %255) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %258) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %257) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %256) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %255) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %254) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %253) #6
  %1581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.19)
          to label %1582 unwind label %1614

1582:                                             ; preds = %1580
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %259) #6
  %1583 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %.03041537) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %259, ptr noundef nonnull align 1 dereferenceable(1) %1583)
          to label %1584 unwind label %1616

1584:                                             ; preds = %1582
  %1585 = 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) %1581, ptr noundef nonnull align 8 dereferenceable(32) %259)
          to label %1586 unwind label %1618

1586:                                             ; preds = %1584
  %1587 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1585, ptr noundef nonnull @.str.20)
          to label %1588 unwind label %1618

1588:                                             ; preds = %1586
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %260) #6
  %1589 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %214, i64 noundef %.03041537) #6
  invoke void @_Z8valtostrIhENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %260, ptr noundef nonnull align 1 dereferenceable(1) %1589)
          to label %1590 unwind label %1620

1590:                                             ; preds = %1588
  %1591 = 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) %1587, ptr noundef nonnull align 8 dereferenceable(32) %260)
          to label %1592 unwind label %1622

1592:                                             ; preds = %1590
  %1593 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1591, ptr noundef nonnull @.str.21)
          to label %1594 unwind label %1622

1594:                                             ; preds = %1592
  %1595 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1593, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1596 unwind label %1622

1596:                                             ; preds = %1594
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %260) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %260) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %259) #6
  invoke void @_Z4failv()
          to label %1627 unwind label %1614

1597:                                             ; preds = %1573
  %1598 = landingpad { ptr, i32 }
          cleanup
  br label %1613

1599:                                             ; preds = %1574
  %1600 = landingpad { ptr, i32 }
          cleanup
  br label %1612

1601:                                             ; preds = %1575
  %1602 = landingpad { ptr, i32 }
          cleanup
  br label %1611

1603:                                             ; preds = %1576
  %1604 = landingpad { ptr, i32 }
          cleanup
  br label %1610

1605:                                             ; preds = %1577
  %1606 = landingpad { ptr, i32 }
          cleanup
  br label %1609

1607:                                             ; preds = %1578
  %1608 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %253) #6
  br label %1609

1609:                                             ; preds = %1607, %1605
  %.pn1045 = phi { ptr, i32 } [ %1608, %1607 ], [ %1606, %1605 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %254) #6
  br label %1610

1610:                                             ; preds = %1609, %1603
  %.pn1045.pn = phi { ptr, i32 } [ %.pn1045, %1609 ], [ %1604, %1603 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %255) #6
  br label %1611

1611:                                             ; preds = %1610, %1601
  %.pn1045.pn.pn = phi { ptr, i32 } [ %.pn1045.pn, %1610 ], [ %1602, %1601 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %256) #6
  br label %1612

1612:                                             ; preds = %1611, %1599
  %.pn1045.pn.pn.pn = phi { ptr, i32 } [ %.pn1045.pn.pn, %1611 ], [ %1600, %1599 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #6
  br label %1613

1613:                                             ; preds = %1612, %1597
  %.pn1045.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1045.pn.pn.pn, %1612 ], [ %1598, %1597 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %258) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %258) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %257) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %256) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %255) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %254) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %253) #6
  br label %1633

1614:                                             ; preds = %1596, %1580
  %1615 = landingpad { ptr, i32 }
          cleanup
  br label %1633

1616:                                             ; preds = %1582
  %1617 = landingpad { ptr, i32 }
          cleanup
  br label %1626

1618:                                             ; preds = %1586, %1584
  %1619 = landingpad { ptr, i32 }
          cleanup
  br label %1625

1620:                                             ; preds = %1588
  %1621 = landingpad { ptr, i32 }
          cleanup
  br label %1624

1622:                                             ; preds = %1594, %1592, %1590
  %1623 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %260) #6
  br label %1624

1624:                                             ; preds = %1622, %1620
  %.pn1051 = phi { ptr, i32 } [ %1623, %1622 ], [ %1621, %1620 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %260) #6
  br label %1625

1625:                                             ; preds = %1624, %1618
  %.pn1051.pn = phi { ptr, i32 } [ %.pn1051, %1624 ], [ %1619, %1618 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %259) #6
  br label %1626

1626:                                             ; preds = %1625, %1616
  %.pn1051.pn.pn = phi { ptr, i32 } [ %.pn1051.pn, %1625 ], [ %1617, %1616 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %259) #6
  br label %1633

1627:                                             ; preds = %.lr.ph1539, %1596
  %1628 = add nuw i64 %.03041537, 1
  %1629 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  %1630 = icmp ult i64 %1628, %1629
  br i1 %1630, label %.lr.ph1539, label %._crit_edge1540, !llvm.loop !37

1631:                                             ; preds = %._crit_edge1540
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %264) #6
  %1632 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #6
  %.not9501541 = icmp ult i64 %1632, 4
  br i1 %.not9501541, label %._crit_edge1545, label %.lr.ph1544

._crit_edge1545:                                  ; preds = %.lr.ph1544, %1631
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %265) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %265) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %266) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %266)
          to label %1656 unwind label %1721

1633:                                             ; preds = %1613, %1614, %1626, %1566, %1555, %1511, %1500, %1459, %1448, %1431, %1413
  %.pn1055.pn = phi { ptr, i32 } [ %1414, %1413 ], [ %.pn946.pn.pn, %1566 ], [ %.pn940.pn.pn.pn.pn, %1555 ], [ %.pn935.pn.pn, %1511 ], [ %.pn929.pn.pn.pn.pn, %1500 ], [ %.pn924.pn.pn, %1459 ], [ %.pn918.pn.pn.pn.pn, %1448 ], [ %.pn909.pn.pn.pn.pn.pn.pn, %1431 ], [ %1615, %1614 ], [ %.pn1051.pn.pn, %1626 ], [ %.pn1045.pn.pn.pn.pn, %1613 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %214) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %213) #6
  br label %1634

1634:                                             ; preds = %1633, %1411
  %.pn1055.pn.pn = phi { ptr, i32 } [ %.pn1055.pn, %1633 ], [ %1412, %1411 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %213) #6
  br label %1635

1635:                                             ; preds = %1634, %1410, %1392
  %.pn1055.pn.pn.pn = phi { ptr, i32 } [ %.pn1055.pn.pn, %1634 ], [ %.pn901.pn.pn.pn.pn.pn.pn, %1410 ], [ %1393, %1392 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #6
  br label %1636

1636:                                             ; preds = %1635, %1390
  %.pn1055.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1055.pn.pn.pn, %1635 ], [ %1391, %1390 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %201) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %200) #6
  br label %1637

1637:                                             ; preds = %1636, %1388
  %.pn1055.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1055.pn.pn.pn.pn, %1636 ], [ %1389, %1388 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %200) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %199) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %199) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %197) #6
  br label %1638

1638:                                             ; preds = %1637, %1312
  %.pn1055.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1055.pn.pn.pn.pn.pn, %1637 ], [ %1313, %1312 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %197) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #6
  br label %2108

1639:                                             ; preds = %._crit_edge1540
  %1640 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %264) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %264) #6
  br label %1801

.lr.ph1544:                                       ; preds = %1631, %.lr.ph1544
  %1641 = phi i64 [ %1654, %.lr.ph1544 ], [ 4, %1631 ]
  %.03031542 = phi i64 [ %1641, %.lr.ph1544 ], [ 0, %1631 ]
  %1642 = lshr exact i64 %.03031542, 2
  %1643 = urem i64 %1642, 3
  %1644 = getelementptr inbounds [3 x i32], ptr @__const._Z16testColorProfilev.colors, i64 0, i64 %1643
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = trunc i32 %1645 to i8
  %1647 = or disjoint i64 %.03031542, 3
  %1648 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef %1647) #6
  store i8 %1646, ptr %1648, align 1, !tbaa !9
  %1649 = or disjoint i64 %.03031542, 2
  %1650 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef %1649) #6
  store i8 %1646, ptr %1650, align 1, !tbaa !9
  %1651 = or disjoint i64 %.03031542, 1
  %1652 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef %1651) #6
  store i8 %1646, ptr %1652, align 1, !tbaa !9
  %1653 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef %.03031542) #6
  store i8 %1646, ptr %1653, align 1, !tbaa !9
  %1654 = add i64 %1641, 4
  %1655 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #6
  %.not950 = icmp ugt i64 %1654, %1655
  br i1 %.not950, label %._crit_edge1545, label %.lr.ph1544, !llvm.loop !38

1656:                                             ; preds = %._crit_edge1545
  %1657 = getelementptr inbounds i8, ptr %266, i64 424
  store i32 1, ptr %1657, align 8, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %267) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %268) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %268) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %267, ptr noundef nonnull @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %268)
          to label %1658 unwind label %1723

1658:                                             ; preds = %1656
  %1659 = getelementptr inbounds i8, ptr %266, i64 192
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %268) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %268) #6
  %1660 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %267, i64 noundef 1)
  store i8 0, ptr %1660, align 1, !tbaa !9
  %1661 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %267, i64 noundef 0)
  store i8 0, ptr %1661, align 1, !tbaa !9
  %1662 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  %1663 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  %1664 = trunc i64 %1663 to i32
  %1665 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %1659, ptr noundef nonnull @.str.482, ptr noundef %1662, i32 noundef %1664)
          to label %1666 unwind label %1725

1666:                                             ; preds = %1658
  %1667 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef 0) #6
  %1668 = load i32, ptr %261, align 4, !tbaa !5
  %1669 = load i32, ptr %262, align 4, !tbaa !5
  %1670 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %265, ptr noundef nonnull %1667, i32 noundef %1668, i32 noundef %1669, ptr noundef nonnull align 8 dereferenceable(508) %266)
          to label %1671 unwind label %1725

1671:                                             ; preds = %1666
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %269) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %270) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %271) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %272) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %272)
          to label %1672 unwind label %1727

1672:                                             ; preds = %1671
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %270, ptr noundef nonnull align 8 dereferenceable(32) %271, ptr noundef nonnull @.str.496)
          to label %1673 unwind label %1729

1673:                                             ; preds = %1672
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %273) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %274) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %275) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %275) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %274, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %275)
          to label %1674 unwind label %1731

1674:                                             ; preds = %1673
  %1675 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %274) #6
  br i1 %1675, label %1676, label %1677

1676:                                             ; preds = %1674
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %276) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %273, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %276)
          to label %1679 unwind label %.critedge1229.thread

1677:                                             ; preds = %1674
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %277) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %278) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %278) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %278)
          to label %1678 unwind label %.critedge1228.thread

1678:                                             ; preds = %1677
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %273, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %1679 unwind label %.thread1415

1679:                                             ; preds = %1678, %1676
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %269, ptr noundef nonnull align 8 dereferenceable(32) %270, ptr noundef nonnull align 8 dereferenceable(32) %273)
          to label %1680 unwind label %1736

1680:                                             ; preds = %1679
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1670, ptr noundef nonnull align 8 dereferenceable(32) %269)
          to label %1681 unwind label %1738

1681:                                             ; preds = %1680
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %269) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %273) #6
  br i1 %1675, label %.critedge1269, label %.critedge1214

.critedge1214:                                    ; preds = %1681
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %278) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %278) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %277) #6
  br label %.critedge1219

.critedge1269:                                    ; preds = %1681
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %276) #6
  br label %.critedge1219

.critedge1219:                                    ; preds = %.critedge1214, %.critedge1269
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %274) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %275) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %275) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %274) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %273) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %272) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %271) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %270) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %269) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %279) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %279)
          to label %1682 unwind label %1744

1682:                                             ; preds = %.critedge1219
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %280) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %280) #6
  %1683 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %280, ptr noundef nonnull align 4 dereferenceable(4) %261, ptr noundef nonnull align 4 dereferenceable(4) %262, ptr noundef nonnull align 8 dereferenceable(508) %279, ptr noundef nonnull align 8 dereferenceable(24) %265)
          to label %1684 unwind label %1746

1684:                                             ; preds = %1682
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %281) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %282) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %283) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %284) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %284) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %283, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %284)
          to label %1685 unwind label %1748

1685:                                             ; preds = %1684
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %282, ptr noundef nonnull align 8 dereferenceable(32) %283, ptr noundef nonnull @.str.497)
          to label %1686 unwind label %1750

1686:                                             ; preds = %1685
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %285) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %286) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %287) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %286, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %287)
          to label %1687 unwind label %1752

1687:                                             ; preds = %1686
  %1688 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %286) #6
  br i1 %1688, label %1689, label %1690

1689:                                             ; preds = %1687
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %288) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %288) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %285, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %288)
          to label %1692 unwind label %.critedge1234.thread

1690:                                             ; preds = %1687
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %289) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %290) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %290) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %289, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %290)
          to label %1691 unwind label %.critedge1233.thread

1691:                                             ; preds = %1690
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %285, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %289)
          to label %1692 unwind label %.thread1433

1692:                                             ; preds = %1691, %1689
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %281, ptr noundef nonnull align 8 dereferenceable(32) %282, ptr noundef nonnull align 8 dereferenceable(32) %285)
          to label %1693 unwind label %1757

1693:                                             ; preds = %1692
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1683, ptr noundef nonnull align 8 dereferenceable(32) %281)
          to label %1694 unwind label %1759

1694:                                             ; preds = %1693
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %281) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br i1 %1688, label %.critedge1270, label %.critedge1221

.critedge1221:                                    ; preds = %1694
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %290) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %290) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %289) #6
  br label %.critedge1226

.critedge1270:                                    ; preds = %1694
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %288) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %288) #6
  br label %.critedge1226

.critedge1226:                                    ; preds = %.critedge1221, %.critedge1270
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %287) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %286) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %285) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %282) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %283) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %284) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %284) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %283) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %282) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %281) #6
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %266, ptr noundef nonnull align 8 dereferenceable(508) %279)
          to label %1695 unwind label %1746

1695:                                             ; preds = %.critedge1226
  %1696 = getelementptr inbounds i8, ptr %279, i64 208
  %1697 = load i32, ptr %1696, align 8, !tbaa !39
  %1698 = icmp eq i32 %1697, 3
  br i1 %1698, label %1699, label %1793

1699:                                             ; preds = %1695
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %291) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %292) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %293) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %294) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %295) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %296) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %296) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %295, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %296)
          to label %1700 unwind label %1765

1700:                                             ; preds = %1699
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %294, ptr noundef nonnull align 8 dereferenceable(32) %295, ptr noundef nonnull @.str.498)
          to label %1701 unwind label %1767

1701:                                             ; preds = %1700
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %293, ptr noundef nonnull align 8 dereferenceable(32) %294, ptr noundef nonnull @.str.3)
          to label %1702 unwind label %1769

1702:                                             ; preds = %1701
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %292, ptr noundef nonnull align 8 dereferenceable(32) %293, ptr noundef nonnull @.str.323)
          to label %1703 unwind label %1771

1703:                                             ; preds = %1702
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %291, ptr noundef nonnull align 8 dereferenceable(32) %292, ptr noundef nonnull @.str.266)
          to label %1704 unwind label %1773

1704:                                             ; preds = %1703
  %1705 = 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) %291)
          to label %1706 unwind label %1775

1706:                                             ; preds = %1704
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %291) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %294) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %295) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %296) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %296) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %295) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %294) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %293) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %292) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %291) #6
  %1707 = 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.267)
          to label %1708 unwind label %1746

1708:                                             ; preds = %1706
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %297) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %298) #6
  store i32 3, ptr %298, align 4, !tbaa !40
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %297, ptr noundef nonnull align 4 dereferenceable(4) %298)
          to label %1709 unwind label %1782

1709:                                             ; preds = %1708
  %1710 = 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) %1707, ptr noundef nonnull align 8 dereferenceable(32) %297)
          to label %1711 unwind label %1784

1711:                                             ; preds = %1709
  %1712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1710, ptr noundef nonnull @.str.20)
          to label %1713 unwind label %1784

1713:                                             ; preds = %1711
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %299) #6
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %299, ptr noundef nonnull align 4 dereferenceable(4) %1696)
          to label %1714 unwind label %1786

1714:                                             ; preds = %1713
  %1715 = 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) %1712, ptr noundef nonnull align 8 dereferenceable(32) %299)
          to label %1716 unwind label %1788

1716:                                             ; preds = %1714
  %1717 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1715, ptr noundef nonnull @.str.21)
          to label %1718 unwind label %1788

1718:                                             ; preds = %1716
  %1719 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1717, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1720 unwind label %1788

1720:                                             ; preds = %1718
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %299) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %298) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %297) #6
  invoke void @_Z4failv()
          to label %1793 unwind label %1746

1721:                                             ; preds = %._crit_edge1545
  %1722 = landingpad { ptr, i32 }
          cleanup
  br label %1800

1723:                                             ; preds = %1656
  %1724 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %268) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %268) #6
  br label %1799

1725:                                             ; preds = %1666, %1658
  %1726 = landingpad { ptr, i32 }
          cleanup
  br label %1798

1727:                                             ; preds = %1671
  %1728 = landingpad { ptr, i32 }
          cleanup
  br label %1743

1729:                                             ; preds = %1672
  %1730 = landingpad { ptr, i32 }
          cleanup
  br label %1742

1731:                                             ; preds = %1673
  %1732 = landingpad { ptr, i32 }
          cleanup
  br label %1741

.critedge1229.thread:                             ; preds = %1676
  %1733 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1229

.critedge1228.thread:                             ; preds = %1677
  %1734 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %278) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %278) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %277) #6
  br label %.critedge1231

.thread1415:                                      ; preds = %1678
  %1735 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1228

1736:                                             ; preds = %1679
  %1737 = landingpad { ptr, i32 }
          cleanup
  br label %1740

1738:                                             ; preds = %1680
  %1739 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %269) #6
  br label %1740

1740:                                             ; preds = %1736, %1738
  %.pn951 = phi { ptr, i32 } [ %1739, %1738 ], [ %1737, %1736 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %273) #6
  br i1 %1675, label %.critedge1229, label %.critedge1228

.critedge1228:                                    ; preds = %1740, %.thread1415
  %.pn951.pn1419 = phi { ptr, i32 } [ %1735, %.thread1415 ], [ %.pn951, %1740 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %278) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %278) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %277) #6
  br label %.critedge1231

.critedge1229:                                    ; preds = %1740, %.critedge1229.thread
  %.pn951.pn.pn.pn1432 = phi { ptr, i32 } [ %1733, %.critedge1229.thread ], [ %.pn951, %1740 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %276) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %276) #6
  br label %.critedge1231

.critedge1231:                                    ; preds = %.critedge1228, %.critedge1228.thread, %.critedge1229
  %.pn951.pn.pn.pn1431 = phi { ptr, i32 } [ %.pn951.pn.pn.pn1432, %.critedge1229 ], [ %.pn951.pn1419, %.critedge1228 ], [ %1734, %.critedge1228.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %274) #6
  br label %1741

1741:                                             ; preds = %.critedge1231, %1731
  %.pn951.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn951.pn.pn.pn1431, %.critedge1231 ], [ %1732, %1731 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %275) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %275) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %274) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %273) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #6
  br label %1742

1742:                                             ; preds = %1741, %1729
  %.pn951.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn951.pn.pn.pn.pn, %1741 ], [ %1730, %1729 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %271) #6
  br label %1743

1743:                                             ; preds = %1742, %1727
  %.pn951.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn951.pn.pn.pn.pn.pn, %1742 ], [ %1728, %1727 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %272) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %271) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %270) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %269) #6
  br label %1798

1744:                                             ; preds = %.critedge1219
  %1745 = landingpad { ptr, i32 }
          cleanup
  br label %1797

1746:                                             ; preds = %1720, %1706, %.critedge1226, %1682
  %1747 = landingpad { ptr, i32 }
          cleanup
  br label %1796

1748:                                             ; preds = %1684
  %1749 = landingpad { ptr, i32 }
          cleanup
  br label %1764

1750:                                             ; preds = %1685
  %1751 = landingpad { ptr, i32 }
          cleanup
  br label %1763

1752:                                             ; preds = %1686
  %1753 = landingpad { ptr, i32 }
          cleanup
  br label %1762

.critedge1234.thread:                             ; preds = %1689
  %1754 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1234

.critedge1233.thread:                             ; preds = %1690
  %1755 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %290) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %290) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %289) #6
  br label %.critedge1236

.thread1433:                                      ; preds = %1691
  %1756 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1233

1757:                                             ; preds = %1692
  %1758 = landingpad { ptr, i32 }
          cleanup
  br label %1761

1759:                                             ; preds = %1693
  %1760 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %281) #6
  br label %1761

1761:                                             ; preds = %1757, %1759
  %.pn959 = phi { ptr, i32 } [ %1760, %1759 ], [ %1758, %1757 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #6
  br i1 %1688, label %.critedge1234, label %.critedge1233

.critedge1233:                                    ; preds = %1761, %.thread1433
  %.pn959.pn1437 = phi { ptr, i32 } [ %1756, %.thread1433 ], [ %.pn959, %1761 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %289) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %290) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %290) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %289) #6
  br label %.critedge1236

.critedge1234:                                    ; preds = %1761, %.critedge1234.thread
  %.pn959.pn.pn.pn1450 = phi { ptr, i32 } [ %1754, %.critedge1234.thread ], [ %.pn959, %1761 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %288) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %288) #6
  br label %.critedge1236

.critedge1236:                                    ; preds = %.critedge1233, %.critedge1233.thread, %.critedge1234
  %.pn959.pn.pn.pn1449 = phi { ptr, i32 } [ %.pn959.pn.pn.pn1450, %.critedge1234 ], [ %.pn959.pn1437, %.critedge1233 ], [ %1755, %.critedge1233.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %286) #6
  br label %1762

1762:                                             ; preds = %.critedge1236, %1752
  %.pn959.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn959.pn.pn.pn1449, %.critedge1236 ], [ %1753, %1752 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %287) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %287) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %286) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %285) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %282) #6
  br label %1763

1763:                                             ; preds = %1762, %1750
  %.pn959.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn959.pn.pn.pn.pn, %1762 ], [ %1751, %1750 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %283) #6
  br label %1764

1764:                                             ; preds = %1763, %1748
  %.pn959.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn959.pn.pn.pn.pn.pn, %1763 ], [ %1749, %1748 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %284) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %284) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %283) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %282) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %281) #6
  br label %1796

1765:                                             ; preds = %1699
  %1766 = landingpad { ptr, i32 }
          cleanup
  br label %1781

1767:                                             ; preds = %1700
  %1768 = landingpad { ptr, i32 }
          cleanup
  br label %1780

1769:                                             ; preds = %1701
  %1770 = landingpad { ptr, i32 }
          cleanup
  br label %1779

1771:                                             ; preds = %1702
  %1772 = landingpad { ptr, i32 }
          cleanup
  br label %1778

1773:                                             ; preds = %1703
  %1774 = landingpad { ptr, i32 }
          cleanup
  br label %1777

1775:                                             ; preds = %1704
  %1776 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %291) #6
  br label %1777

1777:                                             ; preds = %1775, %1773
  %.pn967 = phi { ptr, i32 } [ %1776, %1775 ], [ %1774, %1773 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %292) #6
  br label %1778

1778:                                             ; preds = %1777, %1771
  %.pn967.pn = phi { ptr, i32 } [ %.pn967, %1777 ], [ %1772, %1771 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %293) #6
  br label %1779

1779:                                             ; preds = %1778, %1769
  %.pn967.pn.pn = phi { ptr, i32 } [ %.pn967.pn, %1778 ], [ %1770, %1769 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %294) #6
  br label %1780

1780:                                             ; preds = %1779, %1767
  %.pn967.pn.pn.pn = phi { ptr, i32 } [ %.pn967.pn.pn, %1779 ], [ %1768, %1767 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %295) #6
  br label %1781

1781:                                             ; preds = %1780, %1765
  %.pn967.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn967.pn.pn.pn, %1780 ], [ %1766, %1765 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %296) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %296) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %295) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %294) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %293) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %292) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %291) #6
  br label %1796

1782:                                             ; preds = %1708
  %1783 = landingpad { ptr, i32 }
          cleanup
  br label %1792

1784:                                             ; preds = %1711, %1709
  %1785 = landingpad { ptr, i32 }
          cleanup
  br label %1791

1786:                                             ; preds = %1713
  %1787 = landingpad { ptr, i32 }
          cleanup
  br label %1790

1788:                                             ; preds = %1718, %1716, %1714
  %1789 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %299) #6
  br label %1790

1790:                                             ; preds = %1788, %1786
  %.pn973 = phi { ptr, i32 } [ %1789, %1788 ], [ %1787, %1786 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %299) #6
  br label %1791

1791:                                             ; preds = %1790, %1784
  %.pn973.pn = phi { ptr, i32 } [ %.pn973, %1790 ], [ %1785, %1784 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #6
  br label %1792

1792:                                             ; preds = %1791, %1782
  %.pn973.pn.pn = phi { ptr, i32 } [ %.pn973.pn, %1791 ], [ %1783, %1782 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %298) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %297) #6
  br label %1796

1793:                                             ; preds = %1720, %1695
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %280) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %280) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %279) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %279) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %267) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %266) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %266) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %265) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %265) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %263) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %263) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %262) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %261) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %300) #6
  store i32 32, ptr %300, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %301) #6
  store i32 32, ptr %301, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %302) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %303) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %303) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %303)
          to label %1794 unwind label %1802

1794:                                             ; preds = %1793
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %303) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %303) #6
  %1795 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %302) #6
  %.not9841546 = icmp ult i64 %1795, 4
  br i1 %.not9841546, label %._crit_edge1550, label %.lr.ph1549

._crit_edge1550:                                  ; preds = %.lr.ph1549, %1794
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %304) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %304) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %305) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %305)
          to label %1816 unwind label %1881

1796:                                             ; preds = %1792, %1781, %1764, %1746
  %.pn977 = phi { ptr, i32 } [ %1747, %1746 ], [ %.pn973.pn.pn, %1792 ], [ %.pn967.pn.pn.pn.pn, %1781 ], [ %.pn959.pn.pn.pn.pn.pn.pn, %1764 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %280) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %280) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %279) #6
  br label %1797

1797:                                             ; preds = %1796, %1744
  %.pn977.pn = phi { ptr, i32 } [ %.pn977, %1796 ], [ %1745, %1744 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %279) #6
  br label %1798

1798:                                             ; preds = %1797, %1743, %1725
  %.pn977.pn.pn = phi { ptr, i32 } [ %.pn977.pn, %1797 ], [ %.pn951.pn.pn.pn.pn.pn.pn, %1743 ], [ %1726, %1725 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #6
  br label %1799

1799:                                             ; preds = %1798, %1723
  %.pn977.pn.pn.pn = phi { ptr, i32 } [ %.pn977.pn.pn, %1798 ], [ %1724, %1723 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %267) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %266) #6
  br label %1800

1800:                                             ; preds = %1799, %1721
  %.pn977.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn977.pn.pn.pn, %1799 ], [ %1722, %1721 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %266) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %265) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %265) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %263) #6
  br label %1801

1801:                                             ; preds = %1800, %1639
  %.pn977.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn977.pn.pn.pn.pn, %1800 ], [ %1640, %1639 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %263) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %262) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %261) #6
  br label %2108

1802:                                             ; preds = %1793
  %1803 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %303) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %303) #6
  br label %2014

.lr.ph1549:                                       ; preds = %1794, %.lr.ph1549
  %1804 = phi i64 [ %1814, %.lr.ph1549 ], [ 4, %1794 ]
  %.02641547 = phi i64 [ %1804, %.lr.ph1549 ], [ 0, %1794 ]
  %1805 = lshr exact i64 %.02641547, 2
  %1806 = trunc i64 %1805 to i8
  %1807 = or disjoint i64 %.02641547, 2
  %1808 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %1807) #6
  store i8 %1806, ptr %1808, align 1, !tbaa !9
  %1809 = or disjoint i64 %.02641547, 1
  %1810 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %1809) #6
  store i8 %1806, ptr %1810, align 1, !tbaa !9
  %1811 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %.02641547) #6
  store i8 %1806, ptr %1811, align 1, !tbaa !9
  %1812 = or disjoint i64 %.02641547, 3
  %1813 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef %1812) #6
  store i8 -1, ptr %1813, align 1, !tbaa !9
  %1814 = add i64 %1804, 4
  %1815 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %302) #6
  %.not984 = icmp ugt i64 %1814, %1815
  br i1 %.not984, label %._crit_edge1550, label %.lr.ph1549, !llvm.loop !41

1816:                                             ; preds = %._crit_edge1550
  %1817 = getelementptr inbounds i8, ptr %305, i64 424
  store i32 1, ptr %1817, align 8, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %306) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %307) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %306, ptr noundef nonnull @.str.481, ptr noundef nonnull align 1 dereferenceable(1) %307)
          to label %1818 unwind label %1883

1818:                                             ; preds = %1816
  %1819 = getelementptr inbounds i8, ptr %305, i64 192
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %307) #6
  %1820 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %306, i64 noundef 1)
  store i8 0, ptr %1820, align 1, !tbaa !9
  %1821 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %306, i64 noundef 0)
  store i8 0, ptr %1821, align 1, !tbaa !9
  %1822 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  %1823 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  %1824 = trunc i64 %1823 to i32
  %1825 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %1819, ptr noundef nonnull @.str.482, ptr noundef %1822, i32 noundef %1824)
          to label %1826 unwind label %1885

1826:                                             ; preds = %1818
  %1827 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %302, i64 noundef 0) #6
  %1828 = load i32, ptr %300, align 4, !tbaa !5
  %1829 = load i32, ptr %301, align 4, !tbaa !5
  %1830 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %304, ptr noundef nonnull %1827, i32 noundef %1828, i32 noundef %1829, ptr noundef nonnull align 8 dereferenceable(508) %305)
          to label %1831 unwind label %1885

1831:                                             ; preds = %1826
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %308) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %309) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %310) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %311) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %311) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %310, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %311)
          to label %1832 unwind label %1887

1832:                                             ; preds = %1831
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %309, ptr noundef nonnull align 8 dereferenceable(32) %310, ptr noundef nonnull @.str.499)
          to label %1833 unwind label %1889

1833:                                             ; preds = %1832
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %312) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %313) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %314) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %314) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %313, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %314)
          to label %1834 unwind label %1891

1834:                                             ; preds = %1833
  %1835 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %313) #6
  br i1 %1835, label %1836, label %1837

1836:                                             ; preds = %1834
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %315) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %315) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %312, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %315)
          to label %1839 unwind label %.critedge1253.thread

1837:                                             ; preds = %1834
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %316) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %317) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %317) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %316, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %317)
          to label %1838 unwind label %.critedge1252.thread

1838:                                             ; preds = %1837
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %312, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %316)
          to label %1839 unwind label %.thread1451

1839:                                             ; preds = %1838, %1836
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %308, ptr noundef nonnull align 8 dereferenceable(32) %309, ptr noundef nonnull align 8 dereferenceable(32) %312)
          to label %1840 unwind label %1896

1840:                                             ; preds = %1839
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1830, ptr noundef nonnull align 8 dereferenceable(32) %308)
          to label %1841 unwind label %1898

1841:                                             ; preds = %1840
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %308) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %312) #6
  br i1 %1835, label %.critedge1271, label %.critedge1238

.critedge1238:                                    ; preds = %1841
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %316) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %317) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %317) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %316) #6
  br label %.critedge1243

.critedge1271:                                    ; preds = %1841
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %315) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %315) #6
  br label %.critedge1243

.critedge1243:                                    ; preds = %.critedge1238, %.critedge1271
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %313) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %314) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %314) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %313) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %312) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %309) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %310) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %311) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %311) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %310) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %309) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %308) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %318) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %318)
          to label %1842 unwind label %1904

1842:                                             ; preds = %.critedge1243
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %319) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %319) #6
  %1843 = invoke noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %319, ptr noundef nonnull align 4 dereferenceable(4) %300, ptr noundef nonnull align 4 dereferenceable(4) %301, ptr noundef nonnull align 8 dereferenceable(508) %318, ptr noundef nonnull align 8 dereferenceable(24) %304)
          to label %1844 unwind label %1906

1844:                                             ; preds = %1842
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %320) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %321) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %322) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %323) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %323) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %322, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %323)
          to label %1845 unwind label %1908

1845:                                             ; preds = %1844
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %321, ptr noundef nonnull align 8 dereferenceable(32) %322, ptr noundef nonnull @.str.500)
          to label %1846 unwind label %1910

1846:                                             ; preds = %1845
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %324) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %325) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %326) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %326) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %325, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %326)
          to label %1847 unwind label %1912

1847:                                             ; preds = %1846
  %1848 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %325) #6
  br i1 %1848, label %1849, label %1850

1849:                                             ; preds = %1847
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %327) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %324, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %327)
          to label %1852 unwind label %.critedge1258.thread

1850:                                             ; preds = %1847
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %328) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %329) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %329) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %328, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %329)
          to label %1851 unwind label %.critedge1257.thread

1851:                                             ; preds = %1850
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %324, ptr noundef nonnull @.str.3, ptr noundef nonnull align 8 dereferenceable(32) %328)
          to label %1852 unwind label %.thread1469

1852:                                             ; preds = %1851, %1849
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %320, ptr noundef nonnull align 8 dereferenceable(32) %321, ptr noundef nonnull align 8 dereferenceable(32) %324)
          to label %1853 unwind label %1917

1853:                                             ; preds = %1852
  invoke void @_Z16assertNoPNGErrorjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %1843, ptr noundef nonnull align 8 dereferenceable(32) %320)
          to label %1854 unwind label %1919

1854:                                             ; preds = %1853
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %320) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %324) #6
  br i1 %1848, label %.critedge1272, label %.critedge1245

.critedge1245:                                    ; preds = %1854
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %328) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %329) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %329) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %328) #6
  br label %.critedge1250

.critedge1272:                                    ; preds = %1854
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %327) #6
  br label %.critedge1250

.critedge1250:                                    ; preds = %.critedge1245, %.critedge1272
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %325) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %326) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %326) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %325) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %324) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %321) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %323) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %323) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %322) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %321) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %320) #6
  invoke void @_Z27assertColorProfileDataEqualRKN7lodepng5StateES2_(ptr noundef nonnull align 8 dereferenceable(508) %305, ptr noundef nonnull align 8 dereferenceable(508) %318)
          to label %1855 unwind label %1906

1855:                                             ; preds = %.critedge1250
  %1856 = getelementptr inbounds i8, ptr %318, i64 208
  %1857 = load i32, ptr %1856, align 8, !tbaa !39
  %1858 = icmp eq i32 %1857, 0
  br i1 %1858, label %1859, label %1953

1859:                                             ; preds = %1855
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %330) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %331) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %332) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %333) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %334) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %335) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %335) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %334, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %335)
          to label %1860 unwind label %1925

1860:                                             ; preds = %1859
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %333, ptr noundef nonnull align 8 dereferenceable(32) %334, ptr noundef nonnull @.str.501)
          to label %1861 unwind label %1927

1861:                                             ; preds = %1860
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %332, ptr noundef nonnull align 8 dereferenceable(32) %333, ptr noundef nonnull @.str.3)
          to label %1862 unwind label %1929

1862:                                             ; preds = %1861
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %331, ptr noundef nonnull align 8 dereferenceable(32) %332, ptr noundef nonnull @.str.323)
          to label %1863 unwind label %1931

1863:                                             ; preds = %1862
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %330, ptr noundef nonnull align 8 dereferenceable(32) %331, ptr noundef nonnull @.str.266)
          to label %1864 unwind label %1933

1864:                                             ; preds = %1863
  %1865 = 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) %330)
          to label %1866 unwind label %1935

1866:                                             ; preds = %1864
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %330) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %331) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %332) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %333) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %334) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %335) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %335) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %334) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %333) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %332) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %331) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %330) #6
  %1867 = 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.267)
          to label %1868 unwind label %1906

1868:                                             ; preds = %1866
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %336) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %337) #6
  store i32 0, ptr %337, align 4, !tbaa !40
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %336, ptr noundef nonnull align 4 dereferenceable(4) %337)
          to label %1869 unwind label %1942

1869:                                             ; preds = %1868
  %1870 = 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) %1867, ptr noundef nonnull align 8 dereferenceable(32) %336)
          to label %1871 unwind label %1944

1871:                                             ; preds = %1869
  %1872 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1870, ptr noundef nonnull @.str.20)
          to label %1873 unwind label %1944

1873:                                             ; preds = %1871
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %338) #6
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %338, ptr noundef nonnull align 4 dereferenceable(4) %1856)
          to label %1874 unwind label %1946

1874:                                             ; preds = %1873
  %1875 = 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) %1872, ptr noundef nonnull align 8 dereferenceable(32) %338)
          to label %1876 unwind label %1948

1876:                                             ; preds = %1874
  %1877 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1875, ptr noundef nonnull @.str.21)
          to label %1878 unwind label %1948

1878:                                             ; preds = %1876
  %1879 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1877, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1880 unwind label %1948

1880:                                             ; preds = %1878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %338) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %338) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %336) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %337) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %336) #6
  invoke void @_Z4failv()
          to label %thread-pre-split unwind label %1906

1881:                                             ; preds = %._crit_edge1550
  %1882 = landingpad { ptr, i32 }
          cleanup
  br label %2013

1883:                                             ; preds = %1816
  %1884 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %307) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %307) #6
  br label %2012

1885:                                             ; preds = %1826, %1818
  %1886 = landingpad { ptr, i32 }
          cleanup
  br label %2011

1887:                                             ; preds = %1831
  %1888 = landingpad { ptr, i32 }
          cleanup
  br label %1903

1889:                                             ; preds = %1832
  %1890 = landingpad { ptr, i32 }
          cleanup
  br label %1902

1891:                                             ; preds = %1833
  %1892 = landingpad { ptr, i32 }
          cleanup
  br label %1901

.critedge1253.thread:                             ; preds = %1836
  %1893 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1253

.critedge1252.thread:                             ; preds = %1837
  %1894 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %317) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %317) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %316) #6
  br label %.critedge1255

.thread1451:                                      ; preds = %1838
  %1895 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1252

1896:                                             ; preds = %1839
  %1897 = landingpad { ptr, i32 }
          cleanup
  br label %1900

1898:                                             ; preds = %1840
  %1899 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %308) #6
  br label %1900

1900:                                             ; preds = %1896, %1898
  %.pn985 = phi { ptr, i32 } [ %1899, %1898 ], [ %1897, %1896 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %312) #6
  br i1 %1835, label %.critedge1253, label %.critedge1252

.critedge1252:                                    ; preds = %1900, %.thread1451
  %.pn985.pn1455 = phi { ptr, i32 } [ %1895, %.thread1451 ], [ %.pn985, %1900 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %316) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %317) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %317) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %316) #6
  br label %.critedge1255

.critedge1253:                                    ; preds = %1900, %.critedge1253.thread
  %.pn985.pn.pn.pn1468 = phi { ptr, i32 } [ %1893, %.critedge1253.thread ], [ %.pn985, %1900 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %315) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %315) #6
  br label %.critedge1255

.critedge1255:                                    ; preds = %.critedge1252, %.critedge1252.thread, %.critedge1253
  %.pn985.pn.pn.pn1467 = phi { ptr, i32 } [ %.pn985.pn.pn.pn1468, %.critedge1253 ], [ %.pn985.pn1455, %.critedge1252 ], [ %1894, %.critedge1252.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %313) #6
  br label %1901

1901:                                             ; preds = %.critedge1255, %1891
  %.pn985.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn985.pn.pn.pn1467, %.critedge1255 ], [ %1892, %1891 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %314) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %314) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %313) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %312) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %309) #6
  br label %1902

1902:                                             ; preds = %1901, %1889
  %.pn985.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn985.pn.pn.pn.pn, %1901 ], [ %1890, %1889 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %310) #6
  br label %1903

1903:                                             ; preds = %1902, %1887
  %.pn985.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn985.pn.pn.pn.pn.pn, %1902 ], [ %1888, %1887 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %311) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %311) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %310) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %309) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %308) #6
  br label %2011

1904:                                             ; preds = %.critedge1243
  %1905 = landingpad { ptr, i32 }
          cleanup
  br label %2010

1906:                                             ; preds = %1977, %1963, %1880, %1866, %.critedge1250, %1842
  %1907 = landingpad { ptr, i32 }
          cleanup
  br label %2009

1908:                                             ; preds = %1844
  %1909 = landingpad { ptr, i32 }
          cleanup
  br label %1924

1910:                                             ; preds = %1845
  %1911 = landingpad { ptr, i32 }
          cleanup
  br label %1923

1912:                                             ; preds = %1846
  %1913 = landingpad { ptr, i32 }
          cleanup
  br label %1922

.critedge1258.thread:                             ; preds = %1849
  %1914 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1258

.critedge1257.thread:                             ; preds = %1850
  %1915 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %329) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %329) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %328) #6
  br label %.critedge1260

.thread1469:                                      ; preds = %1851
  %1916 = landingpad { ptr, i32 }
          cleanup
  br label %.critedge1257

1917:                                             ; preds = %1852
  %1918 = landingpad { ptr, i32 }
          cleanup
  br label %1921

1919:                                             ; preds = %1853
  %1920 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %320) #6
  br label %1921

1921:                                             ; preds = %1917, %1919
  %.pn993 = phi { ptr, i32 } [ %1920, %1919 ], [ %1918, %1917 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %324) #6
  br i1 %1848, label %.critedge1258, label %.critedge1257

.critedge1257:                                    ; preds = %1921, %.thread1469
  %.pn993.pn1473 = phi { ptr, i32 } [ %1916, %.thread1469 ], [ %.pn993, %1921 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %328) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %329) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %329) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %328) #6
  br label %.critedge1260

.critedge1258:                                    ; preds = %1921, %.critedge1258.thread
  %.pn993.pn.pn.pn1486 = phi { ptr, i32 } [ %1914, %.critedge1258.thread ], [ %.pn993, %1921 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %327) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %327) #6
  br label %.critedge1260

.critedge1260:                                    ; preds = %.critedge1257, %.critedge1257.thread, %.critedge1258
  %.pn993.pn.pn.pn1485 = phi { ptr, i32 } [ %.pn993.pn.pn.pn1486, %.critedge1258 ], [ %.pn993.pn1473, %.critedge1257 ], [ %1915, %.critedge1257.thread ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %325) #6
  br label %1922

1922:                                             ; preds = %.critedge1260, %1912
  %.pn993.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn993.pn.pn.pn1485, %.critedge1260 ], [ %1913, %1912 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %326) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %326) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %325) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %324) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %321) #6
  br label %1923

1923:                                             ; preds = %1922, %1910
  %.pn993.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn993.pn.pn.pn.pn, %1922 ], [ %1911, %1910 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #6
  br label %1924

1924:                                             ; preds = %1923, %1908
  %.pn993.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn993.pn.pn.pn.pn.pn, %1923 ], [ %1909, %1908 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %323) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %323) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %322) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %321) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %320) #6
  br label %2009

1925:                                             ; preds = %1859
  %1926 = landingpad { ptr, i32 }
          cleanup
  br label %1941

1927:                                             ; preds = %1860
  %1928 = landingpad { ptr, i32 }
          cleanup
  br label %1940

1929:                                             ; preds = %1861
  %1930 = landingpad { ptr, i32 }
          cleanup
  br label %1939

1931:                                             ; preds = %1862
  %1932 = landingpad { ptr, i32 }
          cleanup
  br label %1938

1933:                                             ; preds = %1863
  %1934 = landingpad { ptr, i32 }
          cleanup
  br label %1937

1935:                                             ; preds = %1864
  %1936 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %330) #6
  br label %1937

1937:                                             ; preds = %1935, %1933
  %.pn1001 = phi { ptr, i32 } [ %1936, %1935 ], [ %1934, %1933 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %331) #6
  br label %1938

1938:                                             ; preds = %1937, %1931
  %.pn1001.pn = phi { ptr, i32 } [ %.pn1001, %1937 ], [ %1932, %1931 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %332) #6
  br label %1939

1939:                                             ; preds = %1938, %1929
  %.pn1001.pn.pn = phi { ptr, i32 } [ %.pn1001.pn, %1938 ], [ %1930, %1929 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %333) #6
  br label %1940

1940:                                             ; preds = %1939, %1927
  %.pn1001.pn.pn.pn = phi { ptr, i32 } [ %.pn1001.pn.pn, %1939 ], [ %1928, %1927 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %334) #6
  br label %1941

1941:                                             ; preds = %1940, %1925
  %.pn1001.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1001.pn.pn.pn, %1940 ], [ %1926, %1925 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %335) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %335) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %334) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %333) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %332) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %331) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %330) #6
  br label %2009

1942:                                             ; preds = %1868
  %1943 = landingpad { ptr, i32 }
          cleanup
  br label %1952

1944:                                             ; preds = %1871, %1869
  %1945 = landingpad { ptr, i32 }
          cleanup
  br label %1951

1946:                                             ; preds = %1873
  %1947 = landingpad { ptr, i32 }
          cleanup
  br label %1950

1948:                                             ; preds = %1878, %1876, %1874
  %1949 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %338) #6
  br label %1950

1950:                                             ; preds = %1948, %1946
  %.pn1007 = phi { ptr, i32 } [ %1949, %1948 ], [ %1947, %1946 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %338) #6
  br label %1951

1951:                                             ; preds = %1950, %1944
  %.pn1007.pn = phi { ptr, i32 } [ %.pn1007, %1950 ], [ %1945, %1944 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %336) #6
  br label %1952

1952:                                             ; preds = %1951, %1942
  %.pn1007.pn.pn = phi { ptr, i32 } [ %.pn1007.pn, %1951 ], [ %1943, %1942 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %337) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %336) #6
  br label %2009

thread-pre-split:                                 ; preds = %1880
  %.pr = load i32, ptr %1856, align 8, !tbaa !39
  br label %1953

1953:                                             ; preds = %thread-pre-split, %1855
  %1954 = phi i32 [ %.pr, %thread-pre-split ], [ %1857, %1855 ]
  %1955 = icmp eq i32 %1954, 4
  br i1 %1955, label %1956, label %2006

1956:                                             ; preds = %1953
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %339) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %340) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %341) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %342) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %343) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %344) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %344) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %344)
          to label %1957 unwind label %1978

1957:                                             ; preds = %1956
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %342, ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.502)
          to label %1958 unwind label %1980

1958:                                             ; preds = %1957
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %341, ptr noundef nonnull align 8 dereferenceable(32) %342, ptr noundef nonnull @.str.3)
          to label %1959 unwind label %1982

1959:                                             ; preds = %1958
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %340, ptr noundef nonnull align 8 dereferenceable(32) %341, ptr noundef nonnull @.str.323)
          to label %1960 unwind label %1984

1960:                                             ; preds = %1959
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %339, ptr noundef nonnull align 8 dereferenceable(32) %340, ptr noundef nonnull @.str.266)
          to label %1961 unwind label %1986

1961:                                             ; preds = %1960
  %1962 = 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) %339)
          to label %1963 unwind label %1988

1963:                                             ; preds = %1961
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %339) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %340) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %341) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %342) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %343) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %344) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %344) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %343) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %342) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %341) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %340) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %339) #6
  %1964 = 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.267)
          to label %1965 unwind label %1906

1965:                                             ; preds = %1963
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %345) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %346) #6
  store i32 4, ptr %346, align 4, !tbaa !40
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %345, ptr noundef nonnull align 4 dereferenceable(4) %346)
          to label %1966 unwind label %1995

1966:                                             ; preds = %1965
  %1967 = 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) %1964, ptr noundef nonnull align 8 dereferenceable(32) %345)
          to label %1968 unwind label %1997

1968:                                             ; preds = %1966
  %1969 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1967, ptr noundef nonnull @.str.20)
          to label %1970 unwind label %1997

1970:                                             ; preds = %1968
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %347) #6
  invoke void @_Z8valtostrI16LodePNGColorTypeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %347, ptr noundef nonnull align 4 dereferenceable(4) %1856)
          to label %1971 unwind label %1999

1971:                                             ; preds = %1970
  %1972 = 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) %1969, ptr noundef nonnull align 8 dereferenceable(32) %347)
          to label %1973 unwind label %2001

1973:                                             ; preds = %1971
  %1974 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1972, ptr noundef nonnull @.str.21)
          to label %1975 unwind label %2001

1975:                                             ; preds = %1973
  %1976 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1974, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1977 unwind label %2001

1977:                                             ; preds = %1975
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %347) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %347) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %345) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %346) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %345) #6
  invoke void @_Z4failv()
          to label %2006 unwind label %1906

1978:                                             ; preds = %1956
  %1979 = landingpad { ptr, i32 }
          cleanup
  br label %1994

1980:                                             ; preds = %1957
  %1981 = landingpad { ptr, i32 }
          cleanup
  br label %1993

1982:                                             ; preds = %1958
  %1983 = landingpad { ptr, i32 }
          cleanup
  br label %1992

1984:                                             ; preds = %1959
  %1985 = landingpad { ptr, i32 }
          cleanup
  br label %1991

1986:                                             ; preds = %1960
  %1987 = landingpad { ptr, i32 }
          cleanup
  br label %1990

1988:                                             ; preds = %1961
  %1989 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %339) #6
  br label %1990

1990:                                             ; preds = %1988, %1986
  %.pn1011 = phi { ptr, i32 } [ %1989, %1988 ], [ %1987, %1986 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %340) #6
  br label %1991

1991:                                             ; preds = %1990, %1984
  %.pn1011.pn = phi { ptr, i32 } [ %.pn1011, %1990 ], [ %1985, %1984 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %341) #6
  br label %1992

1992:                                             ; preds = %1991, %1982
  %.pn1011.pn.pn = phi { ptr, i32 } [ %.pn1011.pn, %1991 ], [ %1983, %1982 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %342) #6
  br label %1993

1993:                                             ; preds = %1992, %1980
  %.pn1011.pn.pn.pn = phi { ptr, i32 } [ %.pn1011.pn.pn, %1992 ], [ %1981, %1980 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %343) #6
  br label %1994

1994:                                             ; preds = %1993, %1978
  %.pn1011.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1011.pn.pn.pn, %1993 ], [ %1979, %1978 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %344) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %344) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %343) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %342) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %341) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %340) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %339) #6
  br label %2009

1995:                                             ; preds = %1965
  %1996 = landingpad { ptr, i32 }
          cleanup
  br label %2005

1997:                                             ; preds = %1968, %1966
  %1998 = landingpad { ptr, i32 }
          cleanup
  br label %2004

1999:                                             ; preds = %1970
  %2000 = landingpad { ptr, i32 }
          cleanup
  br label %2003

2001:                                             ; preds = %1975, %1973, %1971
  %2002 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %347) #6
  br label %2003

2003:                                             ; preds = %2001, %1999
  %.pn1017 = phi { ptr, i32 } [ %2002, %2001 ], [ %2000, %1999 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %347) #6
  br label %2004

2004:                                             ; preds = %2003, %1997
  %.pn1017.pn = phi { ptr, i32 } [ %.pn1017, %2003 ], [ %1998, %1997 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %345) #6
  br label %2005

2005:                                             ; preds = %2004, %1995
  %.pn1017.pn.pn = phi { ptr, i32 } [ %.pn1017.pn, %2004 ], [ %1996, %1995 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %346) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %345) #6
  br label %2009

2006:                                             ; preds = %1977, %1953
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %319) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %319) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %318) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %318) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %306) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %305) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %305) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %304) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %304) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %302) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %302) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %301) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %300) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %348) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %349) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %350) #6
  call void @_ZNSaIhEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %350) #6
  invoke void @_ZNSt6vectorIhSaIhEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef 4096, ptr noundef nonnull align 1 dereferenceable(1) %350)
          to label %2007 unwind label %2015

2007:                                             ; preds = %2006
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %350) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %350) #6
  %2008 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %349) #6
  %.not10281551 = icmp ult i64 %2008, 4
  br i1 %.not10281551, label %._crit_edge1555, label %.lr.ph1554

._crit_edge1555:                                  ; preds = %.lr.ph1554, %2007
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %351) #6
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #6
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %352) #6
  invoke void @_ZN7lodepng5StateC1Ev(ptr noundef nonnull align 8 dereferenceable(508) %352)
          to label %2032 unwind label %2069

2009:                                             ; preds = %2005, %1994, %1952, %1941, %1924, %1906
  %.pn1021 = phi { ptr, i32 } [ %1907, %1906 ], [ %.pn1017.pn.pn, %2005 ], [ %.pn1011.pn.pn.pn.pn, %1994 ], [ %.pn1007.pn.pn, %1952 ], [ %.pn1001.pn.pn.pn.pn, %1941 ], [ %.pn993.pn.pn.pn.pn.pn.pn, %1924 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %319) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %319) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %318) #6
  br label %2010

2010:                                             ; preds = %2009, %1904
  %.pn1021.pn = phi { ptr, i32 } [ %.pn1021, %2009 ], [ %1905, %1904 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %318) #6
  br label %2011

2011:                                             ; preds = %2010, %1903, %1885
  %.pn1021.pn.pn = phi { ptr, i32 } [ %.pn1021.pn, %2010 ], [ %.pn985.pn.pn.pn.pn.pn.pn, %1903 ], [ %1886, %1885 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %306) #6
  br label %2012

2012:                                             ; preds = %2011, %1883
  %.pn1021.pn.pn.pn = phi { ptr, i32 } [ %.pn1021.pn.pn, %2011 ], [ %1884, %1883 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %306) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %305) #6
  br label %2013

2013:                                             ; preds = %2012, %1881
  %.pn1021.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1021.pn.pn.pn, %2012 ], [ %1882, %1881 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %305) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %304) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %304) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %302) #6
  br label %2014

2014:                                             ; preds = %2013, %1802
  %.pn1021.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1021.pn.pn.pn.pn, %2013 ], [ %1803, %1802 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %302) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %301) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %300) #6
  br label %2108

2015:                                             ; preds = %2006
  %2016 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIhED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %350) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %350) #6
  br label %2107

.lr.ph1554:                                       ; preds = %2007, %.lr.ph1554
  %2017 = phi i64 [ %2030, %.lr.ph1554 ], [ 4, %2007 ]
  %.01552 = phi i64 [ %2017, %.lr.ph1554 ], [ 0, %2007 ]
  %2018 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %.01552) #6
  store i8 -1, ptr %2018, align 1, !tbaa !9
  %2019 = lshr exact i64 %.01552, 2
  %2020 = urem i64 %2019, 3
  %2021 = getelementptr inbounds [3 x i32], ptr @__const._Z16testColorProfilev.colors.503, i64 0, i64 %2020
  %2022 = load i32, ptr %2021, align 4, !tbaa !5
  %2023 = trunc i32 %2022 to i8
  %2024 = or disjoint i64 %.01552, 3
  %2025 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %2024) #6
  store i8 %2023, ptr %2025, align 1, !tbaa !9
  %2026 = or disjoint i64 %.01552, 2
  %2027 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %2026) #6
  store i8 %2023, ptr %2027, align 1, !tbaa !9
  %2028 = or disjoint i64 %.01552, 1
  %2029 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %2028) #6
  store i8 %2023, ptr %2029, align 1, !tbaa !9
  %2030 = add i64 %2017, 4
  %2031 = call noundef i64 @_ZNKSt6vectorIhSaIhEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %349) #6
  %.not1028 = icmp ugt i64 %2030, %2031
  br i1 %.not1028, label %._crit_edge1555, label %.lr.ph1554, !llvm.loop !42

2032:                                             ; preds = %._crit_edge1555
  %2033 = getelementptr inbounds i8, ptr %352, i64 424
  store i32 1, ptr %2033, align 8, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %353) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %354) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %354) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %353, ptr noundef nonnull @.str.489, ptr noundef nonnull align 1 dereferenceable(1) %354)
          to label %2034 unwind label %2071

2034:                                             ; preds = %2032
  %2035 = getelementptr inbounds i8, ptr %352, i64 192
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %354) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %354) #6
  %2036 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %353, i64 noundef 1)
  store i8 0, ptr %2036, align 1, !tbaa !9
  %2037 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %353, i64 noundef 0)
  store i8 0, ptr %2037, align 1, !tbaa !9
  %2038 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %353) #6
  %2039 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %353) #6
  %2040 = trunc i64 %2039 to i32
  %2041 = invoke noundef i32 @_Z15lodepng_set_iccP11LodePNGInfoPKcPKhj(ptr noundef nonnull %2035, ptr noundef nonnull @.str.482, ptr noundef %2038, i32 noundef %2040)
          to label %2042 unwind label %2073

2042:                                             ; preds = %2034
  %2043 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef 0) #6
  %2044 = invoke noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %351, ptr noundef nonnull %2043, i32 noundef 32, i32 noundef 32, ptr noundef nonnull align 8 dereferenceable(508) %352)
          to label %2045 unwind label %2073

2045:                                             ; preds = %2042
  store i32 %2044, ptr %348, align 4, !tbaa !5
  %2046 = icmp eq i32 %2044, 0
  br i1 %2046, label %2047, label %2103

2047:                                             ; preds = %2045
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %355) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %356) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %357) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %358) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %359) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %360) #6
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %360) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %359, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %360)
          to label %2048 unwind label %2075

2048:                                             ; preds = %2047
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %358, ptr noundef nonnull align 8 dereferenceable(32) %359, ptr noundef nonnull @.str.504)
          to label %2049 unwind label %2077

2049:                                             ; preds = %2048
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %357, ptr noundef nonnull align 8 dereferenceable(32) %358, ptr noundef nonnull @.str.3)
          to label %2050 unwind label %2079

2050:                                             ; preds = %2049
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %356, ptr noundef nonnull align 8 dereferenceable(32) %357, ptr noundef nonnull @.str.335)
          to label %2051 unwind label %2081

2051:                                             ; preds = %2050
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %355, ptr noundef nonnull align 8 dereferenceable(32) %356, ptr noundef nonnull @.str.266)
          to label %2052 unwind label %2083

2052:                                             ; preds = %2051
  %2053 = 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) %355)
          to label %2054 unwind label %2085

2054:                                             ; preds = %2052
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %355) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %358) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %359) #6
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %360) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %360) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %359) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %358) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %357) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %356) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %355) #6
  %2055 = 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.267)
          to label %2056 unwind label %2073

2056:                                             ; preds = %2054
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %361) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %362) #6
  store i32 0, ptr %362, align 4, !tbaa !5
  invoke void @_Z8valtostrIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %361, ptr noundef nonnull align 4 dereferenceable(4) %362)
          to label %2057 unwind label %2092

2057:                                             ; preds = %2056
  %2058 = 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) %2055, ptr noundef nonnull align 8 dereferenceable(32) %361)
          to label %2059 unwind label %2094

2059:                                             ; preds = %2057
  %2060 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2058, ptr noundef nonnull @.str.20)
          to label %2061 unwind label %2094

2061:                                             ; preds = %2059
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %363) #6
  invoke void @_Z8valtostrIjENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %363, ptr noundef nonnull align 4 dereferenceable(4) %348)
          to label %2062 unwind label %2096

2062:                                             ; preds = %2061
  %2063 = 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) %2060, ptr noundef nonnull align 8 dereferenceable(32) %363)
          to label %2064 unwind label %2098

2064:                                             ; preds = %2062
  %2065 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2063, ptr noundef nonnull @.str.21)
          to label %2066 unwind label %2098

2066:                                             ; preds = %2064
  %2067 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %2065, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %2068 unwind label %2098

2068:                                             ; preds = %2066
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %363) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %363) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %361) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %362) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %361) #6
  invoke void @_Z4failv()
          to label %2103 unwind label %2073

2069:                                             ; preds = %._crit_edge1555
  %2070 = landingpad { ptr, i32 }
          cleanup
  br label %2106

2071:                                             ; preds = %2032
  %2072 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %354) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %354) #6
  br label %2105

2073:                                             ; preds = %2068, %2054, %2042, %2034
  %2074 = landingpad { ptr, i32 }
          cleanup
  br label %2104

2075:                                             ; preds = %2047
  %2076 = landingpad { ptr, i32 }
          cleanup
  br label %2091

2077:                                             ; preds = %2048
  %2078 = landingpad { ptr, i32 }
          cleanup
  br label %2090

2079:                                             ; preds = %2049
  %2080 = landingpad { ptr, i32 }
          cleanup
  br label %2089

2081:                                             ; preds = %2050
  %2082 = landingpad { ptr, i32 }
          cleanup
  br label %2088

2083:                                             ; preds = %2051
  %2084 = landingpad { ptr, i32 }
          cleanup
  br label %2087

2085:                                             ; preds = %2052
  %2086 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %355) #6
  br label %2087

2087:                                             ; preds = %2085, %2083
  %.pn1029 = phi { ptr, i32 } [ %2086, %2085 ], [ %2084, %2083 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %356) #6
  br label %2088

2088:                                             ; preds = %2087, %2081
  %.pn1029.pn = phi { ptr, i32 } [ %.pn1029, %2087 ], [ %2082, %2081 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %357) #6
  br label %2089

2089:                                             ; preds = %2088, %2079
  %.pn1029.pn.pn = phi { ptr, i32 } [ %.pn1029.pn, %2088 ], [ %2080, %2079 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %358) #6
  br label %2090

2090:                                             ; preds = %2089, %2077
  %.pn1029.pn.pn.pn = phi { ptr, i32 } [ %.pn1029.pn.pn, %2089 ], [ %2078, %2077 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %359) #6
  br label %2091

2091:                                             ; preds = %2090, %2075
  %.pn1029.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1029.pn.pn.pn, %2090 ], [ %2076, %2075 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %360) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %360) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %359) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %358) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %357) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %356) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %355) #6
  br label %2104

2092:                                             ; preds = %2056
  %2093 = landingpad { ptr, i32 }
          cleanup
  br label %2102

2094:                                             ; preds = %2059, %2057
  %2095 = landingpad { ptr, i32 }
          cleanup
  br label %2101

2096:                                             ; preds = %2061
  %2097 = landingpad { ptr, i32 }
          cleanup
  br label %2100

2098:                                             ; preds = %2066, %2064, %2062
  %2099 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %363) #6
  br label %2100

2100:                                             ; preds = %2098, %2096
  %.pn1035 = phi { ptr, i32 } [ %2099, %2098 ], [ %2097, %2096 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %363) #6
  br label %2101

2101:                                             ; preds = %2100, %2094
  %.pn1035.pn = phi { ptr, i32 } [ %.pn1035, %2100 ], [ %2095, %2094 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %361) #6
  br label %2102

2102:                                             ; preds = %2101, %2092
  %.pn1035.pn.pn = phi { ptr, i32 } [ %.pn1035.pn, %2101 ], [ %2093, %2092 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %362) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %361) #6
  br label %2104

2103:                                             ; preds = %2068, %2045
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %353) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %352) #6
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %352) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %351) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %349) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %349) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %348) #6
  ret void

2104:                                             ; preds = %2102, %2091, %2073
  %.pn1039 = phi { ptr, i32 } [ %2074, %2073 ], [ %.pn1035.pn.pn, %2102 ], [ %.pn1029.pn.pn.pn.pn, %2091 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #6
  br label %2105

2105:                                             ; preds = %2104, %2071
  %.pn1039.pn = phi { ptr, i32 } [ %.pn1039, %2104 ], [ %2072, %2071 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %353) #6
  call void @_ZN7lodepng5StateD1Ev(ptr noundef nonnull align 8 dereferenceable(508) %352) #6
  br label %2106

2106:                                             ; preds = %2105, %2069
  %.pn1039.pn.pn = phi { ptr, i32 } [ %.pn1039.pn, %2105 ], [ %2070, %2069 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %352) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %351) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %351) #6
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %349) #6
  br label %2107

2107:                                             ; preds = %2106, %2015
  %.pn1039.pn.pn.pn = phi { ptr, i32 } [ %.pn1039.pn.pn, %2106 ], [ %2016, %2015 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %349) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %348) #6
  br label %2108

2108:                                             ; preds = %2107, %2014, %1801, %1638, %1311, %990, %680
  %.pn1111.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn1111.pn.pn.pn.pn.pn, %680 ], [ %.pn1093.pn.pn.pn.pn.pn, %990 ], [ %.pn1074.pn.pn.pn.pn.pn.pn, %1311 ], [ %.pn1055.pn.pn.pn.pn.pn.pn, %1638 ], [ %.pn1039.pn.pn.pn, %2107 ], [ %.pn1021.pn.pn.pn.pn.pn, %2014 ], [ %.pn977.pn.pn.pn.pn.pn, %1801 ]
  resume { ptr, i32 } %.pn1111.pn.pn.pn.pn.pn.pn
}

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass